{"version":3,"sources":["webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/formiojs/node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app-service.service.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.material.module.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/drag-event-bindings.ts","webpack:///./src/app/front/about-us/about-us.component.css","webpack:///./src/app/front/about-us/about-us.component.html","webpack:///./src/app/front/about-us/about-us.component.ts","webpack:///./src/app/front/blog/blog.component.css","webpack:///./src/app/front/blog/blog.component.html","webpack:///./src/app/front/blog/blog.component.ts","webpack:///./src/app/front/book-appointment/book-appointment.component.css","webpack:///./src/app/front/book-appointment/book-appointment.component.html","webpack:///./src/app/front/book-appointment/book-appointment.component.ts","webpack:///./src/app/front/book-freeappointment/book-freeappointment.component.css","webpack:///./src/app/front/book-freeappointment/book-freeappointment.component.html","webpack:///./src/app/front/book-freeappointment/book-freeappointment.component.ts","webpack:///./src/app/front/consultation-fees/consultation-fees.component.css","webpack:///./src/app/front/consultation-fees/consultation-fees.component.html","webpack:///./src/app/front/consultation-fees/consultation-fees.component.ts","webpack:///./src/app/front/contact-us/contact-us.component.css","webpack:///./src/app/front/contact-us/contact-us.component.html","webpack:///./src/app/front/contact-us/contact-us.component.ts","webpack:///./src/app/front/desclaimer/desclaimer.component.css","webpack:///./src/app/front/desclaimer/desclaimer.component.html","webpack:///./src/app/front/desclaimer/desclaimer.component.ts","webpack:///./src/app/front/doctor-list/doctor-list.component.css","webpack:///./src/app/front/doctor-list/doctor-list.component.html","webpack:///./src/app/front/doctor-list/doctor-list.component.ts","webpack:///./src/app/front/doctor-profile/doctor-profile.component.css","webpack:///./src/app/front/doctor-profile/doctor-profile.component.html","webpack:///./src/app/front/doctor-profile/doctor-profile.component.ts","webpack:///./src/app/front/dynamic-contnet/dynamic-contnet.component.css","webpack:///./src/app/front/dynamic-contnet/dynamic-contnet.component.html","webpack:///./src/app/front/dynamic-contnet/dynamic-contnet.component.ts","webpack:///./src/app/front/faq/faq.component.css","webpack:///./src/app/front/faq/faq.component.html","webpack:///./src/app/front/faq/faq.component.ts","webpack:///./src/app/front/front-routing.module.ts","webpack:///./src/app/front/front.material.module.ts","webpack:///./src/app/front/front.module.ts","webpack:///./src/app/front/health-service/health-service.component.css","webpack:///./src/app/front/health-service/health-service.component.html","webpack:///./src/app/front/health-service/health-service.component.ts","webpack:///./src/app/front/home-container/home-container.component.css","webpack:///./src/app/front/home-container/home-container.component.html","webpack:///./src/app/front/home-container/home-container.component.ts","webpack:///./src/app/front/home-footer/home-footer.component.css","webpack:///./src/app/front/home-footer/home-footer.component.html","webpack:///./src/app/front/home-footer/home-footer.component.ts","webpack:///./src/app/front/home-header/home-header.component.css","webpack:///./src/app/front/home-header/home-header.component.html","webpack:///./src/app/front/home-header/home-header.component.ts","webpack:///./src/app/front/home/home.component.css","webpack:///./src/app/front/home/home.component.html","webpack:///./src/app/front/home/home.component.ts","webpack:///./src/app/front/home/home.service.ts","webpack:///./src/app/front/lab-booking-list/lab-book-appointment-modal/lab-book-appointment-modal.component.css","webpack:///./src/app/front/lab-booking-list/lab-book-appointment-modal/lab-book-appointment-modal.component.html","webpack:///./src/app/front/lab-booking-list/lab-book-appointment-modal/lab-book-appointment-modal.component.ts","webpack:///./src/app/front/lab-booking-list/lab-booking-list.component.css","webpack:///./src/app/front/lab-booking-list/lab-booking-list.component.html","webpack:///./src/app/front/lab-booking-list/lab-booking-list.component.ts","webpack:///./src/app/front/lab-pharmacy-list/lab-pharmacy-list.component.css","webpack:///./src/app/front/lab-pharmacy-list/lab-pharmacy-list.component.html","webpack:///./src/app/front/lab-pharmacy-list/lab-pharmacy-list.component.ts","webpack:///./src/app/front/our-doctors/our-doctors.component.css","webpack:///./src/app/front/our-doctors/our-doctors.component.html","webpack:///./src/app/front/our-doctors/our-doctors.component.ts","webpack:///./src/app/front/our-speciality/our-speciality.component.css","webpack:///./src/app/front/our-speciality/our-speciality.component.html","webpack:///./src/app/front/our-speciality/our-speciality.component.ts","webpack:///./src/app/front/payment-failure/payment-failure.component.css","webpack:///./src/app/front/payment-failure/payment-failure.component.html","webpack:///./src/app/front/payment-failure/payment-failure.component.ts","webpack:///./src/app/front/payment-success/payment-success.component.css","webpack:///./src/app/front/payment-success/payment-success.component.html","webpack:///./src/app/front/payment-success/payment-success.component.ts","webpack:///./src/app/front/privacy-policy/privacy-policy.component.html","webpack:///./src/app/front/privacy-policy/privacy-policy.component.scss","webpack:///./src/app/front/privacy-policy/privacy-policy.component.ts","webpack:///./src/app/front/provider-fee-settings/provider-fee-settings.component.css","webpack:///./src/app/front/provider-fee-settings/provider-fee-settings.component.html","webpack:///./src/app/front/provider-fee-settings/provider-fee-settings.component.ts","webpack:///./src/app/front/provider-profile/provider-profile.component.html","webpack:///./src/app/front/provider-profile/provider-profile.component.scss","webpack:///./src/app/front/provider-profile/provider-profile.component.ts","webpack:///./src/app/front/providers/providers.component.css","webpack:///./src/app/front/providers/providers.component.html","webpack:///./src/app/front/providers/providers.component.ts","webpack:///./src/app/front/refund-policy/refund-and-cancellation/refund-and-cancellation.component.html","webpack:///./src/app/front/refund-policy/refund-and-cancellation/refund-and-cancellation.component.scss","webpack:///./src/app/front/refund-policy/refund-and-cancellation/refund-and-cancellation.component.ts","webpack:///./src/app/front/register/register.component.css","webpack:///./src/app/front/register/register.component.html","webpack:///./src/app/front/register/register.component.ts","webpack:///./src/app/front/register/register.model.ts","webpack:///./src/app/front/register/register.service.ts","webpack:///./src/app/front/reject-invitation/reject-invitation.component.css","webpack:///./src/app/front/reject-invitation/reject-invitation.component.html","webpack:///./src/app/front/reject-invitation/reject-invitation.component.ts","webpack:///./src/app/front/save-document/save-document.component.css","webpack:///./src/app/front/save-document/save-document.component.html","webpack:///./src/app/front/save-document/save-document.component.ts","webpack:///./src/app/front/terms-and-conditions/terms-and-conditions.component.html","webpack:///./src/app/front/terms-and-conditions/terms-and-conditions.component.scss","webpack:///./src/app/front/terms-and-conditions/terms-and-conditions.component.ts","webpack:///./src/app/front/terms-conditions/terms-conditions.component.css","webpack:///./src/app/front/terms-conditions/terms-conditions.component.html","webpack:///./src/app/front/terms-conditions/terms-conditions.component.ts","webpack:///./src/app/front/urgentcare-appointment/urgentcare-appointment.component.css","webpack:///./src/app/front/urgentcare-appointment/urgentcare-appointment.component.html","webpack:///./src/app/front/urgentcare-appointment/urgentcare-appointment.component.ts","webpack:///./src/app/front/urgentcareprovider-list/urgentcareprovider-list.component.css","webpack:///./src/app/front/urgentcareprovider-list/urgentcareprovider-list.component.html","webpack:///./src/app/front/urgentcareprovider-list/urgentcareprovider-list.component.ts","webpack:///./src/app/front/video-popup/video-popup.component.css","webpack:///./src/app/front/video-popup/video-popup.component.html","webpack:///./src/app/front/video-popup/video-popup.component.ts","webpack:///./src/app/front/what-we-do/what-we-do.component.css","webpack:///./src/app/front/what-we-do/what-we-do.component.html","webpack:///./src/app/front/what-we-do/what-we-do.component.ts","webpack:///./src/app/hubconnection.service.ts","webpack:///./src/app/platform/modules/agency-portal/Payments/manage-fees-refunds/manage-fees-refunds.component.css","webpack:///./src/app/platform/modules/agency-portal/Payments/manage-fees-refunds/manage-fees-refunds.component.html","webpack:///./src/app/platform/modules/agency-portal/Payments/manage-fees-refunds/manage-fees-refunds.component.ts","webpack:///./src/app/platform/modules/agency-portal/Payments/payment.service.ts","webpack:///./src/app/platform/modules/agency-portal/add-lab-referral-modal/add-lab-referral-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/add-lab-referral-modal/add-lab-referral-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/add-lab-referral-modal/add-lab-referral-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/add-radiology-referral-modal/add-radiology-referral-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/add-radiology-referral-modal/add-radiology-referral-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/add-radiology-referral-modal/add-radiology-referral-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/add-template-modal/add-template-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/add-template-modal/add-template-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/add-template-modal/add-template-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/agency-portal.module.ts","webpack:///./src/app/platform/modules/agency-portal/agency-routing.module.ts","webpack:///./src/app/platform/modules/agency-portal/agency_routing_permission.guard.ts","webpack:///./src/app/platform/modules/agency-portal/appointment-action/appointment-action.component.css","webpack:///./src/app/platform/modules/agency-portal/appointment-action/appointment-action.component.html","webpack:///./src/app/platform/modules/agency-portal/appointment-action/appointment-action.component.ts","webpack:///./src/app/platform/modules/agency-portal/change-password/change-password.component.css","webpack:///./src/app/platform/modules/agency-portal/change-password/change-password.component.html","webpack:///./src/app/platform/modules/agency-portal/change-password/change-password.component.ts","webpack:///./src/app/platform/modules/agency-portal/change-password/change-password.service.ts","webpack:///./src/app/platform/modules/agency-portal/client-list/client-list.component.css","webpack:///./src/app/platform/modules/agency-portal/client-list/client-list.component.html","webpack:///./src/app/platform/modules/agency-portal/client-list/client-list.component.ts","webpack:///./src/app/platform/modules/agency-portal/client-list/client-list.model.ts","webpack:///./src/app/platform/modules/agency-portal/client-list/client-list.service.ts","webpack:///./src/app/platform/modules/agency-portal/clients/address.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/address/address.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/address/address.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/address/address.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/allergies/allergies-modal/allergies-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/allergies/allergies-modal/allergies-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/allergies/allergies-modal/allergies-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/allergies/allergies.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/allergies/allergies.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/allergies/allergies.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/allergies/allergies.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/authorization/authorization-modal/authorization-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/authorization/authorization-modal/authorization-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/authorization/authorization-modal/authorization-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/authorization/authorization.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/authorization/authorization.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/authorization/authorization.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/authorization/authorization.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/client-header.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/client-header/client-header.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/client-header/client-header.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/client-header/client-header.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/client-insurance/client-insurance.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/client-insurance/client-insurance.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/client-insurance/client-insurance.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/client-ledger/add-payment-detail/add-payment-detail.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/client-ledger/add-payment-detail/add-payment-detail.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/client-ledger/add-payment-detail/add-payment-detail.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/client-ledger/client-ledger-detail/client-ledger-detail.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/client-ledger/client-ledger-detail/client-ledger-detail.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/client-ledger/client-ledger-detail/client-ledger-detail.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/client-ledger/client-ledger.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/client-ledger/client-ledger.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/client-ledger/client-ledger.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/client-ledger/client-ledger.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/client-profile.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/client.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/client/client.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/client/client.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/client/client.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/clients.module.routing.ts","webpack:///./src/app/platform/modules/agency-portal/clients/clients.module.ts","webpack:///./src/app/platform/modules/agency-portal/clients/clients.service.ts","webpack:///./src/app/platform/modules/agency-portal/clients/custom-fields/custom-fields.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/custom-fields/custom-fields.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/custom-fields/custom-fields.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/demographic-info/demographic-info.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/demographic-info/demographic-info.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/demographic-info/demographic-info.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/diagnosis/diagnosis-modal/diagnosis-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/diagnosis/diagnosis-modal/diagnosis-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/diagnosis/diagnosis-modal/diagnosis-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/diagnosis/diagnosis.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/diagnosis/diagnosis.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/diagnosis/diagnosis.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/diagnosis/diagnosis.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/doctor-patient-notes/doctor-patient-notes.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/doctor-patient-notes/doctor-patient-notes.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/doctor-patient-notes/doctor-patient-notes.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/doctor-patient-notes/doctor-patient-notes.ts","webpack:///./src/app/platform/modules/agency-portal/clients/documents/add-document/add-document.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/documents/add-document/add-document.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/documents/add-document/add-document.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/documents/documents.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/documents/documents.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/documents/documents.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/eligibility-enquiry/eligibility-enquiry.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/eligibility-enquiry/eligibility-enquiry.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/eligibility-enquiry/eligibility-enquiry.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/encounter/encounter.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/encounter/encounter.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/encounter/encounter.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/family-history/family-history-model/family-history-model.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/family-history/family-history-model/family-history-model.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/family-history/family-history-model/family-history-model.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/family-history/family-history.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/family-history/family-history.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/family-history/family-history.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/family-history/family-history.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/guardian.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/guardian/guardian-modal/guardian-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/guardian/guardian-modal/guardian-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/guardian/guardian-modal/guardian-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/guardian/guardian.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/guardian/guardian.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/guardian/guardian.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/health-plan-coverage/health-plan-coverage.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/health-plan-coverage/health-plan-coverage.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/health-plan-coverage/health-plan-coverage.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/history/history.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/history/history.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/history/history.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/icd/icd.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/icd/icd.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/icd/icd.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/immunization/immunization-modal/immunization-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/immunization/immunization-modal/immunization-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/immunization/immunization-modal/immunization-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/immunization/immunization.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/immunization/immunization.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/immunization/immunization.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/immunization/immunization.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/insurance.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/insurance/insurance-modal/insurance-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/insurance/insurance-modal/insurance-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/insurance/insurance-modal/insurance-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/insurance/insurance.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/insurance/insurance.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/insurance/insurance.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/lab-orders/lab-orders.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/lab-orders/lab-orders.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/lab-orders/lab-orders.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/lab-refferral-clients/lab-refferral-clients.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/lab-refferral-clients/lab-refferral-clients.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/lab-refferral-clients/lab-refferral-clients.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/medi-certificate/medi-certificate-modal/medi-certificate-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/medi-certificate/medi-certificate-modal/medi-certificate-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/medi-certificate/medi-certificate-modal/medi-certificate-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/medi-certificate/medi-certificate.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/medi-certificate/medi-certificate.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/medi-certificate/medi-certificate.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/medication/medication-modal/medication-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/medication/medication-modal/medication-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/medication/medication-modal/medication-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/medication/medication.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/medication/medication.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/medication/medication.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/medication/medication.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-addprescription/prescription-addprescription.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-addprescription/prescription-addprescription.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-addprescription/prescription-addprescription.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-fax-modal/prescription-fax-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-fax-modal/prescription-fax-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-fax-modal/prescription-fax-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-modal/prescription-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-modal/prescription-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-modal/prescription-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-sentprescription/prescription-sentprescription.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-sentprescription/prescription-sentprescription.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-sentprescription/prescription-sentprescription.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/profile/profile.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/profile/profile.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/profile/profile.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/radiology-refferral-clients/radiology-refferral-clients.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/radiology-refferral-clients/radiology-refferral-clients.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/radiology-refferral-clients/radiology-refferral-clients.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/soap-encounter/soap-encounter.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/soap-encounter/soap-encounter.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/soap-encounter/soap-encounter.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/soap-note-view-modal/soap-note-view-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/soap-note-view-modal/soap-note-view-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/soap-note-view-modal/soap-note-view-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/soap-note/soap-note.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/soap-note/soap-note.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/soap-note/soap-note.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/social-history/social-history.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/social-history/social-history.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/social-history/social-history.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/vitals/vital-modal/vital-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/vitals/vital-modal/vital-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/vitals/vital-modal/vital-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/vitals/vitals.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/vitals/vitals.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/vitals/vitals.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/vitals/vitals.model.ts","webpack:///./src/app/platform/modules/agency-portal/dashboard/auth-list/auth-list.component.css","webpack:///./src/app/platform/modules/agency-portal/dashboard/auth-list/auth-list.component.html","webpack:///./src/app/platform/modules/agency-portal/dashboard/auth-list/auth-list.component.ts","webpack:///./src/app/platform/modules/agency-portal/dashboard/dashboard.component.css","webpack:///./src/app/platform/modules/agency-portal/dashboard/dashboard.component.html","webpack:///./src/app/platform/modules/agency-portal/dashboard/dashboard.component.ts","webpack:///./src/app/platform/modules/agency-portal/dashboard/dashboard.model.ts","webpack:///./src/app/platform/modules/agency-portal/dashboard/dashboard.service.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/diagnosis/diagnosis-modal/diagnosis-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/diagnosis/diagnosis-modal/diagnosis-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/diagnosis/diagnosis-modal/diagnosis-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/diagnosis/diagnosis.service.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/encounter-routing.module.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/encounter.module.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/encounter.service.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/non-billable-soap/non-billable-soap.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/non-billable-soap/non-billable-soap.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/non-billable-soap/non-billable-soap.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/opentok.service.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/patientencounternotes-modal/patientencounternotes.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/patientencounternotes-modal/patientencounternotes.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/patientencounternotes-modal/patientencounternotes.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/service-code-modal/add-service-code-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/service-code-modal/add-service-code-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/service-code-modal/add-service-code-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/sign-dialog/sign-dialog.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/sign-dialog/sign-dialog.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/sign-dialog/sign-dialog.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/soap/soap.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/soap/soap.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/soap/soap.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/template-form/template-form.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/template-form/template-form.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/template-form/template-form.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/thank-you/thank-you.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/thank-you/thank-you.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/thank-you/thank-you.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/video-call-invitation/video-call-invitation.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/video-call-invitation/video-call-invitation.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/video-call-invitation/video-call-invitation.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/video-call/video-call.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/video-call/video-call.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/video-call/video-call.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/publisher/publisher.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/publisher/publisher.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/publisher/publisher.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/subscriber/subscriber.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/subscriber/subscriber.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/subscriber/subscriber.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/video-button/video-button.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/video-button/video-button.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/video-button/video-button.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/video-chat.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/video-chat.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/video-chat.component.ts","webpack:///./src/app/platform/modules/agency-portal/lab-referral/lab-referral.component.css","webpack:///./src/app/platform/modules/agency-portal/lab-referral/lab-referral.component.html","webpack:///./src/app/platform/modules/agency-portal/lab-referral/lab-referral.component.ts","webpack:///./src/app/platform/modules/agency-portal/lab-referral/lab-referral.model.ts","webpack:///./src/app/platform/modules/agency-portal/lab-test-download-modal/lab-test-download-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/lab-test-download-modal/lab-test-download-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/lab-test-download-modal/lab-test-download-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/masters/service-codes/service-code.modal.ts","webpack:///./src/app/platform/modules/agency-portal/masters/service-codes/service-code.service.ts","webpack:///./src/app/platform/modules/agency-portal/masters/speciality/speciality.service.ts","webpack:///./src/app/platform/modules/agency-portal/provider-msg/provider-msg.component.css","webpack:///./src/app/platform/modules/agency-portal/provider-msg/provider-msg.component.html","webpack:///./src/app/platform/modules/agency-portal/provider-msg/provider-msg.component.ts","webpack:///./src/app/platform/modules/agency-portal/radiology-referral-file-upload/radiology-referral-file-upload.component.css","webpack:///./src/app/platform/modules/agency-portal/radiology-referral-file-upload/radiology-referral-file-upload.component.html","webpack:///./src/app/platform/modules/agency-portal/radiology-referral-file-upload/radiology-referral-file-upload.component.ts","webpack:///./src/app/platform/modules/agency-portal/radiology-referral/radiology-referral.component.css","webpack:///./src/app/platform/modules/agency-portal/radiology-referral/radiology-referral.component.html","webpack:///./src/app/platform/modules/agency-portal/radiology-referral/radiology-referral.component.ts","webpack:///./src/app/platform/modules/agency-portal/radiology-referral/radiology-referral.model.ts","webpack:///./src/app/platform/modules/agency-portal/referral-for-radiology/referral-for-radiology.component.css","webpack:///./src/app/platform/modules/agency-portal/referral-for-radiology/referral-for-radiology.component.html","webpack:///./src/app/platform/modules/agency-portal/referral-for-radiology/referral-for-radiology.component.ts","webpack:///./src/app/platform/modules/agency-portal/template/add-letter-form-model/add-letter-form-model.component.css","webpack:///./src/app/platform/modules/agency-portal/template/add-letter-form-model/add-letter-form-model.component.html","webpack:///./src/app/platform/modules/agency-portal/template/add-letter-form-model/add-letter-form-model.component.ts","webpack:///./src/app/platform/modules/agency-portal/template/add-letter-model/add-letter-model.component.css","webpack:///./src/app/platform/modules/agency-portal/template/add-letter-model/add-letter-model.component.html","webpack:///./src/app/platform/modules/agency-portal/template/add-letter-model/add-letter-model.component.ts","webpack:///./src/app/platform/modules/agency-portal/template/letter-history/letter-history/letter-history.component.css","webpack:///./src/app/platform/modules/agency-portal/template/letter-history/letter-history/letter-history.component.html","webpack:///./src/app/platform/modules/agency-portal/template/letter-history/letter-history/letter-history.component.ts","webpack:///./src/app/platform/modules/agency-portal/template/letter-template/letter-template/letter-template.component.css","webpack:///./src/app/platform/modules/agency-portal/template/letter-template/letter-template/letter-template.component.html","webpack:///./src/app/platform/modules/agency-portal/template/letter-template/letter-template/letter-template.component.ts","webpack:///./src/app/platform/modules/agency-portal/template/template-popup/template-popup.component.css","webpack:///./src/app/platform/modules/agency-portal/template/template-popup/template-popup.component.html","webpack:///./src/app/platform/modules/agency-portal/template/template-popup/template-popup.component.ts","webpack:///./src/app/platform/modules/agency-portal/template/template.component.css","webpack:///./src/app/platform/modules/agency-portal/template/template.component.html","webpack:///./src/app/platform/modules/agency-portal/template/template.component.ts","webpack:///./src/app/platform/modules/agency-portal/template/template.model.ts","webpack:///./src/app/platform/modules/agency-portal/users/users.model.ts","webpack:///./src/app/platform/modules/agency-portal/users/users.service.ts","webpack:///./src/app/platform/modules/auth/auth.service.ts","webpack:///./src/app/platform/modules/client-portal/client-profile.model.ts","webpack:///./src/app/platform/modules/client-portal/clients-details/clients.service.ts","webpack:///./src/app/platform/modules/client-portal/clients.service.ts","webpack:///./src/app/platform/modules/client-portal/documents/document-modal/document-modal.component.css","webpack:///./src/app/platform/modules/client-portal/documents/document-modal/document-modal.component.html","webpack:///./src/app/platform/modules/client-portal/documents/document-modal/document-modal.component.ts","webpack:///./src/app/platform/modules/client-portal/history/family-history/family-history-model/family-history-model.component.css","webpack:///./src/app/platform/modules/client-portal/history/family-history/family-history-model/family-history-model.component.html","webpack:///./src/app/platform/modules/client-portal/history/family-history/family-history-model/family-history-model.component.ts","webpack:///./src/app/platform/modules/client-portal/history/family-history/family-history.component.css","webpack:///./src/app/platform/modules/client-portal/history/family-history/family-history.component.html","webpack:///./src/app/platform/modules/client-portal/history/family-history/family-history.component.ts","webpack:///./src/app/platform/modules/client-portal/history/history-routing.module.ts","webpack:///./src/app/platform/modules/client-portal/history/history.module.ts","webpack:///./src/app/platform/modules/client-portal/history/medical-history/add-edit-medical-history/add-edit-medical-history.component.css","webpack:///./src/app/platform/modules/client-portal/history/medical-history/add-edit-medical-history/add-edit-medical-history.component.html","webpack:///./src/app/platform/modules/client-portal/history/medical-history/add-edit-medical-history/add-edit-medical-history.component.ts","webpack:///./src/app/platform/modules/client-portal/history/medical-history/medical-history.component.css","webpack:///./src/app/platform/modules/client-portal/history/medical-history/medical-history.component.html","webpack:///./src/app/platform/modules/client-portal/history/medical-history/medical-history.component.ts","webpack:///./src/app/platform/modules/client-portal/history/social-history/social-history.component.css","webpack:///./src/app/platform/modules/client-portal/history/social-history/social-history.component.html","webpack:///./src/app/platform/modules/client-portal/history/social-history/social-history.component.ts","webpack:///./src/app/platform/modules/client-portal/pharmacy-dialog/pharmacy-dialog.component.css","webpack:///./src/app/platform/modules/client-portal/pharmacy-dialog/pharmacy-dialog.component.html","webpack:///./src/app/platform/modules/client-portal/pharmacy-dialog/pharmacy-dialog.component.ts","webpack:///./src/app/platform/modules/core/interceptors/http.token.interceptor.ts","webpack:///./src/app/platform/modules/core/interceptors/index.ts","webpack:///./src/app/platform/modules/core/modals/common-model.ts","webpack:///./src/app/platform/modules/core/modals/loginUser.modal.ts","webpack:///./src/app/platform/modules/core/services/common.service.ts","webpack:///./src/app/platform/modules/core/services/index.ts","webpack:///./src/app/platform/modules/core/services/layout.service.ts","webpack:///./src/app/platform/modules/formio-template/form-builder/form-builder.component.css","webpack:///./src/app/platform/modules/formio-template/form-builder/form-builder.component.html","webpack:///./src/app/platform/modules/formio-template/form-builder/form-builder.component.ts","webpack:///./src/app/platform/modules/formio-template/template-listing/template-listing.component.css","webpack:///./src/app/platform/modules/formio-template/template-listing/template-listing.component.html","webpack:///./src/app/platform/modules/formio-template/template-listing/template-listing.component.ts","webpack:///./src/app/platform/modules/formio-template/template.service.ts","webpack:///./src/app/platform/modules/lab/lab.service.ts","webpack:///./src/app/platform/modules/mailing/mailbox.model.ts","webpack:///./src/app/platform/modules/mailing/mailbox.service.ts","webpack:///./src/app/platform/modules/main-container/hub.service.ts","webpack:///./src/app/platform/modules/scheduling/appointment-view/appointment-view.component.css","webpack:///./src/app/platform/modules/scheduling/appointment-view/appointment-view.component.html","webpack:///./src/app/platform/modules/scheduling/appointment-view/appointment-view.component.ts","webpack:///./src/app/platform/modules/scheduling/scheduler/cancel-appointment-dialog/cancel-appointment-dialog.component.css","webpack:///./src/app/platform/modules/scheduling/scheduler/cancel-appointment-dialog/cancel-appointment-dialog.component.html","webpack:///./src/app/platform/modules/scheduling/scheduler/cancel-appointment-dialog/cancel-appointment-dialog.component.ts","webpack:///./src/app/platform/modules/scheduling/scheduler/scheduler.model.ts","webpack:///./src/app/platform/modules/scheduling/scheduler/scheduler.service.ts","webpack:///./src/app/platform/modules/waiting-room/waiting-room.service.ts","webpack:///./src/app/platform/platform.material.module.ts","webpack:///./src/app/shared/QrCodeScanPage/qrimage-inhanser/qrimage-inhanser.component.css","webpack:///./src/app/shared/QrCodeScanPage/qrimage-inhanser/qrimage-inhanser.component.html","webpack:///./src/app/shared/QrCodeScanPage/qrimage-inhanser/qrimage-inhanser.component.ts","webpack:///./src/app/shared/QrCodeScanPage/referral-qr-code-page/referral-qr-code-page.component.css","webpack:///./src/app/shared/QrCodeScanPage/referral-qr-code-page/referral-qr-code-page.component.html","webpack:///./src/app/shared/QrCodeScanPage/referral-qr-code-page/referral-qr-code-page.component.ts","webpack:///./src/app/shared/accept-reject-appointment-invitation/accept-reject-appointment-invitation.component.css","webpack:///./src/app/shared/accept-reject-appointment-invitation/accept-reject-appointment-invitation.component.html","webpack:///./src/app/shared/accept-reject-appointment-invitation/accept-reject-appointment-invitation.component.ts","webpack:///./src/app/shared/add-new-caller/add-new-caller.component.css","webpack:///./src/app/shared/add-new-caller/add-new-caller.component.html","webpack:///./src/app/shared/add-new-caller/add-new-caller.component.ts","webpack:///./src/app/shared/add-new-caller/add-new-caller.model.ts","webpack:///./src/app/shared/add-new-caller/add-new-caller.service.ts","webpack:///./src/app/shared/appointment-graph/appointment-graph.component.css","webpack:///./src/app/shared/appointment-graph/appointment-graph.component.html","webpack:///./src/app/shared/appointment-graph/appointment-graph.component.ts","webpack:///./src/app/shared/appointment-graph/appointment-graph.service.ts","webpack:///./src/app/shared/appointment-graph/invited-accepted/invited-accepted.component.css","webpack:///./src/app/shared/appointment-graph/invited-accepted/invited-accepted.component.html","webpack:///./src/app/shared/appointment-graph/invited-accepted/invited-accepted.component.ts","webpack:///./src/app/shared/appointment-graph/invited-pending/invited-pending.component.css","webpack:///./src/app/shared/appointment-graph/invited-pending/invited-pending.component.html","webpack:///./src/app/shared/appointment-graph/invited-pending/invited-pending.component.ts","webpack:///./src/app/shared/appointment-graph/invited-rejected/invited-rejected.component.css","webpack:///./src/app/shared/appointment-graph/invited-rejected/invited-rejected.component.html","webpack:///./src/app/shared/appointment-graph/invited-rejected/invited-rejected.component.ts","webpack:///./src/app/shared/appointment-rescheduling-dialog/appointment-rescheduling-dialog.component.css","webpack:///./src/app/shared/appointment-rescheduling-dialog/appointment-rescheduling-dialog.component.html","webpack:///./src/app/shared/appointment-rescheduling-dialog/appointment-rescheduling-dialog.component.ts","webpack:///./src/app/shared/approve-appointment-dialog/approve-appointment-dialog.component.css","webpack:///./src/app/shared/approve-appointment-dialog/approve-appointment-dialog.component.html","webpack:///./src/app/shared/approve-appointment-dialog/approve-appointment-dialog.component.ts","webpack:///./src/app/shared/bar-chart/bar-chart.component.css","webpack:///./src/app/shared/bar-chart/bar-chart.component.html","webpack:///./src/app/shared/bar-chart/bar-chart.component.ts","webpack:///./src/app/shared/call-button/call-button.component.css","webpack:///./src/app/shared/call-button/call-button.component.html","webpack:///./src/app/shared/call-button/call-button.component.ts","webpack:///./src/app/shared/call-notification/call-notification.component.css","webpack:///./src/app/shared/call-notification/call-notification.component.html","webpack:///./src/app/shared/call-notification/call-notification.component.ts","webpack:///./src/app/shared/cancel-appointment-dialog/cancel-appointment-dialog.component.css","webpack:///./src/app/shared/cancel-appointment-dialog/cancel-appointment-dialog.component.html","webpack:///./src/app/shared/cancel-appointment-dialog/cancel-appointment-dialog.component.ts","webpack:///./src/app/shared/change-email/change-email.component.css","webpack:///./src/app/shared/change-email/change-email.component.html","webpack:///./src/app/shared/change-email/change-email.component.ts","webpack:///./src/app/shared/change-email/changeemail.service.ts","webpack:///./src/app/shared/chat-widget/chat-widget.component.html","webpack:///./src/app/shared/chat-widget/chat-widget.component.scss","webpack:///./src/app/shared/chat-widget/chat-widget.component.ts","webpack:///./src/app/shared/controls/google-address-input/google-address-input.component.css","webpack:///./src/app/shared/controls/google-address-input/google-address-input.component.html","webpack:///./src/app/shared/controls/google-address-input/google-address-input.component.ts","webpack:///./src/app/shared/count-down/count-down.component.html","webpack:///./src/app/shared/count-down/count-down.component.scss","webpack:///./src/app/shared/count-down/count-down.component.ts","webpack:///./src/app/shared/data-table/data-table.component.css","webpack:///./src/app/shared/data-table/data-table.component.html","webpack:///./src/app/shared/data-table/data-table.component.ts","webpack:///./src/app/shared/date-picker/date-picker.component.css","webpack:///./src/app/shared/date-picker/date-picker.component.html","webpack:///./src/app/shared/date-picker/date-picker.component.ts","webpack:///./src/app/shared/direction-map/direction-map.component.css","webpack:///./src/app/shared/direction-map/direction-map.component.html","webpack:///./src/app/shared/direction-map/direction-map.component.ts","webpack:///./src/app/shared/directives/mrn-number.directive.ts","webpack:///./src/app/shared/directives/numbers-only.directive.ts","webpack:///./src/app/shared/directives/phone-number.directive.ts","webpack:///./src/app/shared/directives/rate.directive.ts","webpack:///./src/app/shared/directives/ssn.directive.ts","webpack:///./src/app/shared/directives/zipcode.directive.ts","webpack:///./src/app/shared/display-attached-files/display-attached-files.component.css","webpack:///./src/app/shared/display-attached-files/display-attached-files.component.html","webpack:///./src/app/shared/display-attached-files/display-attached-files.component.ts","webpack:///./src/app/shared/doc-viewer/doc-viewer.component.css","webpack:///./src/app/shared/doc-viewer/doc-viewer.component.html","webpack:///./src/app/shared/doc-viewer/doc-viewer.component.ts","webpack:///./src/app/shared/doughnut-chart/doughnut-chart.component.css","webpack:///./src/app/shared/doughnut-chart/doughnut-chart.component.html","webpack:///./src/app/shared/doughnut-chart/doughnut-chart.component.ts","webpack:///./src/app/shared/dynamic-form/dynamic-form-component/dynamic-form.component.html","webpack:///./src/app/shared/dynamic-form/dynamic-form-component/dynamic-form.component.ts","webpack:///./src/app/shared/dynamic-form/dynamic-form-control-component/dynamic-form-control-component.html","webpack:///./src/app/shared/dynamic-form/dynamic-form-control-component/dynamic-form-control-component.ts","webpack:///./src/app/shared/dynamic-form/dynamic-form-control-component/dynamic-form-control.component.scss","webpack:///./src/app/shared/dynamic-form/dynamic-form-control-service.ts","webpack:///./src/app/shared/dynamic-form/dynamic-form-models.ts","webpack:///./src/app/shared/error-popup/error-popup.component.css","webpack:///./src/app/shared/error-popup/error-popup.component.html","webpack:///./src/app/shared/error-popup/error-popup.component.ts","webpack:///./src/app/shared/followup-appointment/followup-appointment.component.css","webpack:///./src/app/shared/followup-appointment/followup-appointment.component.html","webpack:///./src/app/shared/followup-appointment/followup-appointment.component.ts","webpack:///./src/app/shared/hyper-pay/hyper-pay.component.css","webpack:///./src/app/shared/hyper-pay/hyper-pay.component.html","webpack:///./src/app/shared/hyper-pay/hyper-pay.component.ts","webpack:///./src/app/shared/invite-call-join/invite-call-join.component.css","webpack:///./src/app/shared/invite-call-join/invite-call-join.component.html","webpack:///./src/app/shared/invite-call-join/invite-call-join.component.ts","webpack:///./src/app/shared/layout/client-header-layout/client-header-layout.component.css","webpack:///./src/app/shared/layout/client-header-layout/client-header-layout.component.html","webpack:///./src/app/shared/layout/client-header-layout/client-header-layout.component.ts","webpack:///./src/app/shared/layout/dialog/dialog.component.css","webpack:///./src/app/shared/layout/dialog/dialog.component.html","webpack:///./src/app/shared/layout/dialog/dialog.component.ts","webpack:///./src/app/shared/layout/dialog/dialog.service.ts","webpack:///./src/app/shared/layout/footer.component.html","webpack:///./src/app/shared/layout/footer.component.ts","webpack:///./src/app/shared/layout/header.component.html","webpack:///./src/app/shared/layout/header.component.scss","webpack:///./src/app/shared/layout/header.component.ts","webpack:///./src/app/shared/layout/index.ts","webpack:///./src/app/shared/layout/menu-list-item/menu-list-item.component.html","webpack:///./src/app/shared/layout/menu-list-item/menu-list-item.component.scss","webpack:///./src/app/shared/layout/menu-list-item/menu-list-item.component.ts","webpack:///./src/app/shared/layout/sidebar.component.html","webpack:///./src/app/shared/layout/sidebar.component.scss","webpack:///./src/app/shared/layout/sidebar.component.ts","webpack:///./src/app/shared/layout/super-admin-header.component.html","webpack:///./src/app/shared/layout/super-admin-header.component.scss","webpack:///./src/app/shared/layout/super-admin-header.component.ts","webpack:///./src/app/shared/letter-template-guidence-popup/letter-template-guidence-popup.component.css","webpack:///./src/app/shared/letter-template-guidence-popup/letter-template-guidence-popup.component.html","webpack:///./src/app/shared/letter-template-guidence-popup/letter-template-guidence-popup.component.ts","webpack:///./src/app/shared/line-chart/line-chart.component.css","webpack:///./src/app/shared/line-chart/line-chart.component.html","webpack:///./src/app/shared/line-chart/line-chart.component.ts","webpack:///./src/app/shared/login-model/agency-login/agency-login.component.css","webpack:///./src/app/shared/login-model/agency-login/agency-login.component.html","webpack:///./src/app/shared/login-model/agency-login/agency-login.component.ts","webpack:///./src/app/shared/login-model/client-login/client-login.component.css","webpack:///./src/app/shared/login-model/client-login/client-login.component.html","webpack:///./src/app/shared/login-model/client-login/client-login.component.ts","webpack:///./src/app/shared/login-model/login-model.component.css","webpack:///./src/app/shared/login-model/login-model.component.html","webpack:///./src/app/shared/login-model/login-model.component.ts","webpack:///./src/app/shared/models/callModel.ts","webpack:///./src/app/shared/models/chatModel.ts","webpack:///./src/app/shared/models/videoRecordModel.ts","webpack:///./src/app/shared/password-validator.ts","webpack:///./src/app/shared/patient-urgentcare-status/patient-urgentcare-status.component.css","webpack:///./src/app/shared/patient-urgentcare-status/patient-urgentcare-status.component.html","webpack:///./src/app/shared/patient-urgentcare-status/patient-urgentcare-status.component.ts","webpack:///./src/app/shared/payment-status-dialog/payment-status-dialog.component.css","webpack:///./src/app/shared/payment-status-dialog/payment-status-dialog.component.html","webpack:///./src/app/shared/payment-status-dialog/payment-status-dialog.component.ts","webpack:///./src/app/shared/payment-success-test/payment-success-test.component.css","webpack:///./src/app/shared/payment-success-test/payment-success-test.component.html","webpack:///./src/app/shared/payment-success-test/payment-success-test.component.ts","webpack:///./src/app/shared/phone-number/phone-number.component.css","webpack:///./src/app/shared/phone-number/phone-number.component.html","webpack:///./src/app/shared/phone-number/phone-number.component.ts","webpack:///./src/app/shared/pipes/chat-message.pipe.ts","webpack:///./src/app/shared/pipes/encounter.pipe.ts","webpack:///./src/app/shared/pipes/invitation-status.pipe.ts","webpack:///./src/app/shared/pipes/rating.pipe.ts","webpack:///./src/app/shared/pipes/span.pipe.ts","webpack:///./src/app/shared/pipes/status.pipe.ts","webpack:///./src/app/shared/pipes/time-check.pipe.ts","webpack:///./src/app/shared/pipes/unique.pipe.ts","webpack:///./src/app/shared/postpone-appointment/postpone-appointment.component.css","webpack:///./src/app/shared/postpone-appointment/postpone-appointment.component.html","webpack:///./src/app/shared/postpone-appointment/postpone-appointment.component.ts","webpack:///./src/app/shared/prepone-appointment/prepone-appointment.component.css","webpack:///./src/app/shared/prepone-appointment/prepone-appointment.component.html","webpack:///./src/app/shared/prepone-appointment/prepone-appointment.component.ts","webpack:///./src/app/shared/provider-appointment-documents/provider-appointment-documents.component.css","webpack:///./src/app/shared/provider-appointment-documents/provider-appointment-documents.component.html","webpack:///./src/app/shared/provider-appointment-documents/provider-appointment-documents.component.ts","webpack:///./src/app/shared/qrcode-result-scan-landing-page/qrcode-result-scan-landing-page.component.css","webpack:///./src/app/shared/qrcode-result-scan-landing-page/qrcode-result-scan-landing-page.component.html","webpack:///./src/app/shared/qrcode-result-scan-landing-page/qrcode-result-scan-landing-page.component.ts","webpack:///./src/app/shared/radiology-referral-modal/radiology-referral-modal.component.css","webpack:///./src/app/shared/radiology-referral-modal/radiology-referral-modal.component.html","webpack:///./src/app/shared/radiology-referral-modal/radiology-referral-modal.component.ts","webpack:///./src/app/shared/raise-ticket/image-viewer/image-viewer.component.css","webpack:///./src/app/shared/raise-ticket/image-viewer/image-viewer.component.html","webpack:///./src/app/shared/raise-ticket/image-viewer/image-viewer.component.ts","webpack:///./src/app/shared/raise-ticket/raise-ticket.component.css","webpack:///./src/app/shared/raise-ticket/raise-ticket.component.html","webpack:///./src/app/shared/raise-ticket/raise-ticket.component.ts","webpack:///./src/app/shared/raise-ticket/ticket-dialog/ticket-dialog.component.css","webpack:///./src/app/shared/raise-ticket/ticket-dialog/ticket-dialog.component.html","webpack:///./src/app/shared/raise-ticket/ticket-dialog/ticket-dialog.component.ts","webpack:///./src/app/shared/raise-ticket/update-ticket/update-ticket.component.css","webpack:///./src/app/shared/raise-ticket/update-ticket/update-ticket.component.html","webpack:///./src/app/shared/raise-ticket/update-ticket/update-ticket.component.ts","webpack:///./src/app/shared/raised-ticket-details/raised-ticket-details.component.css","webpack:///./src/app/shared/raised-ticket-details/raised-ticket-details.component.html","webpack:///./src/app/shared/raised-ticket-details/raised-ticket-details.component.ts","webpack:///./src/app/shared/register-model/register.component.css","webpack:///./src/app/shared/register-model/register.component.html","webpack:///./src/app/shared/register-model/register.component.ts","webpack:///./src/app/shared/secretary-admin-usage-login/secretary-admin-usage-login.component.css","webpack:///./src/app/shared/secretary-admin-usage-login/secretary-admin-usage-login.component.html","webpack:///./src/app/shared/secretary-admin-usage-login/secretary-admin-usage-login.component.ts","webpack:///./src/app/shared/security-question-model/security-question-model.component.css","webpack:///./src/app/shared/security-question-model/security-question-model.component.html","webpack:///./src/app/shared/security-question-model/security-question-model.component.ts","webpack:///./src/app/shared/set-reminder/set-reminder.component.css","webpack:///./src/app/shared/set-reminder/set-reminder.component.html","webpack:///./src/app/shared/set-reminder/set-reminder.component.ts","webpack:///./src/app/shared/set-reminder/set-reminder.modal.ts","webpack:///./src/app/shared/set-reminder/set-reminder.service.ts","webpack:///./src/app/shared/shared-soap-note/shared-soap-note.component.css","webpack:///./src/app/shared/shared-soap-note/shared-soap-note.component.html","webpack:///./src/app/shared/shared-soap-note/shared-soap-note.component.ts","webpack:///./src/app/shared/shared-soap-view-note-model/shared-soap-view-note-model.component.css","webpack:///./src/app/shared/shared-soap-view-note-model/shared-soap-view-note-model.component.html","webpack:///./src/app/shared/shared-soap-view-note-model/shared-soap-view-note-model.component.ts","webpack:///./src/app/shared/shared.module.ts","webpack:///./src/app/shared/shared.service.ts","webpack:///./src/app/shared/staff-appointment/staff-appointment.component.css","webpack:///./src/app/shared/staff-appointment/staff-appointment.component.html","webpack:///./src/app/shared/staff-appointment/staff-appointment.component.ts","webpack:///./src/app/shared/symptom-checker/symptom-checker.component.css","webpack:///./src/app/shared/symptom-checker/symptom-checker.component.html","webpack:///./src/app/shared/symptom-checker/symptom-checker.component.ts","webpack:///./src/app/shared/symptom-checker/symptom-checker.model.ts","webpack:///./src/app/shared/symptom-checker/symptom-checker.service.ts","webpack:///./src/app/shared/test-payment-flow/test-payment-flow.component.css","webpack:///./src/app/shared/test-payment-flow/test-payment-flow.component.html","webpack:///./src/app/shared/test-payment-flow/test-payment-flow.component.ts","webpack:///./src/app/shared/text-chat/text-chat-user-image.pipe.ts","webpack:///./src/app/shared/text-chat/text-chat-user-name.pipe.ts","webpack:///./src/app/shared/text-chat/text-chat.component.css","webpack:///./src/app/shared/text-chat/text-chat.component.html","webpack:///./src/app/shared/text-chat/text-chat.component.ts","webpack:///./src/app/shared/text-chat/text-chat.service.ts","webpack:///./src/app/shared/text-chat/text-message-format/text-message-format.component.css","webpack:///./src/app/shared/text-chat/text-message-format/text-message-format.component.html","webpack:///./src/app/shared/text-chat/text-message-format/text-message-format.component.ts","webpack:///./src/app/shared/text-chat/textChatModel.ts","webpack:///./src/app/shared/text-chat/uploadFile/upload-file.component.css","webpack:///./src/app/shared/text-chat/uploadFile/upload-file.component.html","webpack:///./src/app/shared/text-chat/uploadFile/upload-file.component.ts","webpack:///./src/app/shared/urgentcare-provideraction/urgentcare-provideraction.component.css","webpack:///./src/app/shared/urgentcare-provideraction/urgentcare-provideraction.component.html","webpack:///./src/app/shared/urgentcare-provideraction/urgentcare-provideraction.component.ts","webpack:///./src/app/shared/urgentcarelisting-dialog/urgentcarelisting-dialog.component.css","webpack:///./src/app/shared/urgentcarelisting-dialog/urgentcarelisting-dialog.component.html","webpack:///./src/app/shared/urgentcarelisting-dialog/urgentcarelisting-dialog.component.ts","webpack:///./src/app/shared/user-bank-details/add-update-bank-details/add-update-bank-details.component.css","webpack:///./src/app/shared/user-bank-details/add-update-bank-details/add-update-bank-details.component.html","webpack:///./src/app/shared/user-bank-details/add-update-bank-details/add-update-bank-details.component.ts","webpack:///./src/app/shared/user-bank-details/user-bank-details.component.css","webpack:///./src/app/shared/user-bank-details/user-bank-details.component.html","webpack:///./src/app/shared/user-bank-details/user-bank-details.component.ts","webpack:///./src/app/shared/video-call-invitation-shared/video-call-invitation-shared.component.css","webpack:///./src/app/shared/video-call-invitation-shared/video-call-invitation-shared.component.html","webpack:///./src/app/shared/video-call-invitation-shared/video-call-invitation-shared.component.ts","webpack:///./src/app/shared/video-consultation-test-modal/audio-recording.service.ts","webpack:///./src/app/shared/video-consultation-test-modal/video-consultation-test-modal.component.html","webpack:///./src/app/shared/video-consultation-test-modal/video-consultation-test-modal.component.scss","webpack:///./src/app/shared/video-consultation-test-modal/video-consultation-test-modal.component.ts","webpack:///./src/app/shared/view-report/view-report.component.css","webpack:///./src/app/shared/view-report/view-report.component.html","webpack:///./src/app/shared/view-report/view-report.component.ts","webpack:///./src/app/shared/view-report/view-report.service.ts","webpack:///./src/app/subDomain.guard.ts","webpack:///./src/app/subDomain.service.ts","webpack:///./src/app/super-admin-portal/core/modals/common-model.ts","webpack:///./src/app/super-admin-portal/core/services/common.service.ts","webpack:///./src/app/super-admin-portal/core/services/index.ts","webpack:///./src/app/super-admin-portal/core/services/layout.service.ts","webpack:///./src/app/super-admin-portal/manage-providers/manage-providers.service.ts","webpack:///./src/app/super-admin-portal/raiseTicket/superadminraiseticket/superadmin-raiseticket.service.ts","webpack:///./src/app/super-admin-portal/raiseTicket/superadminraiseticket/superadminupdateraiseticket/superadminupdateraiseticket.component.css","webpack:///./src/app/super-admin-portal/raiseTicket/superadminraiseticket/superadminupdateraiseticket/superadminupdateraiseticket.component.html","webpack:///./src/app/super-admin-portal/raiseTicket/superadminraiseticket/superadminupdateraiseticket/superadminupdateraiseticket.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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A;AACA;AACA;;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACJA,YAAY,mBAAO,CAAC,4DAAW;AAC/B,UAAU,mBAAO,CAAC,sDAAQ;AAC1B,aAAa,mBAAO,CAAC,4DAAW;AAChC;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACVA,cAAc,mBAAO,CAAC,8DAAY;AAClC,eAAe,mBAAO,CAAC,sDAAQ;AAC/B,gBAAgB,mBAAO,CAAC,kEAAc;AACtC,iBAAiB,mBAAO,CAAC,wDAAS;AAClC;AACA;AACA;AACA;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mG;;;;;;;;;;;ACpRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;ACpSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3RyC;AACc;AACJ;AACyE;AACc;AACxC;AACS;AAE3G,IAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,CAAC,+DAAc,CAAC;QAC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","file":"main.js","sourcesContent":["module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = false;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = {}.propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var map = {\n\t\"./af\": \"./node_modules/formiojs/node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/formiojs/node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/formiojs/node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/formiojs/node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/formiojs/node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/formiojs/node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/formiojs/node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/formiojs/node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/formiojs/node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/formiojs/node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/formiojs/node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/formiojs/node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/formiojs/node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/formiojs/node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/formiojs/node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/formiojs/node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/formiojs/node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/formiojs/node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/formiojs/node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/formiojs/node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/formiojs/node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/formiojs/node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/formiojs/node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/formiojs/node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/formiojs/node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/formiojs/node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/formiojs/node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/formiojs/node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/formiojs/node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/formiojs/node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/formiojs/node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/formiojs/node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/formiojs/node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/formiojs/node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/formiojs/node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/formiojs/node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/formiojs/node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/formiojs/node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/formiojs/node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/formiojs/node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/formiojs/node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/formiojs/node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/formiojs/node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/formiojs/node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/formiojs/node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/formiojs/node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/formiojs/node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/formiojs/node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/formiojs/node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/formiojs/node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/formiojs/node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/formiojs/node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/formiojs/node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/formiojs/node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/formiojs/node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/formiojs/node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/formiojs/node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/formiojs/node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/formiojs/node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/formiojs/node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/formiojs/node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/formiojs/node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/formiojs/node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/formiojs/node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/formiojs/node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/formiojs/node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/formiojs/node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/formiojs/node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/formiojs/node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/formiojs/node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/formiojs/node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/formiojs/node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/formiojs/node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/formiojs/node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/formiojs/node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/formiojs/node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/formiojs/node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/formiojs/node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/formiojs/node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/formiojs/node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/formiojs/node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/formiojs/node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/formiojs/node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/formiojs/node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/formiojs/node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/formiojs/node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/formiojs/node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/formiojs/node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/formiojs/node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/formiojs/node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/formiojs/node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/formiojs/node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/formiojs/node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/formiojs/node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/formiojs/node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/formiojs/node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/formiojs/node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/formiojs/node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/formiojs/node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/formiojs/node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/formiojs/node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/formiojs/node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/formiojs/node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/formiojs/node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/formiojs/node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/formiojs/node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/formiojs/node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/formiojs/node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/formiojs/node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/formiojs/node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/formiojs/node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/formiojs/node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/formiojs/node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/formiojs/node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/formiojs/node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/formiojs/node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/formiojs/node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/formiojs/node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/formiojs/node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/formiojs/node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/formiojs/node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/formiojs/node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/formiojs/node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/formiojs/node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/formiojs/node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/formiojs/node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/formiojs/node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/formiojs/node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/formiojs/node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/formiojs/node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/formiojs/node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/formiojs/node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/formiojs/node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/formiojs/node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/formiojs/node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/formiojs/node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/formiojs/node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/formiojs/node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/formiojs/node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/formiojs/node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/formiojs/node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/formiojs/node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/formiojs/node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/formiojs/node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/formiojs/node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/formiojs/node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/formiojs/node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/formiojs/node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/formiojs/node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/formiojs/node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/formiojs/node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/formiojs/node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/formiojs/node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/formiojs/node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/formiojs/node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/formiojs/node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/formiojs/node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/formiojs/node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/formiojs/node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/formiojs/node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/formiojs/node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/formiojs/node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/formiojs/node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/formiojs/node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/formiojs/node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/formiojs/node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/formiojs/node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/formiojs/node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/formiojs/node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/formiojs/node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/formiojs/node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/formiojs/node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/formiojs/node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/formiojs/node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/formiojs/node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/formiojs/node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/formiojs/node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/formiojs/node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/formiojs/node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/formiojs/node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/formiojs/node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/formiojs/node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/formiojs/node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/formiojs/node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/formiojs/node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/formiojs/node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/formiojs/node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/formiojs/node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/formiojs/node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/formiojs/node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/formiojs/node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/formiojs/node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/formiojs/node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/formiojs/node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/formiojs/node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/formiojs/node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/formiojs/node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/formiojs/node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/formiojs/node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/formiojs/node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/formiojs/node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/formiojs/node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/formiojs/node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/formiojs/node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/formiojs/node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/formiojs/node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/formiojs/node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/formiojs/node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/formiojs/node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/formiojs/node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/formiojs/node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/formiojs/node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/formiojs/node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/formiojs/node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/formiojs/node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/formiojs/node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/formiojs/node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/formiojs/node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/formiojs/node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/formiojs/node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/formiojs/node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/formiojs/node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/formiojs/node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/formiojs/node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/formiojs/node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/formiojs/node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/formiojs/node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/formiojs/node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/formiojs/node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/formiojs/node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/formiojs/node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/formiojs/node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/formiojs/node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/formiojs/node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/formiojs/node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/formiojs/node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/formiojs/node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/formiojs/node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/formiojs/node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/formiojs/node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/formiojs/node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/formiojs/node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/formiojs/node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/formiojs/node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/formiojs/node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/formiojs/node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/formiojs/node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/formiojs/node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/formiojs/node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/formiojs/node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/formiojs/node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/formiojs/node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/formiojs/node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/formiojs/node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/formiojs/node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","var map = {\n\t\"../../formio-template/formio-template.module\": [\n\t\t\"./src/app/platform/modules/formio-template/formio-template.module.ts\",\n\t\t\"formio-template-formio-template-module\"\n\t],\n\t\"../../scheduling/scheduling.module\": [\n\t\t\"./src/app/platform/modules/scheduling/scheduling.module.ts\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~5ca33add\",\n\t\t\"default~scheduling-scheduling-module~waiting-room-waiting-room-module\",\n\t\t\"scheduling-scheduling-module\"\n\t],\n\t\"../agency-portal/encounter/encounter.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/encounter/encounter.module.ts\"\n\t],\n\t\"../mailing/mailing.module\": [\n\t\t\"./src/app/platform/modules/mailing/mailing.module.ts\",\n\t\t\"default~mailing-mailing-module~modules-auth-auth-module~modules-client-portal-client-portal-module~m~efba675a\",\n\t\t\"default~mailing-mailing-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~c2709b42\"\n\t],\n\t\"../platform/modules/agency-portal/masters/masters.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/masters/masters.module.ts\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~d2c46068\",\n\t\t\"default~masters-masters-module~payers-payers-module~providerquestionnaire-providerquestionnaire-modu~5fab80e4\",\n\t\t\"default~masters-masters-module~super-admin-portal-super-admin-portal-module\",\n\t\t\"masters-masters-module\"\n\t],\n\t\"../platform/modules/agency-portal/users/users.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/users/users.module.ts\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~46a229e0\",\n\t\t\"users-users-module\"\n\t],\n\t\"../platform/modules/client-portal/client-portal.module\": [\n\t\t\"./src/app/platform/modules/client-portal/client-portal.module.ts\",\n\t\t\"default~mailing-mailing-module~modules-auth-auth-module~modules-client-portal-client-portal-module~m~efba675a\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~d2c46068\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~5ca33add\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~3e5fd4b8\",\n\t\t\"default~mailing-mailing-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~c2709b42\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~186c816b\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~931c65f7\"\n\t],\n\t\"../platform/modules/formio-template/formio-template.module\": [\n\t\t\"./src/app/platform/modules/formio-template/formio-template.module.ts\",\n\t\t\"formio-template-formio-template-module\"\n\t],\n\t\"../platform/modules/lab/lab.module\": [\n\t\t\"./src/app/platform/modules/lab/lab.module.ts\",\n\t\t\"default~mailing-mailing-module~modules-auth-auth-module~modules-client-portal-client-portal-module~m~efba675a\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~d2c46068\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~5ca33add\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~3e5fd4b8\",\n\t\t\"default~mailing-mailing-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~c2709b42\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~186c816b\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~931c65f7\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~46a229e0\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~ecb31a60\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~bbcd55f4\"\n\t],\n\t\"../platform/modules/pharmacy-portal/pharmacy-portal.module\": [\n\t\t\"./src/app/platform/modules/pharmacy-portal/pharmacy-portal.module.ts\",\n\t\t\"default~mailing-mailing-module~modules-auth-auth-module~modules-client-portal-client-portal-module~m~efba675a\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~d2c46068\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~5ca33add\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~3e5fd4b8\",\n\t\t\"default~mailing-mailing-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~c2709b42\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~186c816b\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~931c65f7\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~46a229e0\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~ecb31a60\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~bbcd55f4\",\n\t\t\"default~modules-pharmacy-portal-pharmacy-portal-module~super-admin-portal-super-admin-portal-module\"\n\t],\n\t\"../platform/modules/radiology-portal/radiology-portal.module\": [\n\t\t\"./src/app/platform/modules/radiology-portal/radiology-portal.module.ts\",\n\t\t\"default~mailing-mailing-module~modules-auth-auth-module~modules-client-portal-client-portal-module~m~efba675a\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~d2c46068\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~5ca33add\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~3e5fd4b8\",\n\t\t\"default~mailing-mailing-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~c2709b42\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~186c816b\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~931c65f7\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~46a229e0\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~ecb31a60\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~bbcd55f4\",\n\t\t\"modules-radiology-portal-radiology-portal-module\"\n\t],\n\t\"../scheduling/scheduling.module\": [\n\t\t\"./src/app/platform/modules/scheduling/scheduling.module.ts\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~5ca33add\",\n\t\t\"default~scheduling-scheduling-module~waiting-room-waiting-room-module\",\n\t\t\"scheduling-scheduling-module\"\n\t],\n\t\"../waiting-room/waiting-room.module\": [\n\t\t\"./src/app/platform/modules/waiting-room/waiting-room.module.ts\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~5ca33add\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~186c816b\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~ecb31a60\",\n\t\t\"default~scheduling-scheduling-module~waiting-room-waiting-room-module\",\n\t\t\"waiting-room-waiting-room-module\"\n\t],\n\t\"./Payments/client-payment.module\": [\n\t\t\"./src/app/platform/modules/client-portal/Payments/client-payment.module.ts\",\n\t\t\"Payments-client-payment-module\"\n\t],\n\t\"./Payments/payment.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/Payments/payment.module.ts\",\n\t\t\"Payments-payment-module\"\n\t],\n\t\"./app-config/app-config.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/app-config/app-config.module.ts\",\n\t\t\"app-config-app-config-module\"\n\t],\n\t\"./auth/auth.module\": [\n\t\t\"./src/app/super-admin-portal/auth/auth.module.ts\",\n\t\t\"auth-auth-module\"\n\t],\n\t\"./billing/billing.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/billing/billing.module.ts\",\n\t\t\"billing-billing-module\"\n\t],\n\t\"./clearing-house/clearing-house.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/clearing-house/clearing-house.module.ts\",\n\t\t\"clearing-house-clearing-house-module\"\n\t],\n\t\"./clients-details/clients.module\": [\n\t\t\"./src/app/platform/modules/client-portal/clients-details/clients.module.ts\",\n\t\t\"clients-details-clients-module\"\n\t],\n\t\"./clients/clients.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/clients/clients.module.ts\"\n\t],\n\t\"./encounter/encounter.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/encounter/encounter.module.ts\"\n\t],\n\t\"./front/front.module\": [\n\t\t\"./src/app/front/front.module.ts\"\n\t],\n\t\"./history/history.module\": [\n\t\t\"./src/app/platform/modules/client-portal/history/history.module.ts\"\n\t],\n\t\"./lab-payment/lab-payment.module\": [\n\t\t\"./src/app/platform/modules/lab/lab-payment/lab-payment.module.ts\",\n\t\t\"lab-payment-lab-payment-module\"\n\t],\n\t\"./logs/logs.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/logs/logs.module.ts\",\n\t\t\"logs-logs-module\"\n\t],\n\t\"./masters/masters.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/masters/masters.module.ts\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~d2c46068\",\n\t\t\"default~masters-masters-module~payers-payers-module~providerquestionnaire-providerquestionnaire-modu~5fab80e4\",\n\t\t\"default~masters-masters-module~super-admin-portal-super-admin-portal-module\",\n\t\t\"masters-masters-module\"\n\t],\n\t\"./modules/agency-portal/agency-portal.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/agency-portal.module.ts\"\n\t],\n\t\"./modules/auth/auth.module\": [\n\t\t\"./src/app/platform/modules/auth/auth.module.ts\",\n\t\t\"default~mailing-mailing-module~modules-auth-auth-module~modules-client-portal-client-portal-module~m~efba675a\"\n\t],\n\t\"./modules/client-portal/client-portal.module\": [\n\t\t\"./src/app/platform/modules/client-portal/client-portal.module.ts\",\n\t\t\"default~mailing-mailing-module~modules-auth-auth-module~modules-client-portal-client-portal-module~m~efba675a\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~d2c46068\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~5ca33add\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~3e5fd4b8\",\n\t\t\"default~mailing-mailing-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~c2709b42\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~186c816b\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~931c65f7\"\n\t],\n\t\"./modules/lab/lab.module\": [\n\t\t\"./src/app/platform/modules/lab/lab.module.ts\",\n\t\t\"default~mailing-mailing-module~modules-auth-auth-module~modules-client-portal-client-portal-module~m~efba675a\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~d2c46068\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~5ca33add\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~3e5fd4b8\",\n\t\t\"default~mailing-mailing-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~c2709b42\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~186c816b\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~931c65f7\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~46a229e0\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~ecb31a60\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~bbcd55f4\"\n\t],\n\t\"./modules/pharmacy-portal/pharmacy-portal.module\": [\n\t\t\"./src/app/platform/modules/pharmacy-portal/pharmacy-portal.module.ts\",\n\t\t\"default~mailing-mailing-module~modules-auth-auth-module~modules-client-portal-client-portal-module~m~efba675a\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~d2c46068\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~5ca33add\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~3e5fd4b8\",\n\t\t\"default~mailing-mailing-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~c2709b42\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~186c816b\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~931c65f7\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~46a229e0\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~ecb31a60\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~bbcd55f4\",\n\t\t\"default~modules-pharmacy-portal-pharmacy-portal-module~super-admin-portal-super-admin-portal-module\"\n\t],\n\t\"./modules/radiology-portal/radiology-portal.module\": [\n\t\t\"./src/app/platform/modules/radiology-portal/radiology-portal.module.ts\",\n\t\t\"default~mailing-mailing-module~modules-auth-auth-module~modules-client-portal-client-portal-module~m~efba675a\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~d2c46068\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~5ca33add\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~3e5fd4b8\",\n\t\t\"default~mailing-mailing-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~c2709b42\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~186c816b\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~931c65f7\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~46a229e0\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~ecb31a60\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~bbcd55f4\",\n\t\t\"modules-radiology-portal-radiology-portal-module\"\n\t],\n\t\"./my-appointments/my-appointments.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/my-appointments/my-appointments.module.ts\",\n\t\t\"my-appointments-my-appointments-module\"\n\t],\n\t\"./payers/payers.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/payers/payers.module.ts\",\n\t\t\"default~masters-masters-module~payers-payers-module~providerquestionnaire-providerquestionnaire-modu~5fab80e4\",\n\t\t\"payers-payers-module\"\n\t],\n\t\"./payroll/payroll.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/payroll/payroll.module.ts\",\n\t\t\"payroll-payroll-module\"\n\t],\n\t\"./platform/platform.module\": [\n\t\t\"./src/app/platform/platform.module.ts\",\n\t\t\"platform-platform-module\"\n\t],\n\t\"./provider-documents/provider-documents.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/provider-documents/provider-documents.module.ts\",\n\t\t\"provider-documents-provider-documents-module\"\n\t],\n\t\"./providerquestionnaire/providerquestionnaire.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/providerquestionnaire/providerquestionnaire.module.ts\",\n\t\t\"default~masters-masters-module~payers-payers-module~providerquestionnaire-providerquestionnaire-modu~5fab80e4\",\n\t\t\"providerquestionnaire-providerquestionnaire-module\"\n\t],\n\t\"./questionnaire/questionnaire.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/questionnaire/questionnaire.module.ts\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~d2c46068\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~3e5fd4b8\"\n\t],\n\t\"./super-admin-portal/super-admin-portal.module\": [\n\t\t\"./src/app/super-admin-portal/super-admin-portal.module.ts\",\n\t\t\"default~mailing-mailing-module~modules-auth-auth-module~modules-client-portal-client-portal-module~m~efba675a\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~d2c46068\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~5ca33add\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~3e5fd4b8\",\n\t\t\"default~mailing-mailing-module~modules-client-portal-client-portal-module~modules-lab-lab-module~mod~c2709b42\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~186c816b\",\n\t\t\"default~modules-client-portal-client-portal-module~modules-lab-lab-module~modules-pharmacy-portal-ph~931c65f7\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~46a229e0\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~ecb31a60\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~bbcd55f4\",\n\t\t\"default~masters-masters-module~payers-payers-module~providerquestionnaire-providerquestionnaire-modu~5fab80e4\",\n\t\t\"default~masters-masters-module~super-admin-portal-super-admin-portal-module\",\n\t\t\"default~modules-pharmacy-portal-pharmacy-portal-module~super-admin-portal-super-admin-portal-module\",\n\t\t\"super-admin-portal-super-admin-portal-module\"\n\t],\n\t\"./users/users.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/users/users.module.ts\",\n\t\t\"default~modules-lab-lab-module~modules-pharmacy-portal-pharmacy-portal-module~modules-radiology-port~46a229e0\",\n\t\t\"users-users-module\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\tvar id = ids[0];\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\nmodule.exports = webpackAsyncContext;","import { FrontRoutingModule } from \"./front/front-routing.module\";\r\nimport { FrontModule } from \"src/app/front/front.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { SubDomainGuard } from \"./subDomain.guard\";\r\nimport { ReferralQrCodePageComponent } from \"./shared/QrCodeScanPage/referral-qr-code-page/referral-qr-code-page.component\";\r\nimport { QRCodeResultScanLandingPageComponent } from \"./shared/qrcode-result-scan-landing-page/qrcode-result-scan-landing-page.component\";\r\nimport { TestPaymentFlowComponent } from \"./shared/test-payment-flow/test-payment-flow.component\";\r\nimport { PaymentSuccessTestComponent } from \"./shared/payment-success-test/payment-success-test.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n canActivate: [SubDomainGuard],\r\n //pathMatch: 'full',\r\n loadChildren: \"./front/front.module#FrontModule\"\r\n //redirectTo: '/web'\r\n },\r\n {\r\n path: \"web\",\r\n canActivate: [SubDomainGuard],\r\n loadChildren: \"./platform/platform.module#PlatformModule\"\r\n },\r\n {\r\n path: \"webadmin\",\r\n loadChildren:\r\n \"./super-admin-portal/super-admin-portal.module#SuperAdminPortalModule\"\r\n },\r\n {\r\n path: \"referal/:id\",\r\n component:ReferralQrCodePageComponent\r\n },\r\n {\r\n path: \"referalResult/:id\",\r\n component:QRCodeResultScanLandingPageComponent\r\n },\r\n\r\n\r\n {\r\n path: \"testPayment\",\r\n component:TestPaymentFlowComponent\r\n },\r\n {\r\n path: \"testPaymentSuccess\",\r\n component:PaymentSuccessTestComponent\r\n },\r\n\r\n\r\n\r\n // {\r\n // path: 'front',\r\n // loadChildren: './front/front.module#FrontModule'\r\n // },\r\n // otherwise redirect to home\r\n { path: \"**\", redirectTo: \"/\" }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes,{\r\n anchorScrolling: 'enabled'\r\n})],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule {}\r\n","import { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { TextChatModel } from \"src/app/shared/text-chat/textChatModel\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { distinctUntilChanged, map } from \"rxjs/operators\";\r\nimport { ChatInitModel } from \"src/app/shared/models/chatModel\";\r\nimport { HttpHeaders, HttpClient } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { VideoRecordModel } from \"./shared/models/videoRecordModel\";\r\nimport {\r\n CallInitModel,\r\n UrgentCareProviderActionInitModel,\r\n} from \"./shared/models/callModel\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AppService {\r\n private getChatHistoryUrl = \"Home/GetChatHistory\";\r\n private getSessionTimeOutTimeUrl = \"Home/GetSessionTimeOutTime\";\r\n private getUserInChatRoomUrl = \"Home/GetUserInChatRoom\";\r\n private startVideoRecordingUrl =\r\n \"api/Telehealth/StartVideoRecording?sessionId=\";\r\n private stopVideoRecordingUrl =\r\n \"api/Telehealth/StopVideoRecording?archiveId=\";\r\n private getCallInitiateUrl = \"Home/CallInitiate\";\r\n private getUrgentCareProviderActionInitiateUrl =\r\n \"Home/UrgentCareProviderActionInitiate\";\r\n private getcallPatientInformProviderAvailabilityUrl =\r\n \"Home/PatientInformProviderAvailability\";\r\n private getEndCallUrl = \"Home/CallEnd\";\r\n private getTotalCountForSuperAdmin: any =\r\n \"AdminDashboard/GetTotalCountForSuperAdmin\";\r\n private getAllUsersUrl = \"AdminDashboard/GetAllUsers\";\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private SpinnerService: NgxSpinnerService,\r\n private commonService: CommonService\r\n ) {\r\n SystemIpAddress.then((value) => {\r\n this.SytemInfoSubject.next({ ipAddress: value });\r\n }).catch((e) => \r\n // console.error(e)\r\n {}\r\n );\r\n }\r\n private loadingStateSubject = new BehaviorSubject(false);\r\n public loadingState = this.loadingStateSubject.asObservable();\r\n\r\n private chatSubject = new BehaviorSubject({} as ChatInitModel);\r\n public chat = this.chatSubject.asObservable().pipe(distinctUntilChanged());\r\n public CheckChatActivated(chatInitModel: ChatInitModel) {\r\n this.chatSubject.next(chatInitModel);\r\n }\r\n\r\n private chatUserSubject = new BehaviorSubject(\r\n {} as TextChatModel\r\n );\r\n public chatUser = this.chatUserSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n public ChatUserInit(textChatModel: TextChatModel) {\r\n this.chatUserSubject.next(textChatModel);\r\n }\r\n\r\n public newSelectedScreenSizeSubject = new BehaviorSubject(null);\r\n public newSelectedScreenSize = this.newSelectedScreenSizeSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n public newSelectedVideoPositionSubject = new BehaviorSubject(null);\r\n public newSelectedVideoPosition = this.newSelectedVideoPositionSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n private chatRoomSubject = new BehaviorSubject(0);\r\n public chatRoom = this.chatRoomSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n public SetChatRoomDetail(roomId: number) {\r\n this.chatRoomSubject.next(roomId);\r\n }\r\n\r\n public GetSessionTimeOutTime(isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(`${environment.api_url}/${this.getSessionTimeOutTimeUrl}`, {\r\n headers: headers,\r\n })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getAllUsersApi(request) {\r\n let url =\r\n this.getAllUsersUrl +\r\n \"?pageNumber=\" +\r\n request.pageNumber +\r\n \"&pageSize=\" +\r\n request.pageSize +\r\n \"&sortColumn=\" +\r\n request.sortColumn +\r\n \"&sortOrder=\" +\r\n request.sortOrder +\r\n \"&searchText=\" +\r\n request.searchText +\r\n \"&roleId=\" +\r\n request.roleId +\r\n \"&status=\" +\r\n request.status;\r\n return this.commonService.get(url);\r\n }\r\n GetTotalCountApi() {\r\n return this.commonService.get(this.getTotalCountForSuperAdmin);\r\n }\r\n\r\n getChatHistory(\r\n roomId: number,\r\n fromUserId: number,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getChatHistoryUrl}?FromUserId=${fromUserId}&RoomId=${roomId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getUserInChatRoom(\r\n roomId: number,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getUserInChatRoomUrl}?roomId=${roomId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n get getAdditionalHeaders(): string {\r\n // const additionalHeaders = JSON.stringify({\r\n // Offset: new Date().getTimezoneOffset().toString(),\r\n // Timezone: this.calculateTimeZone(),\r\n // IPAddress: this.getSystemIpAddress(),\r\n // });\r\n const additionalHeaders = JSON.stringify({\r\n Offset: new Date().getTimezoneOffset().toString(),\r\n Timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\r\n IPAddress: this.getSystemIpAddress(),\r\n });\r\n return additionalHeaders;\r\n }\r\n calculateTimeZone(dateInput?: Date): string {\r\n var dateObject = dateInput || new Date(),\r\n dateString = dateObject + \"\",\r\n tzAbbr: any =\r\n // Works for the majority of modern browsers\r\n dateString.match(/\\(([^\\)]+)\\)$/) ||\r\n // IE outputs date strings in a different format:\r\n dateString.match(/([A-Z]+) [\\d]{4}$/);\r\n\r\n if (tzAbbr) {\r\n // Old Firefox uses the long timezone name (e.g., \"Central\r\n // Daylight Time\" instead of \"CDT\")\r\n tzAbbr = tzAbbr[1];\r\n }\r\n return tzAbbr;\r\n }\r\n private SytemInfoSubject = new BehaviorSubject({});\r\n public sytemInfo = this.SytemInfoSubject.asObservable().pipe(\r\n distinctUntilChanged()\r\n );\r\n getSystemIpAddress(): string {\r\n return this.SytemInfoSubject.value && this.SytemInfoSubject.value.ipAddress;\r\n }\r\n\r\n setLoadingState(isLoading: boolean = false) {\r\n this.loadingStateSubject.next(isLoading);\r\n }\r\n\r\n private videoSubject = new BehaviorSubject({} as false);\r\n public video = this.chatSubject.asObservable().pipe(distinctUntilChanged());\r\n public setVideoStarted(isVideoStarted: boolean) {\r\n this.videoSubject.next(isVideoStarted);\r\n }\r\n\r\n startVideoRecording(\r\n sessionId: string,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n //businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n //isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.startVideoRecordingUrl}${sessionId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n //isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n private videoRecordingStartedSubject = new BehaviorSubject(\r\n {} as VideoRecordModel\r\n );\r\n public videoRecordingStarted = this.videoRecordingStartedSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n public CheckVideoRecordStatus(videoRecordModel: VideoRecordModel) {\r\n this.videoRecordingStartedSubject.next(videoRecordModel);\r\n }\r\n stopVideoRecording(\r\n archiveId: string,\r\n appointmentId: number,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n //businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n //isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.stopVideoRecordingUrl}${archiveId}&appointmentId=${appointmentId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n //isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getCallInitiate(\r\n appointmentId: number,\r\n userId: number,\r\n isLoading: boolean = true\r\n ): Observable {\r\n // console.log(\"6 getcallinitiate called from app service\");\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getCallInitiateUrl}?appointmentId=${appointmentId}&userId=${userId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getEndCall(\r\n appointmentId: number,\r\n userId: number,\r\n isLoading: boolean = true\r\n ): Observable {\r\n // console.log(\"7 getcallinitiate called from app service \");\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.setLoadingState(true);\r\n\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getEndCallUrl}?appointmentId=${appointmentId}&userId=${userId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n // private callSubject = new BehaviorSubject({} as CallInitModel);\r\n // public call = this.callSubject.asObservable().pipe(distinctUntilChanged());\r\n // public CheckCallStarted(callInitModel: CallInitModel) {\r\n // this.callSubject.next(callInitModel);\r\n // }\r\n\r\n private callSubject = new BehaviorSubject({} as CallInitModel);\r\n\r\n public call = this.callSubject\r\n .asObservable()\r\n // .pipe(\r\n // distinctUntilChanged((prev, curr) => prev.CallStatus === curr.CallStatus)\r\n // );\r\n\r\n public CheckCallStarted(callInitModel: CallInitModel) {\r\n this.callSubject.next(callInitModel);\r\n }\r\n\r\n getUrgentCareProviderActionInitiate(\r\n appointmentId: number,\r\n userId: number\r\n //isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n //isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getUrgentCareProviderActionInitiateUrl}?appointmentId=${appointmentId}&userId=${userId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n //isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n private callProviderActionSubject =\r\n new BehaviorSubject(\r\n {} as UrgentCareProviderActionInitModel\r\n );\r\n public ProviderActioncall = this.callProviderActionSubject.asObservable();\r\n public ProviderActioncallStarted(\r\n callInitModel: UrgentCareProviderActionInitModel\r\n ) {\r\n this.callProviderActionSubject.next(callInitModel);\r\n }\r\n\r\n getcallPatientInformProviderAvailability(\r\n appointmentId: number,\r\n userId: number\r\n //isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n //isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getcallPatientInformProviderAvailabilityUrl}?appointmentId=${appointmentId}&userId=${userId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n //isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getTotalCount(): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n //isLoading && this.setLoadingState(true);\r\n this.SpinnerService.show();\r\n return this.http\r\n .get(`${environment.api_url}/${this.getTotalCountForSuperAdmin}`, {\r\n headers: headers,\r\n })\r\n .pipe(\r\n map((res) => {\r\n //isLoading && this.setLoadingState(false);\r\n this.SpinnerService.hide();\r\n return res;\r\n })\r\n );\r\n }\r\n}\r\nconst SystemIpAddress = new Promise((r) => {\r\n const w: any = window,\r\n a = new (w.RTCPeerConnection ||\r\n w.mozRTCPeerConnection ||\r\n w.webkitRTCPeerConnection)({ iceServers: [] }),\r\n b = () => {};\r\n a.createDataChannel(\"\");\r\n a.createOffer((c) => a.setLocalDescription(c, b, b), b);\r\n a.onicecandidate = (c) => {\r\n try {\r\n c.candidate.candidate\r\n .match(\r\n /([0-9]{1,3}(\\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g\r\n )\r\n .forEach(r);\r\n } catch (e) {}\r\n };\r\n});\r\n","module.exports = \"app-publisher,\\r\\napp-subscriber {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.app-subscriber:nth-child(odd) {\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.app-subscriber:nth-child(even) {\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.video-call app-subscriber {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.OT_publisher {\\r\\n position: absolute;\\r\\n z-index: 1;\\r\\n right: 25px;\\r\\n bottom: 15px;\\r\\n width: 110px !important;\\r\\n height: 80px !important;\\r\\n}\\r\\n\\r\\ndiv.OT_subscriber {\\r\\n width: 100% !important;\\r\\n height: 100% !important;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n bottom: 0px;\\r\\n}\\r\\n\\r\\n.video-call {\\r\\n background: #000;\\r\\n color: #fff;\\r\\n z-index: 903;\\r\\n width: 100%;\\r\\n height: 500px;\\r\\n border-radius: 9px;\\r\\n}\\r\\n\\r\\n.video-call::before {\\r\\n content: \\\"Connecting...Please wait\\\";\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 40%;\\r\\n font-size: 15px;\\r\\n}\\r\\n\\r\\n.OT_name.OT_edge-bar-item.OT_mode-auto {\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.video-tool {\\r\\n /* z-index: 902;\\r\\n top: 115px;\\r\\n position: absolute !important; */\\r\\n z-index: 902;\\r\\n bottom: 6px;\\r\\n position: fixed !important;\\r\\n /*left: inherit !important;*/\\r\\n right: 10px;\\r\\n /*transition: linear all 100ms;*/\\r\\n width: 50% !important;\\r\\n height: -webkit-fit-content !important;\\r\\n height: -moz-fit-content !important;\\r\\n height: fit-content !important;\\r\\n}\\r\\n\\r\\n.video-tool.readmin-panel {\\r\\n box-shadow: none;\\r\\n padding: 0px;\\r\\n border-radius: 0px;\\r\\n}\\r\\n\\r\\n.video-tool.video-call-fixed {\\r\\n position: fixed !important;\\r\\n height: 100% !important;\\r\\n width: 100% !important;\\r\\n left: 0 !important;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n top: 0;\\r\\n margin: auto;\\r\\n background: #000000e0;\\r\\n\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.video-call-fixed .app-subscriber.sub-not-active {\\r\\n width: 7%;\\r\\n position: relative;\\r\\n height: 15%;\\r\\n top: 14px;\\r\\n float: left;\\r\\n z-index: 900;\\r\\n left: 37px;\\r\\n}\\r\\n\\r\\n.video-call-fixed .video-call {\\r\\n margin: auto;\\r\\n height: 95%;\\r\\n width: 97%;\\r\\n}\\r\\n\\r\\n.video-call.video-call-hide {\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.video-tool:hover .video-button {\\r\\n opacity: 1;\\r\\n transition: linear opacity 300ms;\\r\\n}\\r\\n\\r\\n.video-button {\\r\\n position: absolute;\\r\\n bottom: 36px;\\r\\n z-index: 1;\\r\\n left: 18%;\\r\\n opacity: 0;\\r\\n transition: linear opacity 300ms;\\r\\n}\\r\\n\\r\\n.video-button button {\\r\\n background-color: #0000 !important;\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n min-width: 35px;\\r\\n background: none;\\r\\n\\r\\n}\\r\\n\\r\\n.video-button button span.material-icons.call-end {\\r\\n color: #f55 !important;\\r\\n cursor: pointer !important;\\r\\n}\\r\\n\\r\\n.video-button button span.material-icons {\\r\\n font-size: 40px;\\r\\n cursor: pointer !important;\\r\\n}\\r\\n\\r\\n.video-button button span.material-icons {\\r\\n border: solid 3px;\\r\\n border-radius: 50%;\\r\\n padding: 3px;\\r\\n}\\r\\n\\r\\n.video-call-fixed .OT_subscriber {\\r\\n width: 95% !important;\\r\\n height: 90% !important;\\r\\n margin: auto;\\r\\n left: 5px;\\r\\n right: 5px;\\r\\n top: 5px;\\r\\n bottom: 5px;\\r\\n}\\r\\n\\r\\n.video-call-fixed .video-button {\\r\\n bottom: 50px;\\r\\n left: 40%;\\r\\n}\\r\\n\\r\\n.video-call-fixed .OT_publisher {\\r\\n right: 56px;\\r\\n bottom: 50px;\\r\\n}\\r\\n\\r\\n.video-tool.video-tool-hide {\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.app-subscriber.sub-active {}\\r\\n\\r\\n.app-subscriber.sub-not-active {\\r\\n width: 15%;\\r\\n position: relative;\\r\\n height: 15%;\\r\\n top: 1px;\\r\\n float: left;\\r\\n z-index: 900;\\r\\n}\\r\\n\\r\\n.video-tool .mat-form-field.mat-focused-1 {\\r\\n /* border: solid 1px #01385f; */\\r\\n /* padding: 0px 10px 0px 9px;\\r\\n width: 38%;\\r\\n position: relative;\\r\\n top: 57px;\\r\\n left: -114px; */\\r\\n padding: 0px 10px 0px 9px;\\r\\n width: 80px;\\r\\n position: relative;\\r\\n top: 0;\\r\\n left: 0;\\r\\n}\\r\\n\\r\\n.video-tool .mat-form-field.mat-focused-1 .mat-select-value {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.video-tool .mat-form-field.mat-focused-1 .mat-form-field-label {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.video-tool .mat-form-field.mat-focused-1 .mat-form-field-ripple {\\r\\n background-color: #01385f;\\r\\n}\\r\\n\\r\\n.video-tool .mat-form-field.mat-focused.mat-primary .mat-select-arrow {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width {\\r\\n width: 15% !important;\\r\\n height: 120px !important;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .app-subscriber.sub-not-active {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .video-call {\\r\\n height: 150px;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .video-call::before {\\r\\n font-size: 10px;\\r\\n left: 20%;\\r\\n /*transition: linear all 100ms;*/\\r\\n top: 32%;\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .publishing {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .video-button {\\r\\n left: 54%;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .video-button button {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .video-button button.btn-call-end,\\r\\n.video-tool.one-forth-width .video-button button.btn-full-screen {\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .video-button button span.material-icons {\\r\\n font-size: 25px;\\r\\n border-width: 2px;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .mat-form-field.mat-focused-1 {\\r\\n /* border: solid 1px #01385f; */\\r\\n padding: 0px 10px 0px 9px;\\r\\n width: 38% !important;\\r\\n position: relative;\\r\\n top: 40px;\\r\\n left: -94px;\\r\\n height: 36px;\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .OT_publisher {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.video-tool.half-width {\\r\\n width: 25% !important;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.half-width .app-subscriber.sub-not-active {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.video-tool.half-width .video-call {\\r\\n height: 200px;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.half-width .video-call:before {\\r\\n left: 28%;\\r\\n /*transition: linear all 100ms;*/\\r\\n font-size: 12px !important;\\r\\n top: 40%;\\r\\n}\\r\\n\\r\\n/* .video-tool.half-width .publishing {\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.video-tool.half-width .OT_publisher {\\r\\n width: 50px !important;\\r\\n height: 50px !important;\\r\\n right: 9px;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.half-width .video-button {\\r\\n left: 27%;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.half-width .video-button button span.material-icons {\\r\\n font-size: 19px;\\r\\n border-width: 2px;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.half-width .mat-form-field.mat-focused-1 {\\r\\n /* border: solid 1px #01385f; */\\r\\n padding: 0px 10px 0px 9px;\\r\\n width: 38%;\\r\\n position: relative;\\r\\n top: 40px;\\r\\n left: -94px;\\r\\n height: 39px;\\r\\n}\\r\\n\\r\\n.video-tool.half-width .mat-raised-button {\\r\\n padding: 0px !important;\\r\\n}\\r\\n\\r\\n@media all and (max-width:1050px) {\\r\\n .video-tool.readmin-panel {\\r\\n left: inherit !important;\\r\\n width: 70% !important;\\r\\n right: 10px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media all and (max-width:768px) {\\r\\n .video-tool.readmin-panel {\\r\\n left: inherit !important;\\r\\n width: 90% !important;\\r\\n right: 5px;\\r\\n }\\r\\n\\r\\n .video-call {\\r\\n display: flex;\\r\\n }\\r\\n}\\r\\n\\r\\n@media all and (max-width:550px) {\\r\\n .video-tool.readmin-panel {\\r\\n left: inherit !important;\\r\\n width: 99% !important;\\r\\n right: 5px;\\r\\n }\\r\\n\\r\\n .video-call {\\r\\n height: 98vh !important;\\r\\n }\\r\\n}\\r\\n\\r\\nsvg {\\r\\n stroke-dasharray: 281;\\r\\n -webkit-animation: dash 5.5s infinite linear forwards;\\r\\n}\\r\\n\\r\\n#hc-preloader {\\r\\n background-color: #000000;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n position: fixed;\\r\\n right: 0;\\r\\n top: 0;\\r\\n z-index: 2147483647;\\r\\n}\\r\\n\\r\\n.hc-loading {\\r\\n width: 100%;\\r\\n max-width: 550px;\\r\\n position: fixed;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n right: 0;\\r\\n -webkit-transform: translate(-50%, -50%);\\r\\n transform: translate(-50%, -50%);\\r\\n}\\r\\n\\r\\n.hc-loading #pulsar {\\r\\n stroke-dasharray: 281;\\r\\n -webkit-animation: dash 3.5s infinite linear forwards;\\r\\n}\\r\\n\\r\\n.hc-loading svg {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes dash {\\r\\n from {\\r\\n stroke-dashoffset: 814;\\r\\n }\\r\\n\\r\\n to {\\r\\n stroke-dashoffset: -814;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width:768px) {\\r\\n .video-button button span.material-icons {\\r\\n font-size: 20px;\\r\\n padding: 2px;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\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 { TextChatService } from \"./shared/text-chat/text-chat.service\";\r\nimport { TextChatModel } from \"./shared/text-chat/textChatModel\";\r\nimport { ChatInitModel } from \"./shared/models/chatModel\";\r\nimport { AppService } from \"./app-service.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { state } from \"@angular/animations\";\r\nimport { CommonService } from \"./platform/modules/core/services/common.service\";\r\nimport { ActivatedRoute, NavigationEnd, Router } from \"@angular/router\";\r\nimport { HomeService } from \"./front/home/home.service\";\r\nimport { MediaMatcher } from \"@angular/cdk/layout\";\r\nimport {\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n ViewEncapsulation,\r\n ViewChild,\r\n ElementRef,\r\n Renderer2,\r\n HostListener,\r\n} from \"@angular/core\";\r\nimport { ViewportScroller } from \"@angular/common\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { SubDomainService } from \"./subDomain.service\";\r\nimport * as OT from \"@opentok/client\";\r\nimport { ResizeEvent } from \"angular-resizable-element\";\r\nimport { OpentokService } from \"src/app/platform/modules/agency-portal/encounter/opentok.service\";\r\nimport { VideoRecordModel } from \"./shared/models/videoRecordModel\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { DragEventBindings } from \"./drag-event-bindings\";\r\n\r\n@Component({\r\n selector: \"app-root\",\r\n templateUrl: \"./app.component.html\",\r\n styleUrls: [\"./app.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n @ViewChild(\"videoDiv\") panelVideo: ElementRef;\r\n @ViewChild(\"textChat\") textChat: ElementRef;\r\n mobileQuery: MediaQueryList;\r\n\r\n title = \"healthcare-frontend-angular\";\r\n private subscription: Subscription;\r\n subDomainInfo: any;\r\n isLoadingSubdomain: boolean = false;\r\n isDarkTheme: boolean = false;\r\n\r\n private _mobileQueryListener: () => void;\r\n sessionId: string = \"\";\r\n apptId: string = \"0\";\r\n public style: object = {};\r\n public styleVideo: object = {};\r\n public styleChat: object = {};\r\n session: OT.Session;\r\n streams: Array = [];\r\n changeDetectorRef: ChangeDetectorRef;\r\n startTime: Date;\r\n endTime: Date;\r\n actualMin: any;\r\n invitationToken: string = \"\";\r\n otSessionId: number = 0;\r\n isVideoStarted: boolean = false;\r\n isChatActivated: boolean = false;\r\n appointmentId: number = 0;\r\n chatInitModel: ChatInitModel;\r\n textChatModel: TextChatModel;\r\n roomId: any;\r\n chatHistory: any = [];\r\n userInChatRoom: any = [];\r\n chatSub: any;\r\n organizationModel: string;\r\n loaderHide: boolean = true;\r\n constructor(\r\n private subDomainService: SubDomainService,\r\n private readonly _router: Router,\r\n private readonly _viewport: ViewportScroller,\r\n changeDetectorRef: ChangeDetectorRef,\r\n media: MediaMatcher,\r\n private homeService: HomeService,\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService,\r\n private renderer: Renderer2,\r\n private opentokService: OpentokService,\r\n private notifierService: NotifierService,\r\n private appService: AppService,\r\n private textChatService: TextChatService,\r\n private titleService: Title,\r\n private translate: TranslateService\r\n ) {\r\n if (!localStorage.getItem(\"language\")) {\r\n localStorage.setItem(\"language\", \"en\");\r\n this.translate.use(\"en\");\r\n }\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.mobileQuery = media.matchMedia(\"(max-width: 600px)\");\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n }\r\n\r\n ngOnInit() {\r\n this.setupScrollPositionOnNaviagtionEnd();\r\n this.attachDragEventToVideoTool();\r\n\r\n if (!localStorage.getItem(\"language\")) {\r\n localStorage.setItem(\"language\", \"en\");\r\n this.translate.use(\"en\");\r\n }\r\n\r\n const subDomainUrl = this.subDomainService.getSubDomainUrl();\r\n if (subDomainUrl) {\r\n this.isLoadingSubdomain = true;\r\n // console.log(\"app=> subdomain\");\r\n this.subDomainService.verifyBusinessName(subDomainUrl).subscribe();\r\n //this.subDomainService.setupVerifyBusinessResponse(response);\r\n setTimeout(() => {\r\n this.subscription = this.subDomainService\r\n .getSubDomainInfo()\r\n .subscribe((domainInfo) => {\r\n if (domainInfo)\r\n this.subDomainService.updateFavicon(\r\n \"data:image/png;base64,\" + domainInfo.organization.faviconBase64\r\n );\r\n // sessionStorage.setItem(\"businessName\",domainInfo.organization.businessName);\r\n });\r\n }, 2000);\r\n }\r\n setTimeout(() => {\r\n this.chatInitModel = new ChatInitModel();\r\n this.chatHistory = [];\r\n this.titleService.setTitle(sessionStorage.getItem(\"businessName\"));\r\n\r\n this.appService.chat.subscribe((chatModel: ChatInitModel) => {\r\n this.chatHistory = [];\r\n if (!chatModel) {\r\n chatModel = new ChatInitModel();\r\n }\r\n this.chatInitModel = chatModel;\r\n this.isChatActivated = chatModel.isActive;\r\n this.appService.chatRoom.subscribe((response: any) => {\r\n // console.log(\"chat room id message from server: \", response);\r\n\r\n this.roomId = response as Number;\r\n\r\n if (this.roomId > 0) {\r\n this.chatHistory = [];\r\n\r\n this.getChatHistory(this.roomId);\r\n if (this.roomId > 0) {\r\n this.appService\r\n .getUserInChatRoom(this.roomId)\r\n .subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.userInChatRoom = res.data;\r\n } else this.userInChatRoom = [];\r\n });\r\n }\r\n }\r\n });\r\n });\r\n\r\n this.appService.chatUser.subscribe((textChatModel: TextChatModel) => {\r\n if (!textChatModel) {\r\n textChatModel = new TextChatModel();\r\n }\r\n this.textChatModel = textChatModel;\r\n });\r\n // this.chatSub = this.appService.chatRoom.subscribe((response: any) => {\r\n // this.roomId = response as Number;\r\n // if (this.roomId > 0) {\r\n // this.chatHistory = [];\r\n // this.getChatHistory(this.roomId);\r\n // if (this.roomId > 0) {\r\n // this.appService.getUserInChatRoom(this.roomId).subscribe((res) => {\r\n // if (res.statusCode == 200) {\r\n // this.userInChatRoom = res.data;\r\n // } else this.userInChatRoom = [];\r\n // });\r\n // }\r\n // }\r\n // });\r\n\r\n this.activatedRoute.queryParams.subscribe((param) => {\r\n if (\r\n param[\"token\"] != null &&\r\n param[\"token\"] != undefined &&\r\n param[\"token\"] != \"\"\r\n ) {\r\n this.invitationToken = param[\"token\"];\r\n if (!localStorage.getItem(\"otSession\")) this.checkOTSession();\r\n }\r\n });\r\n\r\n this.commonService.videoSessionStarted.subscribe((res) => {\r\n var a = res;\r\n if (\r\n localStorage.getItem(\"otSession\") &&\r\n localStorage.getItem(\"otSession\") != \"\"\r\n )\r\n this.checkOTSession();\r\n });\r\n var interval = setInterval(() => {\r\n if (\r\n localStorage.getItem(\"otSession\") &&\r\n localStorage.getItem(\"otSession\") != \"\"\r\n ) {\r\n //if (!this.isVideoStarted) {\r\n let videoTool = document.getElementsByClassName(\"video-tool\");\r\n if (videoTool != undefined && videoTool.length > 0) {\r\n if (videoTool[0].classList.contains(\"video-tool-hide\")) {\r\n //this.session = new OT.Session();\r\n this.checkOTSession();\r\n }\r\n } else this.checkOTSession();\r\n //}\r\n } else {\r\n this.isVideoStarted = false;\r\n }\r\n }, 2000);\r\n\r\n //this.playAudio();\r\n\r\n this.appService.newSelectedVideoPosition.subscribe((s: string) => {\r\n if (s) {\r\n const [a, b] = s.split(\",\");\r\n const event = { x: a, y: b };\r\n this.onDragVideo(event, false);\r\n this.appService.newSelectedVideoPositionSubject.next(null);\r\n }\r\n });\r\n\r\n setTimeout(() => {\r\n this.loaderHide = false;\r\n }, 3000);\r\n }, 2000);\r\n }\r\n\r\n getChatHistory(roomId: number) {\r\n this.appService\r\n .getChatHistory(roomId, this.chatInitModel.UserId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) this.chatHistory = response.data;\r\n else this.chatHistory = [];\r\n });\r\n }\r\n checkVideoStarted() { }\r\n ngAfterViewInit() { }\r\n ngAfterViewChecked() {\r\n this.titleService.setTitle(sessionStorage.getItem(\"businessName\"));\r\n }\r\n ngOnChanges() { }\r\n // playAudio() {\r\n // let audio = new Audio();\r\n // audio.src = \"../assets/cell-phone-vibrate-1.wav\";\r\n // audio.load();\r\n // audio.muted = false;\r\n // if (typeof audio.loop == \"boolean\") {\r\n // audio.loop = true;\r\n // } else {\r\n // audio.addEventListener(\r\n // \"ended\",\r\n // function () {\r\n // this.currentTime = 0;\r\n // this.play();\r\n // },\r\n // false\r\n // );\r\n // }\r\n // audio.play();\r\n // }\r\n checkOTSession() {\r\n // console.log(\"22 checkotsesson is called from app.component \");\r\n if (!localStorage.getItem(\"otSession\")) {\r\n if (\r\n this.invitationToken != undefined &&\r\n this.invitationToken != null &&\r\n this.invitationToken != \"\"\r\n ) {\r\n //if (localStorage.getItem(\"inv_token\")) {\r\n // console.log(\"invitationtoken=\" + this.invitationToken);\r\n this.homeService\r\n .getOTSessionDetail(this.invitationToken)\r\n .subscribe((response: any) => {\r\n var data = response;\r\n if (response.statusCode == 200) {\r\n let videoTool = document.getElementsByClassName(\"video-tool\");\r\n if (videoTool != undefined && videoTool.length > 0)\r\n videoTool[0].classList.remove(\"video-tool-hide\");\r\n let videoCall = document.getElementsByClassName(\"video-call\");\r\n if (videoCall != undefined && videoCall.length > 0)\r\n videoCall[0].classList.remove(\"video-call-hide\");\r\n var otSession = this.commonService.encryptValue(\r\n JSON.stringify(response.data)\r\n );\r\n localStorage.setItem(\"otSession\", otSession);\r\n this.otSessionId = response.data.id;\r\n // console.log(\"apikey=\" + response.data.apiKey);\r\n // console.log(\"token=\" + response.data.token);\r\n // console.log(\"session=\" + response.data.sessionID);\r\n\r\n const config = {\r\n API_KEY: +response.data.apiKey,\r\n TOKEN: response.data.token,\r\n SESSION_ID: response.data.sessionID,\r\n SAMPLE_SERVER_BASE_URL: \"\",\r\n };\r\n this.apptId = response.data.appointmentId;\r\n this.getSession(config);\r\n } else {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Token is not valid or expired\"\r\n );\r\n }\r\n });\r\n //}\r\n }\r\n } else {\r\n let videoTool = document.getElementsByClassName(\"video-tool\");\r\n if (videoTool != undefined && videoTool.length > 0)\r\n videoTool[0].classList.remove(\"video-tool-hide\");\r\n let videoCall = document.getElementsByClassName(\"video-call\");\r\n if (videoCall != undefined && videoCall.length > 0)\r\n videoCall[0].classList.remove(\"video-call-hide\");\r\n var response = JSON.parse(\r\n this.commonService.encryptValue(\r\n localStorage.getItem(\"otSession\"),\r\n false\r\n )\r\n );\r\n this.otSessionId = response.id;\r\n const config = {\r\n API_KEY: +response.apiKey,\r\n TOKEN: response.token,\r\n SESSION_ID: response.sessionID,\r\n SAMPLE_SERVER_BASE_URL: \"\",\r\n };\r\n this.apptId = response.appointmentId;\r\n this.getSession(config);\r\n }\r\n }\r\n getSession(config: any) {\r\n // console.log(\"21 getsession is called from app.component.ts \");\r\n this.opentokService\r\n .initSession(config)\r\n .then((session: OT.Session) => {\r\n this.session = session;\r\n this.isVideoStarted = true;\r\n this.streams = Array();\r\n this.session.on(\"streamCreated\", (event) => {\r\n this.startTime = new Date();\r\n this.streams.push(event.stream);\r\n // if(this.changeDetectorRef!=null && this.changeDetectorRef!=undefined){\r\n // this.changeDetectorRef.detectChanges();\r\n // }\r\n this.changeDetectorRef.detectChanges();\r\n });\r\n this.session.on(\"streamDestroyed\", (event) => {\r\n this.capturedEndTime();\r\n if (event.reason === \"networkDisconnected\") {\r\n event.preventDefault();\r\n var subscribers = session.getSubscribersForStream(event.stream);\r\n if (subscribers.length > 0) {\r\n var subscriber = document.getElementById(subscribers[0].id);\r\n // Display error message inside the Subscriber\r\n subscriber.innerHTML =\r\n \"Lost connection. This could be due to your internet connection \" +\r\n \"or because the other party lost their connection.\";\r\n event.preventDefault(); // Prevent the Subscriber from being removed\r\n }\r\n }\r\n const idx = this.streams.indexOf(event.stream);\r\n if (idx > -1) {\r\n this.streams.splice(idx, 1);\r\n if (this.changeDetectorRef != null && this.changeDetectorRef != undefined) {\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n }\r\n });\r\n this.session.on(\"sessionDisconnected\", (event) => {\r\n this.capturedEndTime();\r\n });\r\n this.session.on(\"archiveStarted\", (event) => {\r\n // console.log(\"Archive Started : \" + event.id);\r\n let videoRecordModel: VideoRecordModel = new VideoRecordModel();\r\n videoRecordModel.isRecording = true;\r\n videoRecordModel.archiveId = event.id;\r\n this.appService.CheckVideoRecordStatus(videoRecordModel);\r\n this.notifierService.notify(\"success\", \"Recording Started\");\r\n });\r\n this.session.on(\"archiveStopped\", (event) => {\r\n // console.log(\"Archive Stopped : \" + event.id);\r\n let videoRecordModel: VideoRecordModel = new VideoRecordModel();\r\n videoRecordModel.isRecording = false;\r\n videoRecordModel.archiveId = event.id;\r\n this.appService.CheckVideoRecordStatus(videoRecordModel);\r\n this.notifierService.notify(\"success\", \"Recording Stopped\");\r\n });\r\n })\r\n .then(() => this.opentokService.connect())\r\n .catch((err) => {\r\n // console.error(\"error\", err);\r\n // alert(\r\n // \"Unable to connect. Make sure you have updated the config.ts file with your OpenTok details.\"\r\n // );\r\n });\r\n }\r\n\r\n private capturedEndTime() {\r\n this.startTime = new Date();\r\n var minutesToAdd = 10;\r\n var currentDate = new Date();\r\n var futureDate = new Date(currentDate.getTime() + minutesToAdd * 60000);\r\n this.endTime = futureDate;\r\n this.diff_minutes(this.endTime, this.startTime);\r\n this.updateCallDuration();\r\n }\r\n\r\n diff_minutes(dt2: Date, dt1: Date) {\r\n var diff = (dt2.getTime() - dt1.getTime()) / 1000;\r\n diff /= 60;\r\n this.actualMin = Math.abs(Math.round(diff));\r\n }\r\n updateCallDuration() {\r\n const OT = this.opentokService.getOT();\r\n // this.schedulerService\r\n // .UpdateCallDuration(this.apptId, this.actualMin)\r\n // .subscribe(response => {\r\n // if (response.statusCode === 200) {\r\n // console.log(\"Call time duration sucessfully captured\");\r\n // } else {\r\n // console.log(\"On call duration captured time something went wrong\");\r\n // }\r\n // });\r\n }\r\n onResizingVideo(event: ResizeEvent): boolean {\r\n const perValue =\r\n (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n if (perValue > 70 || perValue < 20) {\r\n return false;\r\n }\r\n this.renderer.setStyle(\r\n this.panelVideo.nativeElement,\r\n \"width\",\r\n `${perValue}%`\r\n );\r\n // let SOAPPanel = this.encounterService.SOAPPanelRef;\r\n // if (this.SOAPPanel)\r\n // this.renderer.setStyle(this.SOAPPanel.nativeElement, 'margin-right', `${event.rectangle.width}px`)\r\n }\r\n onDragVideo(event: any, iserUserDrag = true) {\r\n return;\r\n // let videoTool = document.getElementsByClassName(\"video-tool\");\r\n // if (videoTool != undefined && videoTool.length > 0)\r\n // videoTool[0].classList.remove(\"soap-note-video\");\r\n let top;\r\n let left;\r\n if (iserUserDrag) {\r\n (top = this.panelVideo.nativeElement.style.top),\r\n (left = this.panelVideo.nativeElement.style.left);\r\n (top = (parseInt(top) || 0) + event.y),\r\n (left = (parseInt(left) || 0) + event.x);\r\n } else {\r\n (top = event.y), (left = event.x);\r\n }\r\n\r\n //(top = top.replace(\"px\", \"\")), (right = right.replace(\"px\", \"\"));\r\n\r\n // this.renderer.setStyle(this.panelVideo.nativeElement, \"top\", `${top}px`);\r\n this.renderer.setStyle(this.panelVideo.nativeElement, \"left\", `${left}px`);\r\n // let bottom = this.panelVideo.nativeElement.style.bottom,\r\n // right = this.panelVideo.nativeElement.style.right;\r\n\r\n // (bottom = bottom.replace(\"px\", \"\")), (right = right.replace(\"px\", \"\"));\r\n // (bottom = (parseInt(bottom) || 0) + -event.y),\r\n // (right = (parseInt(right) || 0) + -event.x);\r\n // this.renderer.setStyle(\r\n // this.panelVideo.nativeElement,\r\n // \"bottom\",\r\n // `${bottom}px`\r\n // );\r\n // this.renderer.setStyle(\r\n // this.panelVideo.nativeElement,\r\n // \"right\",\r\n // `${right}px`\r\n // );\r\n }\r\n onValidateResize(event: ResizeEvent): boolean {\r\n let perValue =\r\n (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n if (perValue > 70 || perValue < 20) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n onValidateResizeVideo(event: ResizeEvent): boolean {\r\n // let perValue = (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n // const MIN_DIMENSIONS_PX: number = 50;\r\n // if (\r\n // event.rectangle.width &&\r\n // event.rectangle.height &&\r\n // (event.rectangle.width < MIN_DIMENSIONS_PX ||\r\n // event.rectangle.height < MIN_DIMENSIONS_PX) && (perValue > 70 || perValue < 20)\r\n // ) {\r\n // return false;\r\n // }\r\n return true;\r\n }\r\n onResizeVideoEnd(event: ResizeEvent): void {\r\n this.styleVideo = {\r\n position: \"fixed\",\r\n left: `${event.rectangle.left}px`,\r\n top: `${event.rectangle.top}px`,\r\n width: `${event.rectangle.width}px`,\r\n height: `${event.rectangle.height}px`,\r\n // bottom: `${event.rectangle.bottom}px`,\r\n // right: `${event.rectangle.right}px`,\r\n };\r\n }\r\n toggleActivation(i) {\r\n var activeSub = document.getElementsByClassName(\"sub-active\");\r\n activeSub[0].classList.add(\"sub-not-active\");\r\n activeSub[0].classList.remove(\"sub-active\");\r\n\r\n var subscriber = document.getElementsByClassName(\"app-subscriber\");\r\n subscriber[i].classList.add(\"sub-active\");\r\n subscriber[i].classList.remove(\"sub-not-active\");\r\n }\r\n\r\n onResizingChat(event: ResizeEvent): boolean {\r\n const perValue =\r\n (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n if (perValue > 70 || perValue < 20) {\r\n return false;\r\n }\r\n this.renderer.setStyle(\r\n this.textChat.nativeElement,\r\n \"width\",\r\n `${perValue}%`\r\n );\r\n // let SOAPPanel = this.encounterService.SOAPPanelRef;\r\n // if (this.SOAPPanel)\r\n // this.renderer.setStyle(this.SOAPPanel.nativeElement, 'margin-right', `${event.rectangle.width}px`)\r\n }\r\n onDragChat(event: any) {\r\n let top = this.textChat.nativeElement.style.top,\r\n right = this.textChat.nativeElement.style.right;\r\n\r\n //(top = top.replace(\"px\", \"\")), (right = right.replace(\"px\", \"\"));\r\n (top = (parseInt(top) || 0) + event.y),\r\n (right = (parseInt(right) || 0) + -event.x);\r\n //this.renderer.setStyle(this.panelVideo.nativeElement, \"top\", `${top}px`);\r\n this.renderer.setStyle(this.textChat.nativeElement, \"right\", `${right}px`);\r\n // let bottom = this.panelVideo.nativeElement.style.bottom,\r\n // right = this.panelVideo.nativeElement.style.right;\r\n\r\n // (bottom = bottom.replace(\"px\", \"\")), (right = right.replace(\"px\", \"\"));\r\n // (bottom = (parseInt(bottom) || 0) + -event.y),\r\n // (right = (parseInt(right) || 0) + -event.x);\r\n // this.renderer.setStyle(\r\n // this.panelVideo.nativeElement,\r\n // \"bottom\",\r\n // `${bottom}px`\r\n // );\r\n // this.renderer.setStyle(\r\n // this.panelVideo.nativeElement,\r\n // \"right\",\r\n // `${right}px`\r\n // );\r\n }\r\n onValidateChatResize(event: ResizeEvent): boolean {\r\n let perValue =\r\n (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n if (perValue > 70 || perValue < 20) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n onValidateResizeChat(event: ResizeEvent): boolean {\r\n // let perValue = (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n // const MIN_DIMENSIONS_PX: number = 50;\r\n // if (\r\n // event.rectangle.width &&\r\n // event.rectangle.height &&\r\n // (event.rectangle.width < MIN_DIMENSIONS_PX ||\r\n // event.rectangle.height < MIN_DIMENSIONS_PX) && (perValue > 70 || perValue < 20)\r\n // ) {\r\n // return false;\r\n // }\r\n return true;\r\n }\r\n onResizeChatEnd(event: ResizeEvent): void {\r\n this.styleChat = {\r\n position: \"fixed\",\r\n left: `${event.rectangle.left}px`,\r\n top: `${event.rectangle.top}px`,\r\n width: `${event.rectangle.width}px`,\r\n height: `${event.rectangle.height}px`,\r\n // bottom: `${event.rectangle.bottom}px`,\r\n // right: `${event.rectangle.right}px`,\r\n };\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n this.mobileQuery.removeListener(this._mobileQueryListener);\r\n this.chatSub.unsubscribe();\r\n }\r\n\r\n private attachDragEventToVideoTool() {\r\n window.setTimeout(() => {\r\n const videoTool = document.getElementsByClassName('video-tool')[0];\r\n\r\n if (!videoTool)\r\n return;\r\n\r\n // console.log('videoTool', videoTool);\r\n\r\n DragEventBindings.setupDragEvents(videoTool);\r\n }, 1000);\r\n }\r\n\r\n private setupScrollPositionOnNaviagtionEnd() {\r\n this._router.events\r\n .subscribe((event) => {\r\n if (event instanceof NavigationEnd)\r\n this._viewport.scrollToPosition([0, 0]);\r\n });\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport {\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatAutocompleteModule,\r\n MatDatepickerModule\r\n} from \"@angular/material\";\r\n\r\n@NgModule({\r\n imports: [\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatAutocompleteModule,\r\n MatDatepickerModule\r\n ],\r\n exports: [\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatAutocompleteModule,\r\n MatDatepickerModule\r\n ]\r\n})\r\nexport class AppMaterialModule {}\r\n","import { TextChatService } from \"./shared/text-chat/text-chat.service\";\r\nimport { AppService } from \"./app-service.service\";\r\nimport { EncounterModule } from \"./platform/modules/agency-portal/encounter/encounter.module\";\r\n//import { SubscriberComponent } from \"./platform/modules/agency-portal/encounter/video-chat/subscriber/subscriber.component\";\r\nimport \"hammerjs\";\r\n\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\n\r\nimport { NgModule } from \"@angular/core\";\r\n\r\nimport { AppComponent } from \"./app.component\";\r\nimport { AppMaterialModule } from \"./app.material.module\";\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { SharedModule } from \"./shared/shared.module\";\r\nimport { SubDomainGuard } from \"./subDomain.guard\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { SubDomainService } from \"./subDomain.service\";\r\nimport { NotifierModule, NotifierOptions } from \"angular-notifier\";\r\nimport { FrontModule } from \"src/app/front/front.module\";\r\nimport { ResizableModule } from \"angular-resizable-element\";\r\nimport { DragAndDropModule } from \"angular-draggable-droppable\";\r\nimport { MatVideoModule } from \"mat-video\";\r\nimport { NgIdleKeepaliveModule } from \"@ng-idle/keepalive\";\r\nimport { MomentModule } from \"angular2-moment\";\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\n// import ngx-translate and the http loader\r\nimport { TranslateLoader, TranslateModule } from \"@ngx-translate/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { TranslateHttpLoader } from \"@ngx-translate/http-loader\";\r\nimport { CommonService } from \"./super-admin-portal/core/services\";\r\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\r\n\r\n//import { PublisherComponent } from \"src/app/platform/modules/agency-portal/encounter/video-chat/publisher/publisher.component\";\r\n/**\r\n * Custom angular notifier options\r\n */\r\nconst customNotifierOptions: NotifierOptions = {\r\n position: {\r\n horizontal: {\r\n position: \"right\",\r\n distance: 12,\r\n },\r\n vertical: {\r\n position: \"bottom\",\r\n distance: 12,\r\n gap: 10,\r\n },\r\n },\r\n theme: \"material\",\r\n behaviour: {\r\n autoHide: 5000,\r\n onClick: \"hide\",\r\n onMouseover: \"pauseAutoHide\",\r\n showDismissButton: true,\r\n stacking: 4,\r\n },\r\n animations: {\r\n enabled: true,\r\n show: {\r\n preset: \"slide\",\r\n speed: 300,\r\n easing: \"ease\",\r\n },\r\n hide: {\r\n preset: \"fade\",\r\n speed: 300,\r\n easing: \"ease\",\r\n offset: 50,\r\n },\r\n shift: {\r\n speed: 300,\r\n easing: \"ease\",\r\n },\r\n overlap: 150,\r\n },\r\n};\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [\r\n NgIdleKeepaliveModule.forRoot(),\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n AppMaterialModule,\r\n AppRoutingModule,\r\n SharedModule,\r\n FrontModule,\r\n NotifierModule.withConfig(customNotifierOptions),\r\n ResizableModule,\r\n DragAndDropModule,\r\n EncounterModule,\r\n MatVideoModule,\r\n MomentModule,\r\n NgxSpinnerModule,\r\n MatSlideToggleModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n providers: [SubDomainGuard, SubDomainService, AppService, TextChatService, CommonService],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\nexport function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {\r\n return new TranslateHttpLoader(http);\r\n}\r\n","export namespace DragEventBindings {\r\n export function setupDragEvents(elmnt) {\r\n let pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0;\r\n\r\n /* otherwise, move the DIV from anywhere inside the DIV:*/\r\n elmnt.onmousedown = dragMouseDown;\r\n\r\n function dragMouseDown(e) {\r\n e = e || window.event;\r\n e.preventDefault();\r\n // get the mouse cursor position at startup:\r\n pos3 = e.clientX;\r\n pos4 = e.clientY;\r\n document.onmouseup = closeDragElement;\r\n // call a function whenever the cursor moves:\r\n document.onmousemove = elementDrag;\r\n }\r\n\r\n function elementDrag(e) {\r\n e = e || window.event;\r\n e.preventDefault();\r\n // calculate the new cursor position:\r\n pos1 = pos3 - e.clientX;\r\n pos2 = pos4 - e.clientY;\r\n pos3 = e.clientX;\r\n pos4 = e.clientY;\r\n // set the element's new position:\r\n elmnt.style.top = (elmnt.offsetTop - pos2) + \"px\";\r\n elmnt.style.left = (elmnt.offsetLeft - pos1) + \"px\";\r\n }\r\n\r\n function closeDragElement() {\r\n /* stop moving when mouse button is released:*/\r\n document.onmouseup = null;\r\n document.onmousemove = null;\r\n }\r\n }\r\n}","module.exports = \".cont-banner {\\r\\n background-image: url(\\\"/assets/img/about-us.png\\\");\\r\\n background-repeat: no-repeat;\\r\\n width: 100%;\\r\\n position: relative;\\r\\n background-size: cover;\\r\\n height: 600px;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n.contactus-content {\\r\\n background: linear-gradient(90.04deg, #000000 0.03%, rgba(196, 196, 196, 0) 99.97%);\\r\\n color: #fff;\\r\\n text-align: left;\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n padding: 0;\\r\\n padding-top: 10rem;\\r\\n}\\r\\n.contactus-content h2 {\\r\\n font-size: 4rem;\\r\\n padding-top: 0;\\r\\n font-weight: 700;\\r\\n color: #fff;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n.contactus-content h3 {\\r\\n font-size: 2rem;\\r\\n padding-top: 0;\\r\\n color: #fff;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n.contactus-content p {\\r\\n font-size: 20px;\\r\\n color: #fff;\\r\\n margin-bottom: 2rem;\\r\\n font-weight: 500;\\r\\n}\\r\\n.btn-white {\\r\\n background-color: #fff;\\r\\n border-radius: 7px;\\r\\n color: #01385f;\\r\\n font-weight: 600;\\r\\n padding: 15px 20px;\\r\\n}\\r\\n.btn-white a {\\r\\n color: #01385f;\\r\\n}\\r\\n.mission_headline {\\r\\n margin-bottom: 3rem;\\r\\n}\\r\\n.mission_headline h4 {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 500;\\r\\n font-size: 36px;\\r\\n line-height: 42px;\\r\\n text-align: center;\\r\\n text-transform: uppercase;\\r\\n color: #17a2b8;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.mission_headline h5 {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 700;\\r\\n font-size: 36px;\\r\\n line-height: 42px;\\r\\n text-align: center;\\r\\n color: #01385f;\\r\\n}\\r\\nsection.location-contact {\\r\\n margin-bottom: 60px;\\r\\n}\\r\\n.mission-sec {\\r\\n margin: 6rem 0;\\r\\n}\\r\\n.mission-sec .mission_img {\\r\\n position: relative;\\r\\n}\\r\\n.mission-sec .mission_img img {\\r\\n border-radius: 20px;\\r\\n width: 100%;\\r\\n}\\r\\n.mission-sec .mission_img img.mission_dot {\\r\\n width: auto;\\r\\n position: absolute;\\r\\n left: -5rem;\\r\\n top: -3rem;\\r\\n border-radius: 0;\\r\\n}\\r\\n.mission-sec .mission_content {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n.mission-sec .mission_content .mission_content1 h2 {\\r\\n font-weight: 500;\\r\\n font-size: 36px;\\r\\n line-height: 42px;\\r\\n color: #01385f;\\r\\n margin-bottom: 1.5rem;\\r\\n font-weight: 700;\\r\\n}\\r\\n.mission-sec .mission_content .mission_content1 h2 span {\\r\\n color: #17a2b8;\\r\\n}\\r\\n.mission-sec .mission_content .mission_content1 p {\\r\\n font-weight: 500;\\r\\n font-size: 18px;\\r\\n line-height: 32px;\\r\\n color: #000000;\\r\\n letter-spacing: -0.4px;\\r\\n}\\r\\n.vision-sec {\\r\\n margin: 6rem 0;\\r\\n}\\r\\n.vision-sec .vision_img {\\r\\n position: relative;\\r\\n text-align: right;\\r\\n}\\r\\n.vision-sec .vision_img img {\\r\\n border-radius: 20px;\\r\\n width: 100%;\\r\\n}\\r\\n.vision-sec .vision_img img.vision_dot {\\r\\n width: auto;\\r\\n position: absolute;\\r\\n right: -5rem;\\r\\n bottom: -3rem;\\r\\n border-radius: 0;\\r\\n}\\r\\n.vision-sec .vision_content {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n.vision-sec .vision_content .vision_content1 h2 {\\r\\n font-weight: 500;\\r\\n font-size: 36px;\\r\\n line-height: 42px;\\r\\n color: #01385f;\\r\\n margin-bottom: 1.5rem;\\r\\n font-weight: 700;\\r\\n}\\r\\n.vision-sec .vision_content .vision_content1 h2 span {\\r\\n color: #17a2b8;\\r\\n}\\r\\n.vision-sec .vision_content .vision_content1 p {\\r\\n font-weight: 500;\\r\\n font-size: 18px;\\r\\n line-height: 34px;\\r\\n color: #000000;\\r\\n letter-spacing: -0.4px;\\r\\n}\\r\\n/* Our Services Section Start */\\r\\n.our-services {\\r\\n position: relative;\\r\\n padding: 60px 0px;\\r\\n}\\r\\n.our-services::after {\\r\\n content: \\\"\\\";\\r\\n background-image: url('element-1.svg');\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: -4vh;\\r\\n width: 150px;\\r\\n height: 100%;\\r\\n background-repeat: no-repeat;\\r\\n opacity: 0.5;\\r\\n}\\r\\n.our-services::before {\\r\\n content: \\\"\\\";\\r\\n background-image: url('element-2.png');\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: -16vh;\\r\\n width: 150px;\\r\\n height: 100%;\\r\\n background-repeat: no-repeat;\\r\\n}\\r\\n.our-services .sec-head {\\r\\n text-align: center;\\r\\n}\\r\\n.our-services .sec-head h2 {\\r\\n font-size: 37px;\\r\\n color: #17a2b8;\\r\\n font-weight: 500;\\r\\n text-transform: uppercase;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.our-services .sec-head h3 {\\r\\n font-size: 38px;\\r\\n font-weight: 700;\\r\\n color: #01385f;\\r\\n margin-bottom: 35px;\\r\\n}\\r\\n.tab-btn-sec {\\r\\n text-align: center;\\r\\n}\\r\\n.tab-btn-sec .nav {\\r\\n display: block;\\r\\n}\\r\\n.tab-btn-sec ul li {\\r\\n display: inline-block;\\r\\n margin: 25px;\\r\\n}\\r\\n.tab-btn-sec ul li a.nav-link {\\r\\n padding: 15px 35px;\\r\\n border: 3px solid #3ac3d6;\\r\\n color: #3ac3d6;\\r\\n border-radius: 3px !important;\\r\\n font-weight: 500;\\r\\n letter-spacing: 1px;\\r\\n font-size: 22px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.tab-btn-sec ul li a.nav-link:hover {\\r\\n background: #01385f;\\r\\n color: #fff;\\r\\n border-color: #01385f;\\r\\n}\\r\\n.tab-btn-sec ul li a.nav-link i {\\r\\n font-size: 32px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n.tab-btn-sec ul li a.nav-link.active {\\r\\n background: #01385f;\\r\\n border: 2px solid #01385f;\\r\\n color: #fff;\\r\\n cursor: pointer;\\r\\n font-weight: 500;\\r\\n}\\r\\n.serv-card {\\r\\n background: #3ac3d60a;\\r\\n padding: 40px 30px;\\r\\n text-align: center;\\r\\n border-radius: 30px;\\r\\n min-height: 310px;\\r\\n}\\r\\n.serv-card img {\\r\\n width: 130px !important;\\r\\n margin: auto;\\r\\n height: 130px;\\r\\n}\\r\\n.serv-card h3 {\\r\\n font-size: 18px;\\r\\n margin: -15px 0 15px 0px;\\r\\n color: #01385f;\\r\\n font-weight: 700;\\r\\n /* min-height: 45px; */\\r\\n}\\r\\n.serv-card p {\\r\\n font-size: 16px;\\r\\n margin: 0px;\\r\\n line-height: 30px;\\r\\n color: #01385f;\\r\\n min-height: 105px;\\r\\n}\\r\\n.provide_img img {\\r\\n width: 100%;\\r\\n}\\r\\n.provide_content h2 {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 700;\\r\\n font-size: 36px;\\r\\n line-height: 42px;\\r\\n color: #01385f;\\r\\n font-weight: 700;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n.provide_content h2 span {\\r\\n color: #17a2b8;\\r\\n}\\r\\n.provide_content ul {\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n}\\r\\n.provide_content ul li {\\r\\n margin-bottom: 2rem;\\r\\n display: inline-flex;\\r\\n align-items: flex-start;\\r\\n}\\r\\n.provide_content ul li img {\\r\\n width: 24px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n/* Our Services Section End */\\r\\n.convenince_sec {\\r\\n background-image: url('doctor-convenience.png');\\r\\n height: 500px;\\r\\n border-radius: 40px;\\r\\n overflow: hidden;\\r\\n margin: 4rem 0;\\r\\n}\\r\\n.convenince_sec_1 {\\r\\n background: linear-gradient(90deg, #01385f 18.7%, rgba(52, 110, 142, 0.798206) 43.23%, rgba(255, 255, 255, 0) 89.64%);\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n background-size: cover;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n padding-left: 3rem;\\r\\n}\\r\\n.convenince_sec_1 h2 {\\r\\n color: #fff;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 700;\\r\\n font-size: 32px;\\r\\n line-height: 38px;\\r\\n}\\r\\n.convenince_sec_1 p {\\r\\n color: #fff;\\r\\n font-size: 24px;\\r\\n}\\r\\n@media screen and (max-width:991px) {\\r\\n .contactus-content h2 {\\r\\n font-size: 2.5rem;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.contactus-content h3 {\\r\\n font-size: 1.5rem;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.contactus-content p {\\r\\n font-size: 18px;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n.btn-white {\\r\\n padding: 10px 15px !important;\\r\\n}\\r\\n.mission-sec {\\r\\n margin: 4rem 0;\\r\\n}\\r\\n.mission_headline h4 {\\r\\n font-size: 26px;\\r\\n line-height: 32px;\\r\\n}\\r\\n.mission_headline h5 {\\r\\n font-size: 26px;\\r\\n line-height: 32px;\\r\\n}\\r\\n.mission-sec .mission_content .mission_content1 h2 {\\r\\n font-size: 26px;\\r\\n line-height: 32px;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.mission-sec .mission_content .mission_content1 p {\\r\\n font-size: 16px;\\r\\n line-height: 25px;\\r\\n}\\r\\n.vision-sec .vision_content .vision_content1 p {\\r\\n font-size: 16px;\\r\\n line-height: 24px;\\r\\n}\\r\\n.vision-sec .vision_content .vision_content1 h2 {\\r\\n font-size: 26px;\\r\\n line-height: 32px;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.our-services .sec-head h3 {\\r\\n font-size: 28px;\\r\\n font-weight: 700;\\r\\n color: #01385f;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n.provide_content h2 {\\r\\n font-size: 26px;\\r\\n line-height: 32px;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.provide_content ul li {\\r\\n margin-bottom: 1rem;\\r\\n font-size: 17px;\\r\\n}\\r\\n.convenince_sec_1 h2 {\\r\\n color: #fff;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 700;\\r\\n font-size: 26px;\\r\\n line-height: 28px;\\r\\n}\\r\\n.convenince_sec_1 p {\\r\\n color: #fff;\\r\\n font-size: 20px;\\r\\n font-weight: 300;\\r\\n}\\r\\n}\\r\\n@media (max-width: 767px) {\\r\\n .whatwedo-content h2,\\r\\n .contactus-content h2 {\\r\\n font-size: 2rem;\\r\\n }\\r\\n .cont-banner {\\r\\n height: 550px;\\r\\n margin-bottom: 30px;\\r\\n }\\r\\n .blue-icon {\\r\\n height: 110px;\\r\\n width: 110px;\\r\\n }\\r\\n .enqueiries p,\\r\\n .enqueiries span {\\r\\n font-weight: 500;\\r\\n font-size: 1.3rem;\\r\\n }\\r\\n .enqueiries h2 {\\r\\n font-size: 1.7rem;\\r\\n }\\r\\n section.location-contact {\\r\\n margin-bottom: 0;\\r\\n }\\r\\n .vision-sec,\\r\\n .mission-sec {\\r\\n margin: 2rem 0;\\r\\n }\\r\\n .vision-sec .vision_img,\\r\\n .mission-sec .mission_img {\\r\\n margin-bottom: 2rem;\\r\\n }\\r\\n .order-m-1 {\\r\\n order: 1;\\r\\n }\\r\\n .order-m-2 {\\r\\n order: 2;\\r\\n }\\r\\n .vision-sec .vision_content .vision_content1 h2,\\r\\n .mission-sec .mission_content .mission_content1 h2 {\\r\\n font-size: 24px;\\r\\n }\\r\\n .mission_headline h4 {\\r\\n font-size: 24px;\\r\\n }\\r\\n .mission_headline h5 {\\r\\n font-size: 24px;\\r\\n }\\r\\n .contactus-content {\\r\\n padding-top: 6rem;\\r\\n }\\r\\n .provide_img {\\r\\n margin-bottom: 2rem;\\r\\n }\\r\\n .convenince_sec_1 {\\r\\n padding-left: 1rem;\\r\\n }\\r\\n .provide_content h2 {\\r\\n font-size: 24px;\\r\\n }\\r\\n .our-services .sec-head h3 {\\r\\n font-size: 24px;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .tab-btn-sec ul li a.nav-link {\\r\\n padding: 6px !important;\\r\\n font-size: 14px !important;\\r\\n }\\r\\n .serv-card img {\\r\\n width: 90px !important;\\r\\n margin: auto;\\r\\n height: 90px;\\r\\n }\\r\\n .whatwedo-content h2, .contactus-content h2 {\\r\\n font-size: 1.5rem;\\r\\n }\\r\\n .contactus-content h3 {\\r\\n font-size: 1rem;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.contactus-content p {\\r\\n font-size: 16px;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n.btn-white {\\r\\n padding: 4px 15px !important;\\r\\n}\\r\\n.cont-banner {\\r\\n height: 400px;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n.mission_headline h4 , .mission_headline h5 {\\r\\n font-size: 16px;\\r\\n line-height: 25px;\\r\\n}\\r\\n.mission_headline {\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n.vision-sec .vision_content .vision_content1 h2, .mission-sec .mission_content .mission_content1 h2, .our-services .sec-head h3 {\\r\\n font-size: 20px;\\r\\n}\\r\\n.provide_content ul li{\\r\\n margin-bottom: 1rem;\\r\\n font-size: 15px;\\r\\n}\\r\\n.convenince_sec_1 p{\\r\\n\\r\\n font-size: 16px;\\r\\n}\\r\\n.convenince_sec_1 h2{\\r\\n font-size: 20px;\\r\\n line-height: 25px;\\r\\n}\\r\\n.convenince_sec{\\r\\n height: 360px;\\r\\n margin: 0rem 0 2rem 0;\\r\\n}\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"About_us\\\"|translate}}

\\r\\n

{{\\\"YOUR_GATEWAY_TO_QUALITY\\\"|translate}}

\\r\\n

\\r\\n {{\\\"myHealthyGate_is_founded_by_a_group_etc\\\"|translate}}\\r\\n

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

\\r\\n {{\\\"our_mission_is_clear_your_health_is_the_centre\\\"|translate}}\\r\\n

\\r\\n
{{\\\"Our_experience_in_this_industry_shaped_our_vision\\\"|translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"We_believe_in_quality_service\\\"|translate}}

\\r\\n

\\r\\n {{\\\"So_we_facilitate_a_direct_link_to_multiple_health_services_etc\\\"|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"We_believe_in_convenience\\\"|translate}}

\\r\\n

\\r\\n {{\\\"So_skip_waiting_in_the_clinic_for_the_doctor_skip_the_traffic_jam_etc\\\"|translate}}\\r\\n

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

{{\\\"We_see_That_health_is_beyond_treatment\\\"|translate}}

\\r\\n

\\r\\n {{\\\"Which_include_home_care_booking_nursing\\\"|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{\\\"We_thrive_on_making_your_health_as_accessible_as_possible\\\"|translate}}\\r\\n

\\r\\n

\\r\\n {{\\\"So_you_can_save_your_health_documents_in_your_account_etc\\\"|translate}}\\r\\n

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

\\r\\n {{\\\"We_open_the_Gate_to_the_healthcare_and_support_for_everyone_everywhere\\\"|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"myHealthyGate_provides:\\\"|translate}}

\\r\\n
    \\r\\n
  • \\r\\n \\\"\\\"\\r\\n {{\\\"MyHealthyWallet_manage_all_your_records_and_appointments_in_one_spot\\\"|translate}}\\r\\n
  • \\r\\n
  • \\r\\n \\\"\\\"\\r\\n {{\\\"Book_your_Video_Home_visit_or_F2F_Consultation_through_the_app_or_the_web\\\"|translate}}\\r\\n
  • \\r\\n
  • \\r\\n \\\"\\\"\\r\\n {{\\\"Attend_your_appointment_in_your_own_privacy\\\"|translate}}\\r\\n
  • \\r\\n
  • \\r\\n \\\"\\\"\\r\\n {{\\\"A_healthy_Gateway_beyond_medical_treatment_like_weight_management_mental_health_counselling_and_home_care\\\"|translate}}\\r\\n
  • \\r\\n
  • \\r\\n \\\"\\\"\\r\\n {{\\\"A_choice_to_have_prescriptions_sent_directly_to_your_selected_pharmacy\\\"|translate}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"We_Care_for_your_convenience\\\"|translate}}

\\r\\n

\\r\\n {{\\\"And_want_you_to_open_your_Healthy_Gate_to_access_the_best_health_providers_and_support_you_in_a_Healthier_life\\\"|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { OwlOptions } from \"ngx-owl-carousel-o\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: 'app-about-us',\r\n templateUrl: './about-us.component.html',\r\n styleUrls: ['./about-us.component.css']\r\n})\r\nexport class AboutUsComponent implements OnInit {\r\n\r\n customOptions: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: false,\r\n dots: true,\r\n navSpeed: 700,\r\n center: false,\r\n margin: 20,\r\n navText: [\r\n '',\r\n ''\r\n ],\r\n\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 3\r\n },\r\n 940: {\r\n items: 3\r\n }\r\n },\r\n nav: false\r\n };\r\n customOptionsTwo: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: false,\r\n dots: true,\r\n margin: 20,\r\n navSpeed: 700,\r\n center: false,\r\n navText: [\r\n '',\r\n ''\r\n ],\r\n\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 3\r\n },\r\n 940: {\r\n items: 3\r\n }\r\n },\r\n nav: false\r\n };\r\n customOptionsThree: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: false,\r\n dots: true,\r\n margin: 20,\r\n navSpeed: 700,\r\n center: false,\r\n navText: [\r\n '',\r\n ''\r\n ],\r\n\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 3\r\n },\r\n 940: {\r\n items: 3\r\n }\r\n },\r\n nav: false\r\n };\r\n \r\n tab1Active: boolean = true;\r\n tab2Active: boolean = false;\r\n tab3Active: boolean = false;\r\n showOnView: boolean = false;\r\n\r\n constructor(private translate:TranslateService)\r\n {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n \r\n tabActiveTwo(eve) {\r\n this.tab1Active = false;\r\n this.tab2Active = false;\r\n this.tab3Active = false;\r\n if(eve == 1) {\r\n this.tab1Active = true;\r\n } else if (eve == 2) {\r\n this.tab2Active = true;\r\n } else {\r\n this.tab3Active = true;\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \".blog_hero_section {\\r\\n height: 500px;\\r\\n width: 100%;\\r\\n margin-top: 5rem;\\r\\n}\\r\\n.blog_hero_section .container-fluid {\\r\\n overflow: hidden;\\r\\n padding: 0;\\r\\n}\\r\\n.blog_hero_section .col-md-6 {\\r\\n padding: 0;\\r\\n}\\r\\n.blog_hero_section .blog_hero_img {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n.blog_hero_section .blog_hero_content {\\r\\n background: #01385f;\\r\\n width: 100%;\\r\\n height: 500px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n.blog_hero_content .blog_hero_content1 {\\r\\n padding: 4rem;\\r\\n width: 65%;\\r\\n margin-left: auto;\\r\\n}\\r\\n.blog_hero_section .blog_hero_img {\\r\\n background-image: url('blog-rectangle-img.png');\\r\\n background-size: cover;\\r\\n height: 500px;\\r\\n width: 100%;\\r\\n}\\r\\n.blog_hero_content h3 {\\r\\n font-weight: 600;\\r\\n font-size: 28px;\\r\\n line-height: 41px;\\r\\n color: #fff;\\r\\n}\\r\\n.blog_hero_content p {\\r\\n font-weight: 500;\\r\\n font-size: 16px;\\r\\n line-height: 31px;\\r\\n color: #f4f4f4;\\r\\n}\\r\\n.btn-white {\\r\\n background-color: #fff;\\r\\n border-radius: 7px;\\r\\n color: #01385f;\\r\\n font-weight: 600;\\r\\n padding: 10px 15px;\\r\\n}\\r\\n.blog_article {\\r\\n margin: 5rem 0;\\r\\n}\\r\\n.blog_first_card {\\r\\n background: #ffffff;\\r\\n box-shadow: 0px 0px 18px rgba(0, 0, 0, 0.2);\\r\\n border-radius: 20px;\\r\\n padding: 1rem;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.blog_first_card img {\\r\\n width: 100%;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.blog_first_card h3 {\\r\\n font-weight: 600;\\r\\n font-size: 28px;\\r\\n line-height: 36px;\\r\\n color: #17a2b8;\\r\\n}\\r\\n.blog_first_card p {\\r\\n font-weight: 500;\\r\\n font-size: 16px;\\r\\n line-height: 31px;\\r\\n color: #666666;\\r\\n}\\r\\n.blog_first_card p.date {\\r\\n font-size: 16px;\\r\\n line-height: 31px;\\r\\n color: #000000;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n.blog_second_card {\\r\\n background: #ffffff;\\r\\n box-shadow: 0px 0px 18px rgba(0, 0, 0, 0.2);\\r\\n border-radius: 20px;\\r\\n padding: 1rem;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n.blog_second_card img {\\r\\n width: 100%;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.blog_second_card h3 {\\r\\n font-weight: 600;\\r\\n font-size: 28px;\\r\\n line-height: 36px;\\r\\n color: #17a2b8;\\r\\n}\\r\\n.blog_second_card p.date {\\r\\n font-size: 16px;\\r\\n line-height: 31px;\\r\\n color: #000000;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n.blog_related {\\r\\n background-color: #f9f9f9;\\r\\n padding: 4rem 0;\\r\\n}\\r\\n.blog_related .blog_card {\\r\\n background: #ffffff;\\r\\n box-shadow: 0px 0px 18px rgba(0, 0, 0, 0.14);\\r\\n border-radius: 20px;\\r\\n padding: 1rem;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.blog_card h3 {\\r\\n font-weight: 600;\\r\\n font-size: 20px;\\r\\n line-height: 31px;\\r\\n color: #17a2b8;\\r\\n}\\r\\n.blog_card img {\\r\\n width: 100%;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.blog_card p.date {\\r\\n font-weight: 500;\\r\\n font-size: 16px;\\r\\n line-height: 31px;\\r\\n color: #000000;\\r\\n margin: 0;\\r\\n}\\r\\n@media screen and (max-width: 1280px) {\\r\\n .blog_hero_content .blog_hero_content1 {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width: 767px) {\\r\\n .blog_hero_img {\\r\\n display: none;\\r\\n }\\r\\n .blog_hero_section {height: auto;}\\r\\n .blog_hero_section .blog_hero_content {\\r\\n height: auto;\\r\\n }\\r\\n .blog_hero_content .blog_hero_content1 {\\r\\n width: 100%;\\r\\n padding: 1rem 2rem;\\r\\n height: auto;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Security technology for tracking medical devices and medicine\\r\\n inventory\\r\\n

\\r\\n

\\r\\n Lorem ipsum dolor, sit amet consectetur adipisicing elit. Unde\\r\\n cumque, culpa illum consequatur ut ratione. Consequatur sint\\r\\n consequuntur, commodi sed blanditiis harum iure natus doloribus\\r\\n ullam quia, perspiciatis temporibus laudantium.\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

The doctor’s visit of the future will be like having coffee with a friend. Here’s why

\\r\\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Perspiciatis ducimus temporibus, unde nemo sapiente ex officiis dicta iusto ut veniam molestiae sunt similique libero reiciendis, dignissimos molestias quis ea porro?

\\r\\n

Lorem ipsum dolor sit amet consectetur adipisicing elit. Perspiciatis ducimus temporibus, unde nemo sapiente ex officiis dicta iusto ut veniam molestiae sunt similique libero reiciendis, dignissimos molestias quis ea porro?

\\r\\n

Lorem ipsum dolor sit mo sapiente ex officiis dicta iusto ut veniam molestiae sunt similique libero reiciendis, dignissimos molestias quis ea porro?

\\r\\n

June 1, 2022

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

OIG warns of telehealth fraud risks in wake of DOJ crackdown

\\r\\n

June 1, 2022

\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

OIG warns of telehealth fraud risks in wake of DOJ crackdown

\\r\\n

June 1, 2022

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

Digital health funding is cooling down

\\r\\n

June 10, 2021

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

Digital health funding is cooling down

\\r\\n

June 10, 2021

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

Digital health funding is cooling down

\\r\\n

June 10, 2021

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: 'app-blog',\r\n templateUrl: './blog.component.html',\r\n styleUrls: ['./blog.component.css']\r\n})\r\nexport class BlogComponent implements OnInit {\r\n\r\n constructor(private translate: TranslateService) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.textAreaClass{\\r\\nmin-height: 82px !important;\\r\\nwidth: 100%;\\r\\npadding:10px;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 24px;\\r\\n margin-top: 10px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #01385f;\\r\\n font-size: 28px;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #757575;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n display: inline-block;\\r\\n margin: 4px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n display: flex\\r\\n ;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n gap: 3px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0 1rem;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: flex;\\r\\n color: #757575;\\r\\n padding: 0px;\\r\\n font-size: 16px;\\r\\n gap: 5px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 16px;\\r\\n font-weight: 500;\\r\\n color: #01385f;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #757575;\\r\\n font-weight: 400;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book_appoint .clinic-services {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.book_appoint .clinic-services span {\\r\\n color: #6a6a6a;\\r\\n border-color: #6a6a6a;\\r\\n font-size: 16px;\\r\\n margin: 4px;\\r\\n}\\r\\n\\r\\n.book_title h3 {\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n outline-color: #01385f;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.book_title p {\\r\\n font-size: 18px;\\r\\n font-weight: 300;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.mat-raised-button[disabled][disabled] {\\r\\n background-color: #bdbdbd;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #01385f;\\r\\n font-size: 20px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: flex;\\r\\n font-weight: 600;\\r\\n justify-content: space-between;\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.80);\\r\\n font-size: 15px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.type_label_block {\\r\\n width: calc(100% - 175px);\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.clini-infos ul li i {\\r\\n position: relative;\\r\\n left: 0;\\r\\n top: 5px;\\r\\n color: #757575;\\r\\n}\\r\\n\\r\\n.book-type {\\r\\n border: 1px solid #c1c1c1;\\r\\n border-radius: 15px;\\r\\n overflow: hidden;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n background-color: #fff;\\r\\n padding: 0px 10px;\\r\\n border-bottom: 1px solid #c1c1c1;\\r\\n}\\r\\n\\r\\n.book-appt-type:nth-last-child(1) {\\r\\n border-bottom: none;\\r\\n}\\r\\n\\r\\n.book-appt-type label.type_label {\\r\\n margin: 0px 16px 0px 0px;\\r\\n font-weight: 500;\\r\\n color: #01385f;\\r\\n font-size: 15px;\\r\\n width: 175px;\\r\\n height: 40px;\\r\\n line-height: 36px;\\r\\n border-right: 1px solid #c1c1c1;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button {\\r\\n margin-right: 1rem;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 300;\\r\\n color: #17a2b8;\\r\\n font-size: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type strong {\\r\\n font-weight: 500;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #17a2b8;\\r\\n border-color: #17a2b8;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n border: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n width: 55%;\\r\\n border-radius: 10px;\\r\\n padding: 0.75rem;\\r\\n}\\r\\n\\r\\n.mat-step-label {\\r\\n font-weight: 500;\\r\\n color: #c1c1c1;\\r\\n}\\r\\n\\r\\n.mat-step-header .mat-step-label.mat-step-label-active.mat-step-label-selected {\\r\\n color: #17a2b8;\\r\\n}\\r\\n\\r\\n.mat-step-header .mat-step-icon-not-touched {\\r\\n background-color: #c1c1c1;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type .mat-radio-outer-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #17a2b8;\\r\\n border-radius: 7px;\\r\\n display: inline-block;\\r\\n font-size: 14px !important;\\r\\n padding: 5px 10px;\\r\\n height: 48px !important;\\r\\n margin: 6px 8px 6px 0px;\\r\\n line-height: normal;\\r\\n color: #17a2b8;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #17a2b8;\\r\\n color: #fff;\\r\\n background-color: #18639e54;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.cstm-btn {\\r\\n padding-top: 1rem;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n flex-wrap: wrap;\\r\\n gap: 5px;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #18639e54;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 7px 0px;\\r\\n font-size: 16px;\\r\\n /* margin: 10px 0px 0px; */\\r\\n line-height: 26px;\\r\\n}\\r\\n\\r\\n.uplaod_pic {\\r\\n border-radius: 4px !important;\\r\\n}\\r\\n\\r\\n.mat-form-field-appearance-legacy .mat-hint {\\r\\n color: rgba(0, 0, 0, 0.75) !important;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n margin: 18px 0px 15px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.pay-step h6 b {\\r\\n color: #01385f;\\r\\n text-transform: capitalize;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n}\\r\\n\\r\\n.uplaod_pic.browse-doc .browse {\\r\\n color: #6f6e6e !important;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.fnt-sze {\\r\\n font-size: 14px;\\r\\n margin-right: 12px;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-txtarea textarea.mat-input-element {\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.custom-txtarea label {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mat-radio-label-content {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.terms-check {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/* .mat-datepicker-content .mat-calendar{\\r\\n width:550px !important;\\r\\n height: auto !important;\\r\\n} */\\r\\n\\r\\n.followupError {\\r\\n color: #f44336;\\r\\n padding-left: 10px !important;\\r\\n padding-right: 10px !important;\\r\\n}\\r\\n\\r\\n.hgt-scroll {\\r\\n height: 460px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n margin-top: 6px;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: 2px;\\r\\n right: 5px;\\r\\n background-color: #01385f;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 0px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.cstm-cancel-btn i {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.link-btn.min-w-100 {\\r\\n min-width: 100px;\\r\\n margin-right: auto !important;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #17a2b8 !important;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #17a2b8;\\r\\n border-radius: 3px;\\r\\n}\\r\\n\\r\\n.appointment-panel .appointment-content {\\r\\n padding: 0px 15px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-label {\\r\\n padding-top: 15px !important;\\r\\n padding-bottom: 15px !important;\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell {\\r\\n padding: 16px 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell-content {\\r\\n width: 32px !important;\\r\\n left: 34% !important;\\r\\n font-weight: 500 !important;\\r\\n height: 32px;\\r\\n color: #0A1811;\\r\\n}\\r\\n\\r\\n/* .appointment-content .mat-calendar-body-today:selected(.mat-calendar-body-selected) {\\r\\n border-color: #f87515;\\r\\n background-color: #f87515;\\r\\n color: #fff;\\r\\n} */\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\r\\n border-color: rgba(0, 0, 0, 0.04);\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-controls {\\r\\n margin: 0 10px !important\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-spacer {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-header {\\r\\n padding: 10px !important;\\r\\n background-color: #f1f1f1 !important;\\r\\n color: #7B827E !important;\\r\\n}\\r\\n\\r\\n.mat-calendar-body-selected {\\r\\n background-color: #17a2b8;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-period-button {\\r\\n margin: 0 auto !important;\\r\\n color: #0A1811 !important;\\r\\n font-size: 16px !important;\\r\\n letter-spacing: 3px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-content {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header {\\r\\n background-color: #f1f1f1 !important;\\r\\n color: #7B827E !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header th {\\r\\n font-size: 13px !important;\\r\\n color: #7b827e !important;\\r\\n padding-bottom: 0;\\r\\n font-weight: 600;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-card {\\r\\n box-shadow: none !important;\\r\\n padding: 0 !important;\\r\\n border: 1px solid #efefef !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header-divider {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-previous-button {\\r\\n position: absolute !important;\\r\\n left: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-arrow {\\r\\n border-top-color: #fff !important;\\r\\n}\\r\\n\\r\\n.receipt {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n\\r\\n.cstm-add {\\r\\n display: block;\\r\\n width: 75%;\\r\\n}\\r\\n\\r\\n.cstm-add input:focus-visible {\\r\\n outline: none !important\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name>div>div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.select-box {\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.select-box input {\\r\\n width: 100%;\\r\\n margin: 0 !important;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n/* scroller hide css */\\r\\n\\r\\n.mat-step-header .mat-step-icon {\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-horizontal-stepper-header .mat-step-icon, .mat-horizontal-stepper-header .mat-step-icon-not-touched {\\r\\n margin-right: 2px;\\r\\n flex: none;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-step-icon {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.mat-step-icon-content {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n width: 24px;\\r\\n /* position: absolute; */\\r\\n /* top: 50%; */\\r\\n /* left: 50%; */\\r\\n /* transform: translate(-50%, -50%);\\r\\n}\\r\\n\\r\\n.next-btn.mat-raised-button {\\r\\n background-color: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n.lds-facebook {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n height: 70vh;\\r\\n /* background-color: #014a712a; */\\r\\n /* background-color: linear-gradient(#01385ffc,#17a2b8); */\\r\\n }\\r\\n\\r\\n.lds-facebook div {\\r\\n display: inline-block;\\r\\n margin-left:2px;\\r\\n width: 12px;\\r\\n /* background: linear-gradient(#01385ffc,#17a2b8); */\\r\\n background: #17a2b8;\\r\\n -webkit-animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;\\r\\n animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;\\r\\n }\\r\\n\\r\\n.lds-facebook div:nth-child(1) {\\r\\n -webkit-animation-delay: -0.24s;\\r\\n animation-delay: -0.24s;\\r\\n }\\r\\n\\r\\n.lds-facebook div:nth-child(2) {\\r\\n -webkit-animation-delay: -0.12s;\\r\\n animation-delay: -0.12s;\\r\\n }\\r\\n\\r\\n.lds-facebook div:nth-child(3) {\\r\\n -webkit-animation-delay: 0;\\r\\n animation-delay: 0;\\r\\n }\\r\\n\\r\\n@-webkit-keyframes lds-facebook {\\r\\n 0% {\\r\\n top: 8px;\\r\\n height: 64px;\\r\\n }\\r\\n 50%, 100% {\\r\\n top: 24px;\\r\\n height: 32px;\\r\\n }\\r\\n }\\r\\n\\r\\n@keyframes lds-facebook {\\r\\n 0% {\\r\\n top: 8px;\\r\\n height: 64px;\\r\\n }\\r\\n 50%, 100% {\\r\\n top: 24px;\\r\\n height: 32px;\\r\\n }\\r\\n }\\r\\n\\r\\n.date-with-dot {\\r\\n position: relative;\\r\\n }\\r\\n\\r\\n.date-with-dot::after {\\r\\n content: '';\\r\\n position: absolute;\\r\\n bottom: 2px;\\r\\n left: 50%;\\r\\n -webkit-transform: translateX(-50%);\\r\\n transform: translateX(-50%);\\r\\n width: 4px;\\r\\n height: 4px;\\r\\n background-color: red;\\r\\n border-radius: 50%;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n }\\r\\n\\r\\n@media screen and (max-width:991px) {\\r\\n .appt-drpanel {\\r\\n border-right: none;\\r\\n }\\r\\n .appointment-panel .mat-horizontal-stepper-header-container {\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n\\r\\n@media screen and (max-width:600px) {\\r\\n .book_title p {\\r\\n font-size: 12px;\\r\\n }\\r\\n .appt-drpanel .clini-infos ul li a {\\r\\n font-size: 12px;\\r\\n }\\r\\n .appt-drpanel .clini-infos ul li {\\r\\n margin: 5px 0px;\\r\\n font-size: 12px;\\r\\n }\\r\\n .drpanel-block .doc-department {\\r\\n font-size: 12px;\\r\\n }\\r\\n .drpanel-block .doc-name a {\\r\\n font-size: 22px;\\r\\n }\\r\\n ::ng-deep mat-step-header {\\r\\n padding: 0;\\r\\n }\\r\\n ::ng-deep .mat-stepper-horizontal-line {\\r\\n display: none;\\r\\n padding: 0;\\r\\n }\\r\\n .book-appt-type strong {\\r\\n font-size: 12px;\\r\\n }\\r\\n .book-appt-type .mat-radio-button label {\\r\\n font-size: 12px;\\r\\n }\\r\\n .book-appt-type label.type_label {\\r\\n font-size: 12px;\\r\\n width: 145px;\\r\\n height: inherit !important;\\r\\n line-height: 24px;\\r\\n }\\r\\n .type_label_block {\\r\\n width: calc(100% - 145px);\\r\\n }\\r\\n }\\r\\n\\r\\n@media screen and (max-width:575px) {\\r\\n \\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 0px;\\r\\n}\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding: 4px;\\r\\n}\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n }\\r\\n\\r\\n@media screen and (max-width:450px) {\\r\\n .book-appt-type label.type_label {\\r\\n border-right: none;\\r\\n width: 100%;\\r\\n }\\r\\n .type_label_block {\\r\\n width: 100%;\\r\\n }\\r\\n .book-appt-type {\\r\\n flex-direction: column;\\r\\n }\\r\\n }\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n

\\r\\n Dr. {{ fullname }}\\r\\n

\\r\\n
\\r\\n
\\r\\n {{ spl.speciality }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (17)\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"book_an_appointment\\\"|translate}}

\\r\\n

{{\\\"select_date_and_time_and_then_pay\\\"|translate}}

\\r\\n
\\r\\n
{{\\\"appointement_booking\\\"|translate}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{\\\"select_date_and_time\\\"|translate}}\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ type ==='New' ? ('new' | translate) : type &&\\r\\n type === 'Follow-up' ? ('follow_up' | translate) : type }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{\\r\\n mode === 'Face to Face' ? ('face_to_face' | translate) : mode &&\\r\\n mode === 'Home Visit' ? ('home_visit' | translate) : mode &&\\r\\n mode === 'Online' ? ('online' | translate) : mode\\r\\n }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{\\r\\n userInfo.payRate | currency : \\\"JOD \\\" : \\\"symbol-narrow\\\"\\r\\n }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\r\\n userInfo.ftFpayRate | currency : \\\"JOD \\\" : \\\"symbol-narrow\\\"\\r\\n }}\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\r\\n userInfo.homeVisitPayRate\\r\\n | currency : \\\"JOD \\\" : \\\"symbol-narrow\\\"\\r\\n }}\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\r\\n userInfo.followUpPayRate\\r\\n | currency : \\\"JOD \\\" : \\\"symbol-narrow\\\"\\r\\n }}\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\r\\n userInfo.ftfFollowUpPayRate\\r\\n | currency : \\\"JOD \\\" : \\\"symbol-narrow\\\"\\r\\n }}\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\r\\n userInfo.homeVisitFollowUpPayRate\\r\\n | currency : \\\"JOD \\\" : \\\"symbol-narrow\\\"\\r\\n }}\\r\\n
\\r\\n \\r\\n You don't have any previous appointment with this provider\\r\\n within allowed days.\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please select another date.\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{\\\"book_and_pay\\\"|translate}}\\r\\n
\\r\\n {{\\\"Please select appointment slot first to book in previous step, then pay here\\\"|translate}}.\\r\\n
\\r\\n
\\r\\n

\\r\\n {{\\\"you_are_requesting_booking_for_Counseling\\\"|translate}}\\r\\n {{ spl.speciality }},\\r\\n \\r\\n
\\r\\n {{ confirmation.date | date : \\\"fullDate\\\" }} {{\\\"between\\\"|translate}}\\r\\n {{ selectedSlotTime.startTime }} {{\\\"to\\\"|translate}}\\r\\n {{ selectedSlotTime.endTime }}\\r\\n

\\r\\n \\r\\n
\\r\\n {{\\\"we_will_send_you_an_email_with_a_booking_confirmation\\\"|translate}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n {{ file.fileName }}\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ fts.label }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n By ticking you have agreed to our {{'terms_and_conditions'|translate}} and read our {{'privacy_policy'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\\"notify_if_any_prior_appointment\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n {{\\\"Payment method\\\"|translate}}\\r\\n\\r\\n Total amount :{{ TotalAmount| currency : \\\"JOD \\\" : \\\"symbol-narrow\\\"}}\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\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\\\"|translate}}

\\r\\n

\\r\\n Your appointment request has been submitted successfully with us for
\\r\\n {{\\r\\n spl.speciality\\r\\n }}\\r\\n on {{ confirmation.date | date : \\\"fullDate\\\" }} between\\r\\n {{ selectedSlotTime.startTime }} to\\r\\n {{ selectedSlotTime.endTime }}.\\r\\n

\\r\\n

\\r\\n This is your billing number {{billingNo}}\\r\\n

\\r\\n

\\r\\n Please check your email for further assistance. We will contact you\\r\\n as soon as possible.\\r\\n

\\r\\n
\\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 { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { FollowupAppointmentComponent } from \"./../../shared/followup-appointment/followup-appointment.component\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport {\r\n MatAutocomplete,\r\n MatAutocompleteSelectedEvent,\r\n MatChipInputEvent,\r\n MatDialog,\r\n MatDialogRef,\r\n MatStepper,\r\n MAT_DIALOG_DATA,\r\n MatCalendar,\r\n} from \"@angular/material\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Inject,\r\n Renderer2,\r\n ViewChild,\r\n ElementRef,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n StaffAward,\r\n StaffQualification,\r\n StaffExperience,\r\n} from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { DatePipe, DOCUMENT } from \"@angular/common\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { TermsConditionModalComponent } from \"../terms-conditions/terms-conditions.component\";\r\nimport { SaveDocumentComponent } from \"../save-document/save-document.component\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { SymptomCheckerService } from \"src/app/shared/symptom-checker/symptom-checker.service\";\r\nimport { HyperPayComponent } from \"src/app/shared/hyper-pay/hyper-pay.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { env } from \"process\";\r\nimport { PaymentModeEnum } from \"src/app/shared/models/callModel\";\r\n\r\nconst getDateTimeString = (date: string, time: string): string => {\r\n const y = new Date(date).getFullYear(),\r\n m = new Date(date).getMonth(),\r\n d = new Date(date).getDate(),\r\n splitTime = time.split(\":\"),\r\n hours = parseInt(splitTime[0] || \"0\", 10),\r\n minutes = parseInt(splitTime[1].substring(0, 2) || \"0\", 10),\r\n meridiem = splitTime[1].substring(3, 5) || \"\",\r\n updatedHours =\r\n (meridiem || \"\").toUpperCase() === \"PM\" && hours != 12\r\n ? hours + 12\r\n : hours;\r\n\r\n const startDateTime = new Date(y, m, d, updatedHours, minutes);\r\n\r\n return format(startDateTime, \"YYYY-MM-DDTHH:mm:ss\");\r\n};\r\n@Component({\r\n selector: \"app-book-appointment\",\r\n templateUrl: \"./book-appointment.component.html\",\r\n styleUrls: [\"./book-appointment.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class BookAppointmentComponent implements OnInit, AfterViewInit {\r\n @ViewChild('stepper') private stepper!: MatStepper;\r\n PaymentMode: PaymentModeEnum = 2\r\n submitted: boolean = false;\r\n uploadImageData;\r\n todayDate: Date = new Date();\r\n isLinear = false;\r\n patient: any;\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n lastSelectedEvent: any;\r\n thirdFormGroup: FormGroup;\r\n userInfo: any;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n staffId: number;\r\n providerId: string;\r\n lastFollowupData: any;\r\n lastFollowup: any;\r\n IsPreviousFollowup: boolean = false;\r\n appointmenType: any = [\"New\", \"Follow-up\"];\r\n appointmentMode: any = [\"Online\", \"Face to Face\", \"Home Visit\"];\r\n confirmation: any = { type: \"New\", mode: \"Online\" };\r\n providerAvailiabilitySlots: any = [];\r\n patientAppointments: any;\r\n staffAvailability: any;\r\n locationId: number;\r\n showLoader: boolean = false;\r\n providerAvailableDates: any = [];\r\n providerNotAvailableDates: any = [];\r\n masterPatientLocation: Array;\r\n masterStaffs: Array;\r\n masterAddressTypes: Array;\r\n officeAndPatientLocations: Array;\r\n masterAppointmentTypes: Array;\r\n Organization: any;\r\n patientEmail: string;\r\n paymentToken: string = \"\";\r\n Message: any;\r\n isNotBooked: boolean;\r\n isProfileLoaded: boolean = false;\r\n fileList: any = [];\r\n documentNotes: { documentTitle: string, documentTypeId: string }[] = [];\r\n dataURL: any;\r\n hasPreviousNewMeeting = false;\r\n isNotify = false;\r\n showselecttermscondition: boolean = false;\r\n istermsconditionchecked: boolean = false;\r\n local_apptid: number;\r\n userControl = new FormControl();\r\n filteredSymptoms$: Observable;\r\n symptoms: any = [];\r\n age: any;\r\n startTime;\r\n endTime;\r\n newfollowupfees: boolean = false;\r\n @ViewChild(\"userInput\") userInput: ElementRef;\r\n @ViewChild(\"auto\") matAutocomplete: MatAutocomplete;\r\n selectedDate: Date = new Date();\r\n startDateTimes: any[] = [];\r\n initialized: boolean;\r\n currentMonth: number = this.selectedDate.getMonth();\r\n currentYear: number = this.selectedDate.getFullYear();\r\n @ViewChild('calendar') calendar: MatCalendar;\r\n\r\n\r\n\r\n appointmentModeId: number;\r\n selectedSlotTime: { startTime: string, endTime: string } = { startTime: \"\", endTime: \"\" };\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private route: Router,\r\n private dialogModalRef: MatDialogRef,\r\n private _formBuilder: FormBuilder,\r\n private homeService: HomeService,\r\n private commonService: CommonService,\r\n private notifierService: NotifierService,\r\n private usersService: UsersService,\r\n private schedulerService: SchedulerService,\r\n private datePipe: DatePipe,\r\n private renderer2: Renderer2,\r\n private dialogModal: MatDialog,\r\n private userService: UsersService,\r\n private notifier: NotifierService,\r\n translate: TranslateService,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.staffId = data.staffId;\r\n this.userInfo = data.userInfo;\r\n this.locationId = data.locationId;\r\n this.providerId = data.providerId;\r\n this.age = data.age;\r\n dialogModalRef.disableClose = true;\r\n this.masterStaffs = [];\r\n this.masterPatientLocation = [];\r\n this.masterAppointmentTypes = [];\r\n this.masterAddressTypes = [];\r\n this.officeAndPatientLocations = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.Message = null;\r\n this.isNotBooked = true;\r\n localStorage.removeItem(\"preAppointmentData\");\r\n localStorage.removeItem(\"preAppointmentDataDocs\");\r\n this.homeService.getOrganizationDetail().subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.Organization = response.data;\r\n }\r\n });\r\n\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.patient = user.data.id;\r\n\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n this.patientEmail = user.patientData.email;\r\n }\r\n }\r\n });\r\n const s = this.renderer2.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n this.firstFormGroup = this._formBuilder.group({\r\n appointmentDate: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required],\r\n });\r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: [\"\", Validators.required],\r\n });\r\n this.thirdFormGroup = this._formBuilder.group({\r\n Notes: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required],\r\n });\r\n\r\n if (this.providerId != \"\") {\r\n this.getStaffDetail();\r\n this.getLastNewAppointment(this.providerId);\r\n } else {\r\n this.bindStaffProfile();\r\n }\r\n if (this.locationId > 0) {\r\n if (this.data.selectedDate) {\r\n this.onDateChange(this.data.selectedDate);\r\n this.firstFormGroup\r\n .get(\"appointmentDate\")\r\n .setValue(this.data.selectedDate);\r\n } else {\r\n this.onDateChange(format(Date(), 'MM/DD/YYYY'));\r\n this.firstFormGroup.get(\"appointmentDate\").setValue(Date());\r\n }\r\n // this.getProvidersFollowUpDaysAllowed(this.providerId);\r\n }\r\n else {\r\n this.onDateChange(format(Date(), 'MM/DD/YYYY'));\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => this.addDotsToAppointmentDates(), 3000);\r\n setTimeout(() => this.calendar.stateChanges.subscribe(() => {\r\n //console.log(\"under ngafterviewinit settimeout\")\r\n const today = new Date();\r\n const todayDate = today.getDate();\r\n const todayMonth = today.getMonth();\r\n const todayYear = today.getFullYear();\r\n\r\n\r\n const activeDate = this.calendar.activeDate;\r\n const activeMonth = activeDate.getMonth();\r\n const activeYear = activeDate.getFullYear();\r\n\r\n if (this.calendar.activeDate.getMonth() !== this.currentMonth ||\r\n this.calendar.activeDate.getFullYear() !== this.currentYear) {\r\n this.startDateTimes = [];\r\n this.currentMonth = this.calendar.activeDate.getMonth();\r\n this.currentYear = this.calendar.activeDate.getFullYear();\r\n // console.log(\"This current Month\", this.currentMonth, this.currentYear)\r\n // this.loadAppointmentsForCurrentMonth(null);\r\n if (activeMonth === todayMonth && activeYear === todayYear) {\r\n\r\n this.calendar.activeDate = new Date(todayYear, todayMonth, todayDate);\r\n this.loadAppointmentsForCurrentMonth(new Date);\r\n this.onDateChange(new Date(todayYear, todayMonth, todayDate));\r\n } else {\r\n\r\n this.calendar.activeDate = new Date(activeYear, activeMonth, 1);\r\n this.loadAppointmentsForCurrentMonth(null);\r\n this.onDateChange(new Date(activeYear, activeMonth, 1));\r\n }\r\n }\r\n }), 2000);\r\n setTimeout(() => this.loadAppointmentsForCurrentMonth(new Date()),1000);\r\n }\r\n\r\n\r\n loadAppointmentsForCurrentMonth(currentDate: any): void {\r\n\r\n const startDate = currentDate != null ? currentDate : new Date(this.currentYear, this.currentMonth, 1);\r\n const endDate = new Date(this.currentYear, this.currentMonth + 1, 0);\r\n const formatAddedOneDayEndDate = new Date(this.currentYear, this.currentMonth, endDate.getDate() + 1);\r\n // console.log(\"loading loading\")\r\n const formattedStartDate = format(startDate, 'MM/DD/YYYY');\r\n const formattedEndDate = format(formatAddedOneDayEndDate, 'MM/DD/YYYY');\r\n\r\n this.LoadRedDotes(formattedStartDate, formattedEndDate);\r\n }\r\n\r\n\r\n LoadRedDotes(startDate, endDate) {\r\n var selDate = null;\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n this.firstFormGroup.get(\"appointmentDate\").setValue(event);\r\n\r\n // this.staffAvailability = [];\r\n switch (this.confirmation.mode.toLowerCase()) {\r\n case \"online\":\r\n this.appointmentModeId = 1;\r\n break;\r\n case \"face to face\":\r\n this.appointmentModeId = 2;\r\n break;\r\n case \"home visit\":\r\n this.appointmentModeId = 3;\r\n break;\r\n }\r\n this.usersService\r\n .getStaffAvailabilityByLocation(\r\n this.staffId,\r\n this.locationId,\r\n selDate,\r\n this.appointmentModeId,\r\n startDate,\r\n endDate\r\n\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n // let availibiltyResponse = response;\r\n this.showLoader=false\r\n if (response && response.statusCode === 200) {\r\n //console.log(\"red dot appointments\", response.data)\r\n this.startDateTimes = (response.data || []).map(appointment => new Date(appointment.startTime));\r\n this.addDotsToAppointmentDates();\r\n } else {\r\n this.startDateTimes = [];\r\n }\r\n }, error => {\r\n console.error('Error fetching appointments:', error);\r\n this.startDateTimes = [];\r\n });\r\n }\r\n\r\n addDotsToAppointmentDates(): void {\r\n setTimeout(() => {\r\n const elements = document.getElementsByClassName('mat-calendar-body-cell');\r\n const appointmentSet = new Set(this.startDateTimes.map(date =>\r\n `${date.getFullYear()}-${date.getMonth()}-${date.getDate()}`\r\n ));\r\n\r\n Array.from(elements).forEach((element: Element) => {\r\n const dateText = element.textContent.trim();\r\n if (!dateText || !dateText.match(/^\\d+$/)) return;\r\n\r\n const formattedDateKey = `${this.currentYear}-${this.currentMonth}-${parseInt(dateText)}`;\r\n\r\n if (appointmentSet.has(formattedDateKey)) {\r\n element.classList.add('date-with-dot');\r\n } else {\r\n element.classList.remove('date-with-dot');\r\n }\r\n });\r\n },200);\r\n }\r\n\r\n\r\n /*Stripe Start */\r\n TotalAmount: any = \"0.00\"\r\n openCheckout(isSubmit: boolean) {\r\n if (this.istermsconditionchecked) {\r\n let _amount = 0;\r\n if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Online\"\r\n ) {\r\n _amount = this.userInfo.payRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Face to Face\"\r\n ) {\r\n _amount = this.userInfo.ftFpayRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Home Visit\"\r\n ) {\r\n _amount = this.userInfo.homeVisitPayRate;\r\n }\r\n else if (\r\n this.confirmation.type.toLowerCase() == \"follow-up\" &&\r\n this.newfollowupfees == false\r\n ) {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n if (!_amount || _amount === 0 || _amount == 0.0) {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n }\r\n else if (isSubmit) {\r\n if (this.PaymentMode == PaymentModeEnum.HyperPay) {\r\n this.schedulerService\r\n .checkoutPaymentForAppointment(_amount + \"\")\r\n .subscribe((response: any) => {\r\n // console.log(\"payment = > \", response);\r\n const script = document.createElement(\"script\");\r\n\r\n script.src = `https://test.oppwa.com/v1/paymentWidgets.js?checkoutId=${response.id}`;\r\n script.async = true;\r\n\r\n document.body.appendChild(script);\r\n this.SaveBookNewAppointmentDatainLocalstorage(\"HyperPay\");\r\n this.saveDocuments(null);\r\n this.openHyperPay(response.id);\r\n });\r\n } else if (this.PaymentMode == PaymentModeEnum.EFawateercom) {\r\n this.SaveBookNewAppointmentDatainLocalstorage(PaymentModeEnum[3])\r\n }\r\n } else {\r\n this.stepper.next()\r\n }\r\n } else {\r\n this.notifierService.notify(\"error\", \"Please select term and condition!\");\r\n return;\r\n }\r\n }\r\n\r\n IsFreeAppointment(): boolean {\r\n let _amount = 0;\r\n if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Online\"\r\n ) {\r\n _amount = this.userInfo.payRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Face to Face\"\r\n ) {\r\n _amount = this.userInfo.ftFpayRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Home Visit\"\r\n ) {\r\n _amount = this.userInfo.homeVisitPayRate;\r\n }\r\n else if (\r\n this.confirmation.type.toLowerCase() == \"follow-up\" &&\r\n this.newfollowupfees == false\r\n ) {\r\n if (!this.IsPreviousFollowup) {\r\n return true\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (!_amount || _amount === 0 || _amount == 0.0) {\r\n return true\r\n } else {\r\n return false\r\n }\r\n }\r\n\r\n FindPayRate() {\r\n let _amount = 0;\r\n if (this.userInfo == null) { return }\r\n if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Online\"\r\n ) {\r\n _amount = this.userInfo.payRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Face to Face\"\r\n ) {\r\n _amount = this.userInfo.ftFpayRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Home Visit\"\r\n ) {\r\n _amount = this.userInfo.homeVisitPayRate;\r\n }\r\n else if (\r\n this.confirmation.type.toLowerCase() == \"follow-up\" &&\r\n this.newfollowupfees == false\r\n ) {\r\n if (!this.IsPreviousFollowup) {\r\n return\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n this.TotalAmount = _amount\r\n\r\n }\r\n openHyperPay(id) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(HyperPayComponent, {\r\n hasBackdrop: true,\r\n width: \"20%\",\r\n data: {\r\n id: id,\r\n isUrgent: false,\r\n },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n }\r\n });\r\n }\r\n /*Stripe End */\r\n get formGroup1() {\r\n return this.firstFormGroup.controls;\r\n }\r\n get formGroup3() {\r\n return this.thirdFormGroup.controls;\r\n }\r\n\r\n onSlotSelect(slot: any) {\r\n // console.log(\"slot \", slot);\r\n this.confirmation.type = \"New\";\r\n var index = this.providerAvailiabilitySlots.findIndex(\r\n (x) => x.isSelected == true\r\n );\r\n if (index != -1) {\r\n this.providerAvailiabilitySlots[index].isSelected = false;\r\n this.providerAvailiabilitySlots[index].isAvailable = true;\r\n }\r\n this.startTime = slot.startTimeftm\r\n .replace(\":00\", \"\")\r\n .replace(\"AM\", \"\")\r\n .replace(\"PM\", \"\")\r\n .trim();\r\n this.endTime = slot.endTimeftm\r\n .replace(\":00\", \"\")\r\n .replace(\"AM\", \"\")\r\n .replace(\"PM\", \"\")\r\n .trim();\r\n this.confirmation.startTime = slot.startTime;\r\n this.confirmation.endTime = slot.endTime;\r\n this.selectedSlotTime.startTime = slot.startTimeftm;\r\n this.selectedSlotTime.endTime = slot.endTimeftm;\r\n slot.isSelected = true;\r\n slot.isAvailable = false;\r\n // console.log(\"selected slot before\", this.confirmation);\r\n // console.log(\"selected slot\", this.confirmation);\r\n }\r\n\r\n onDateChange(event: any) {\r\n //console.log(\"onDateChange get called\", event)\r\n this.lastSelectedEvent = event;\r\n var curDate = this.datePipe.transform(new Date(), \"yyyy-MM-dd\");\r\n var selDate = this.datePipe.transform(event, \"yyyy-MM-dd\");\r\n if (selDate < curDate) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Appointment cannot be set for past date\"\r\n );\r\n return null;\r\n }\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n this.firstFormGroup.get(\"appointmentDate\").setValue(event);\r\n const filterModal = {\r\n locationIds: this.locationId,\r\n fromDate: format(event, \"YYYY-MM-DD\"),\r\n toDate: format(event, \"YYYY-MM-DD\"),\r\n staffIds: this.staffId,\r\n patientIds: [],\r\n };\r\n let clientAppointments: Array = [];\r\n\r\n let days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\",\r\n ];\r\n //this.staffAvailability = [];\r\n switch (this.confirmation.mode.toLowerCase()) {\r\n case \"online\":\r\n this.appointmentModeId = 1;\r\n break;\r\n case \"face to face\":\r\n this.appointmentModeId = 2;\r\n break;\r\n case \"home visit\":\r\n this.appointmentModeId = 3;\r\n break;\r\n }\r\n this.usersService\r\n .getStaffAvailabilityByLocation(\r\n this.staffId,\r\n this.locationId,\r\n selDate,\r\n this.appointmentModeId\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n if (response.statusCode == 200) {\r\n this.schedulerService\r\n .getListData(filterModal)\r\n .subscribe((response: any) => {\r\n this.showLoader = false;\r\n if (response.statusCode == 200) {\r\n this.patientAppointments = response.data;\r\n this.patientAppointments.forEach((app) => {\r\n let obj = {\r\n startTime: app.startDateTime,\r\n endTime: app.endDateTime,\r\n };\r\n let timeObj = this.getStartEndTime(obj),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n if (\r\n !app.cancelTypeId ||\r\n (app.cancelTypeId == null && app.cancelTypeId == 0)\r\n ) {\r\n clientAppointments.push({\r\n startTime: startTime,\r\n endTime: endTime,\r\n statusName: app.statusName,\r\n });\r\n }\r\n });\r\n }\r\n if (\r\n availibiltyResponse &&\r\n availibiltyResponse.data &&\r\n availibiltyResponse.data.length > 0\r\n ) {\r\n availibiltyResponse.data.forEach((x) => {\r\n let timeObj = this.getStartEndTime(x);\r\n let currentTime = new Date();\r\n let _startTime = new Date(x.startTime);\r\n this.providerAvailiabilitySlots.push({\r\n startTime: timeObj.startTime, //.replace(\":00\",\"\").replace(\"AM\",\"\").replace(\"PM\",\"\"),\r\n endTime: timeObj.endTime, //.replace(\":00\",\"\"),\r\n startTimeftm: this.convertHours(timeObj.startTime)\r\n .replace(\":00\", \"\")\r\n .trim(),\r\n endTimeftm: this.convertHours(timeObj.endTime)\r\n .replace(\":00\", \"\")\r\n .trim(),\r\n location: \"Max Hospital, Mohali\",\r\n isAvailable: x.isSelected,\r\n isSelected: false,\r\n isPassed: false,\r\n isReserved: false,\r\n isHide: this.getIsTimeAvailable(_startTime, currentTime),\r\n });\r\n });\r\n this.providerAvailiabilitySlots.sort(\r\n (a, b) => a.startTime - b.startTime || a.endTime - b.endTime\r\n );\r\n }\r\n if (clientAppointments.length > 0) {\r\n clientAppointments.forEach((slot) => {\r\n if ((slot.statusName as string).toLowerCase() != \"cancel\") {\r\n const foundIndex =\r\n this.providerAvailiabilitySlots.findIndex(\r\n (x) =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n this.providerAvailiabilitySlots[foundIndex].isAvailable =\r\n false;\r\n this.providerAvailiabilitySlots[foundIndex].isReserved =\r\n true;\r\n }\r\n }\r\n });\r\n }\r\n\r\n let currentDate = new Date();\r\n if (\r\n this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n ) {\r\n let currentStartHr = currentDate.getHours(),\r\n currentStartMin = currentDate.getMinutes(),\r\n currentTime = currentStartHr * 60 + currentStartMin;\r\n this.providerAvailiabilitySlots.forEach((slot) => {\r\n if (slot.isAvailable == true) {\r\n let selStart = slot.startTime.split(\" \");\r\n let selStartTime = selStart[0];\r\n let selStartHr = +selStartTime.split(\":\")[0];\r\n let selHrMin =\r\n selStart[1] == \"AM\"\r\n ? selStartHr * 60\r\n : selStartHr == 12\r\n ? selStartHr * 60\r\n : (selStartHr + 12) * 60;\r\n let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n let selEnd = slot.endTime.split(\" \");\r\n let selEndTime = selEnd[0];\r\n let selEndHr = +selEndTime.split(\":\")[0];\r\n let selEndHrMin =\r\n selEnd[1] == \"AM\"\r\n ? selEndHr * 60\r\n : selEndHr == 12\r\n ? selEndHr * 60\r\n : (selEndHr + 12) * 60;\r\n let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n if (\r\n currentTime >= selStartMin &&\r\n (currentTime >= selEndMin || currentTime < selEndMin)\r\n ) {\r\n slot.isPassed = true;\r\n slot.isAvailable = false;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n this.confirmation.date = event;\r\n this.getFollowUpDetail(selDate);\r\n }\r\n getIsTimeAvailable(slottime: any, currenttime: any) {\r\n //////\r\n if (slottime < currenttime) {\r\n if (this.getCurrentTime(slottime) < this.getCurrentTime(currenttime)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n getCurrentTime(obj: any) {\r\n let slotCurrentHr = obj.getHours(),\r\n slotCurrentMin = obj.getMinutes(),\r\n slotCurrentMinTime = this.parseCurrentTime(\r\n slotCurrentHr + \":\" + slotCurrentMin\r\n );\r\n return slotCurrentMinTime;\r\n }\r\n parseCurrentTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n getStartEndTime(obj: any) {\r\n let startDate: Date = new Date(obj.startTime),\r\n endDate: Date = new Date(obj.endTime);\r\n\r\n let slotStartHr = startDate.getHours(),\r\n slotStartMin = startDate.getMinutes(),\r\n slotEndHr = endDate.getHours(),\r\n slotEndMin = endDate.getMinutes(),\r\n startTime = this.parseTime(slotStartHr + \":\" + slotStartMin),\r\n endTime = this.parseTime(slotEndHr + \":\" + slotEndMin);\r\n return { startTime: startTime, endTime: endTime };\r\n }\r\n parseTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n convertHours(mins: number) {\r\n let hour = Math.floor(mins / 60);\r\n mins = mins % 60;\r\n let time = \"\";\r\n if (this.pad(hour, 2) < 12) {\r\n time = this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" AM\";\r\n } else {\r\n time =\r\n this.pad(hour, 2) == 12\r\n ? this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" PM\"\r\n : this.pad(hour, 2) - 12 + \":\" + this.pad(mins, 2) + \" PM\";\r\n }\r\n return time;\r\n }\r\n\r\n pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? this.pad(\"0\" + str, max) : str;\r\n }\r\n\r\n calculateTimeSlotRange(\r\n start_time: number,\r\n end_time: number,\r\n interval: number = 30\r\n ) {\r\n let formattedStarttime, formattedEndtime;\r\n let time_slots: Array = [];\r\n for (let i = start_time; i <= end_time - interval; i = i + interval) {\r\n formattedStarttime = this.convertHours(i);\r\n formattedEndtime = this.convertHours(i + interval);\r\n time_slots.push({\r\n startTime: formattedStarttime,\r\n endTime: formattedEndtime,\r\n });\r\n }\r\n return time_slots;\r\n }\r\n\r\n onTypeChange(type: any) {\r\n this.confirmation.type = type;\r\n this.IsPreviousFollowup = true;\r\n this.FindPayRate();\r\n this.loadAppointmentsForCurrentMonth(null);\r\n if (type.toLowerCase() == \"follow-up\") {\r\n var appointmentDate = this.datePipe.transform(\r\n this.firstFormGroup.get(\"appointmentDate\").value,\r\n \"MM/dd/yyyy\"\r\n );\r\n this.schedulerService\r\n .GetLastPatientFollowupWithCurrentPovider(\r\n this.patient,\r\n this.staffId,\r\n appointmentDate,\r\n false\r\n )\r\n .subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.lastFollowupData = res.data;\r\n if (this.lastFollowupData) {\r\n this.IsPreviousFollowup = true;\r\n } else {\r\n this.IsPreviousFollowup = false;\r\n }\r\n }\r\n });\r\n }\r\n if (this.lastSelectedEvent) {\r\n this.onDateChange(this.lastSelectedEvent);\r\n }\r\n }\r\n getFollowUpDetail(appointmentDate: any) {\r\n this.schedulerService\r\n .GetLastPatientFollowupWithCurrentPovider(\r\n this.patient,\r\n this.staffId,\r\n appointmentDate,\r\n true\r\n )\r\n .subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.lastFollowup = res.data;\r\n if (this.lastFollowup) {\r\n var futureDate = new Date(this.lastFollowup.startDateTime);\r\n futureDate.setDate(\r\n futureDate.getDate() + this.userInfo.followUpDays\r\n );\r\n }\r\n }\r\n });\r\n }\r\n openLastFollowup() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(FollowupAppointmentComponent, {\r\n hasBackdrop: true,\r\n width: \"70%\",\r\n data: {\r\n id: this.lastFollowupData.id,\r\n lastAppointmentStartTime: this.lastFollowupData.startDateTime,\r\n lastAppointmentEndTime: this.lastFollowupData.endDateTime,\r\n notes: this.lastFollowupData.notes,\r\n bookingMode: this.lastFollowupData.bookingMode,\r\n },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n }\r\n });\r\n }\r\n onModeChange(mode: any) {\r\n\r\n this.confirmation.mode = mode;\r\n switch (mode.toLowerCase()) {\r\n case \"online\":\r\n break;\r\n }\r\n //console.log(\"from on modechange\");\r\n this.loadAppointmentsForCurrentMonth(null);\r\n\r\n // if (this.lastSelectedEvent) {\r\n // this.onDateChange(this.lastSelectedEvent);\r\n // }\r\n\r\n }\r\n bindStaffProfile() {\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n if (this.locationId == 0 && this.userInfo.staffLocationList) {\r\n this.locationId = 101;\r\n }\r\n this.isProfileLoaded = true;\r\n this.FindPayRate()\r\n }\r\n getStaffDetail() {\r\n if (this.providerId != \"\") {\r\n this.homeService.getProviderDetail(this.providerId).subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.userInfo = res.data;\r\n this.bindStaffProfile();\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n jumpwaitingroom() {\r\n this.dialogModalRef.close(\"close\");\r\n this.route.navigate([\"/web/waiting-room/reshedule/\" + this.local_apptid]);\r\n }\r\n SaveBookNewAppointmentDatainLocalstorage(paymentMode: string): any {\r\n this.submitted = true;\r\n\r\n\r\n let _amount = 0;\r\n if (this.confirmation.type == \"New\" && this.confirmation.mode == \"Online\") {\r\n _amount = this.userInfo.payRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Face to Face\"\r\n ) {\r\n _amount = this.userInfo.ftFpayRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Home Visit\"\r\n ) {\r\n _amount = this.userInfo.homeVisitPayRate;\r\n } else if (\r\n this.confirmation.type.toLowerCase() == \"follow-up\" &&\r\n this.confirmation.mode == \"Online\"\r\n ) {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n } else if (\r\n this.confirmation.type.toLowerCase() == \"follow-up\" &&\r\n this.confirmation.mode == \"Face to Face\"\r\n ) {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.ftfFollowUpPayRate;\r\n } else if (\r\n this.confirmation.type.toLowerCase() == \"follow-up\" &&\r\n this.confirmation.mode == \"Home Visit\"\r\n ) {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.homeVisitFollowUpPayRate;\r\n }\r\n if (this.locationId == 0 && this.userInfo.staffLocationList) {\r\n this.locationId = 101;\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: null,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.convertHours(this.confirmation.startTime)\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.convertHours(this.confirmation.endTime)\r\n ),\r\n IsTelehealthAppointment:\r\n this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n PayRate: _amount,\r\n PaymentToken: \"\",\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n IsNotify: this.isNotify,\r\n providerId: this.providerId,\r\n AppointmentBookingFor: \"DOCTOR\",\r\n },\r\n ];\r\n if (this.PaymentMode == PaymentModeEnum.HyperPay) {\r\n localStorage.setItem(\r\n \"preAppointmentData\",\r\n JSON.stringify(appointmentData[0])\r\n );\r\n debugger\r\n } else if (this.PaymentMode == PaymentModeEnum.EFawateercom) {\r\n this.createAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n }\r\n bookNewAppointment(tokenId: string, paymentMode: string): any {\r\n this.submitted = true;\r\n let _amount = 0;\r\n if (this.confirmation.type == \"New\" && this.confirmation.mode == \"Online\") {\r\n _amount = this.userInfo.payRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Face to Face\"\r\n ) {\r\n _amount = this.userInfo.ftFpayRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Home Visit\"\r\n ) {\r\n _amount = this.userInfo.homeVisitPayRate;\r\n } else if (this.confirmation.type.toLowerCase() == \"follow-up\") {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (this.locationId == 0 && this.userInfo.staffLocationList) {\r\n this.locationId = 101;\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: null,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.convertHours(this.confirmation.startTime)\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.convertHours(this.confirmation.endTime)\r\n ),\r\n IsTelehealthAppointment:\r\n this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n PayRate: _amount,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n IsNotify: this.isNotify,\r\n },\r\n ];\r\n\r\n this.createAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n billingNo: any = \"\"\r\n createAppointmentFromPatientPortal(appointmentData: any) {\r\n // console.log(appointmentData, \"appointmentData\");\r\n this.schedulerService\r\n .bookNewAppointmentFromPatientPortal(appointmentData)\r\n .subscribe((response) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n if (\r\n localStorage.getItem(\"reportObject\") != null &&\r\n localStorage.getItem(\"reportObject\") != undefined\r\n ) {\r\n var object = JSON.parse(localStorage.getItem(\"reportObject\"));\r\n localStorage.removeItem(\"reportObject\");\r\n\r\n if (object != null && object != undefined) {\r\n object.patientId = response.data;\r\n this.schedulerService\r\n .SaveSymptomatePatientReport(JSON.stringify(object))\r\n .subscribe(() => { });\r\n }\r\n }\r\n\r\n this.billingNo = (response.paymentOption && response.paymentOption.billingNo) ? response.paymentOption.billingNo : \"\"\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your request has been successfully received, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n bookNewFreeAppointment(tokenId: string, paymentMode: string): any {\r\n this.submitted = true;\r\n if (this.locationId == 0 && this.userInfo.staffLocationList) {\r\n this.locationId = 101;\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: null,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.convertHours(this.confirmation.startTime)\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.convertHours(this.confirmation.endTime)\r\n ),\r\n // IsTelehealthAppointment: true,\r\n IsTelehealthAppointment: this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n PayRate: 0.0,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n AppointmentBookingFor: \"DOCTOR\",\r\n },\r\n ];\r\n\r\n this.createFreeAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n createFreeAppointmentFromPatientPortal(appointmentData: any) {\r\n this.schedulerService\r\n .bookNewFreeAppointmentFromPatientPortal(appointmentData)\r\n .subscribe((response) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n if (\r\n localStorage.getItem(\"reportObject\") != null &&\r\n localStorage.getItem(\"reportObject\") != undefined\r\n ) {\r\n var object = JSON.parse(localStorage.getItem(\"reportObject\"));\r\n localStorage.removeItem(\"reportObject\");\r\n if (object != null && object != undefined) {\r\n object.patientId = response.data;\r\n this.schedulerService\r\n .SaveSymptomatePatientReport(JSON.stringify(object))\r\n .subscribe(() => { });\r\n }\r\n }\r\n this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n openfreeapptCheckout() {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n }\r\n\r\n createModal() {\r\n let documentModal;\r\n documentModal = this.dialogModal.open(SaveDocumentComponent, { data: 0 });\r\n documentModal.afterClosed().subscribe((result: string) => {\r\n if (result !== \"close\") {\r\n this.uploadImageData = result;\r\n this.handleImageChange();\r\n }\r\n });\r\n }\r\n //show:boolean=false;\r\n\r\n termsandconditionchecked(event) {\r\n if (event.checked) {\r\n this.istermsconditionchecked = true;\r\n // this.opentermconditionmodal();\r\n //this.showselecttermscondition = false;\r\n } else {\r\n this.istermsconditionchecked = false;\r\n }\r\n }\r\n\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width: \"70%\",\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n //\r\n if (result != null && result != \"close\") {\r\n }\r\n //this.show=true;\r\n });\r\n }\r\n\r\n checkboxchecked(event) {\r\n this.isNotify = event.checked;\r\n }\r\n\r\n handleImageChange() {\r\n this.uploadImageData\r\n .base64\r\n .forEach((ele) => {\r\n this.fileList.push(ele);\r\n this.documentNotes.push({\r\n documentTitle: this.uploadImageData.documentTitle,\r\n documentTypeId: this.uploadImageData.documentTypeId\r\n });\r\n });\r\n }\r\n\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n this.documentNotes.splice(index, 1);\r\n }\r\n\r\n saveDocuments(apptId: number) {\r\n ///Please chnage this API to avoid loops\r\n this.local_apptid = apptId;\r\n if (this.fileList.length > 0) {\r\n const formValues = {\r\n base64: this.fileList,\r\n documentTitle: this.uploadImageData.documentTitle,\r\n documentTypeIdStaff: this.uploadImageData.documentTypeIdStaff,\r\n expiration: this.uploadImageData.expiration,\r\n key: this.uploadImageData.key,\r\n documentTypeId: this.uploadImageData.documentTypeId,\r\n otherDocumentType: this.uploadImageData.otherDocumentType,\r\n userId: 0,\r\n patientAppointmentId: apptId,\r\n documentNotes: this.documentNotes\r\n };\r\n\r\n let dic = [];\r\n formValues.base64.forEach((element) => {\r\n dic.push(\r\n `\"${element.data.replace(\r\n /^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/,\r\n \"\"\r\n )}\": \"${element.ext}\"`\r\n );\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {});\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.userService\r\n .uploadUserDocuments(formValues)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n localStorage.setItem(\r\n \"preAppointmentDataDocs\",\r\n JSON.stringify(response.data)\r\n );\r\n } else this.notifier.notify(\"error\", response.message);\r\n });\r\n } else {\r\n }\r\n }\r\n\r\n // getProvidersFollowUpDaysAllowed(staffId){\r\n // this.schedulerService.getStaffFeeSettings(staffId).subscribe(response => {\r\n // if (response.statusCode === 200) {\r\n // this.feeSettings = response.data as ManageFeesRefundsModel;\r\n // }\r\n // })\r\n // }\r\n\r\n // get checkIfAllowed() {\r\n // if (this.confirmation.type == 'Followup') {\r\n // if (this.userInfo && this.userInfo.followUpDays &&\r\n // this.firstFormGroup.controls.appointmentDate.value) {\r\n\r\n // return this.hasPreviousNewMeeting;\r\n // const startDate = new Date(this.firstFormGroup.controls.appointmentDate.value);\r\n // const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds\r\n // const diffDates: any = (this.lastAppointmentDateTime - startDate);\r\n // const diffDays = Math.round(Math.abs((diffDates) / oneDay))\r\n // if (diffDays > -1 && diffDays <= this.userInfo.followUpDays) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n\r\n // } else { return false; }\r\n // } else { return true; }\r\n // }\r\n\r\n getLastNewAppointment(staffId) {\r\n //////////////\r\n this.schedulerService\r\n .getGetLastNewAppointment(staffId)\r\n .subscribe((response) => {\r\n if (response.statusCode === 200) {\r\n this.hasPreviousNewMeeting = response.data ? true : false;\r\n // if (lastAppointment) {\r\n // this.lastAppointmentDateTime = new Date(lastAppointment.startDateTime);\r\n // this.hasPreviousNewMeeting = true;\r\n // }\r\n }\r\n });\r\n }\r\n\r\n closeModal() {\r\n this.dialogModal.closeAll();\r\n }\r\n\r\n // getPatientSymptoms(searchText: string = \"headache\"): any {\r\n // return this.symptomCheckerService\r\n // .getPatientSymptoms(searchText, this.age)\r\n // .pipe(\r\n // map((x) => {\r\n // return x;\r\n // })\r\n // );\r\n // }\r\n add(event: MatChipInputEvent): void {\r\n // Add fruit only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n if (!this.matAutocomplete.isOpen) {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n // Add our fruit\r\n if ((value || \"\").trim()) {\r\n this.symptoms.push(value.trim());\r\n }\r\n\r\n // Reset the input value\r\n if (input) {\r\n input.value = \"\";\r\n }\r\n\r\n this.userControl.setValue(null);\r\n }\r\n }\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n this.symptoms.push({\r\n id: event.option.value.id,\r\n value: event.option.viewValue,\r\n choice_id: \"present\",\r\n });\r\n //this.optionChecked=true;\r\n this.userInput.nativeElement.value = event.option.viewValue;\r\n this.userControl.setValue(event.option.viewValue);\r\n }\r\n changeModeOfPayment(event: any) {\r\n debugger\r\n this.PaymentMode = parseInt(event.target.value)\r\n }\r\n\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n border-bottom: 2px dotted #ddd;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 18px;\\r\\n margin-top: 10px;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #4B6D97;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: block;\\r\\n color: #4e4852;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 14px;\\r\\n font-weight: 600;\\r\\n color: #01385f;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #4e4852;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #01385f;\\r\\n font-size: 20px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: flex;\\r\\n font-weight: 600;\\r\\n justify-content: space-between;\\r\\n padding: 15px;\\r\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.60);\\r\\n font-size: 13px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: rgba(0, 0, 0, 0.44);\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n background-color: #f8f8f8;\\r\\n padding: 5px;\\r\\n border-left: 5px solid #01385f;\\r\\n}\\r\\n\\r\\n.book-appt-type label {\\r\\n margin: 0px 10px 0px 0px;\\r\\n font-weight: 500;\\r\\n font-size: 13px;\\r\\n width: 122px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #01385f;\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding-bottom: 10px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #63d891;\\r\\n border-radius: 0;\\r\\n display: inline-block;\\r\\n font-size: 15px !important;\\r\\n padding: 5px 10px;\\r\\n height: 36px !important;\\r\\n margin: 7px 10px 7px 0px;\\r\\n line-height: normal;\\r\\n color: #63d891;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n background-color: #01385f;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n flex-wrap: wrap;\\r\\n gap: 5px;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 0px;\\r\\n font-size: 16px;\\r\\n /* margin: 10px 0px 0px; */\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n margin: 15px 0px 20px;\\r\\n line-height: 18px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n

\\r\\n Dr. {{ fullname }}\\r\\n

\\r\\n
\\r\\n {{ spl.speciality }}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (17)\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • {{ userInfo.phoneNumber }}
  • \\r\\n
  • \\r\\n \\r\\n {{ userInfo.email }}\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{ userInfo.payRate | currency : \\\"JOD\\\" : \\\"symbol-narrow\\\" }}\\r\\n
  • \\r\\n
  • \\r\\n {{ userInfo.address }}\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Book a free appointment\\r\\n {{'please_select_a_date_and_time_and_then_pay_to_confirm_your_appointment'|translate}}\\r\\n
\\r\\n
{{'appointment_booked'|translate}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{'select_date_and_time'|translate}}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ type }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ mode }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Select day for booking\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{\\\"Provider is not available on this date. Please choose another date\\\"|translate}}.\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Book \\r\\n
\\r\\n {{\\\"Please select appointment slot first to book in previous step, then pay here\\\"|translate}}.\\r\\n
\\r\\n
\\r\\n

\\r\\n {{\\\"you_are_requesting_booking_for_Counseling\\\"|translate}}\\r\\n {{\\r\\n spl.speciality\\r\\n }}\\r\\n
\\r\\n {{ confirmation.date | date : \\\"fullDate\\\" }} between\\r\\n {{ confirmation.startTime | date: 'hh:mm' }} to {{ confirmation.endTime | date: 'hh:mm' }}\\r\\n

\\r\\n \\r\\n
{{\\\"we_will_send_you_an_email_with_a_booking_confirmation\\\"|translate}}.
\\r\\n\\r\\n
\\r\\n {{ confirmation.type }}\\r\\n
\\r\\n
\\r\\n {{ confirmation.mode }}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\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\\\"|translate}}

\\r\\n

\\r\\n {{\\\"Your_appointment_has_been_successfully_booked_with_us_for\\\"|translate}},
\\r\\n {{\\r\\n spl.speciality\\r\\n }}\\r\\n {{ confirmation.date | date : \\\"fullDate\\\" }} between\\r\\n {{ confirmation.startTime }} to {{ confirmation.endTime }}\\r\\n

\\r\\n

\\r\\n {{\\\"Please Check your email for further assistance. We will contact you as soon as possible\\\"|translate}}.\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { debug } from \"util\";\r\nimport { state } from \"@angular/animations\";\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\n\r\n//import { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { isatty } from \"tty\";\r\nimport { userInfo } from \"os\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Inject,\r\n Renderer2\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n StaffAward,\r\n StaffQualification,\r\n StaffExperience\r\n} from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format, getHours, getMinutes } from \"date-fns\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { DatePipe, DOCUMENT } from \"@angular/common\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { BookAppointmentComponent } from \"../book-appointment/book-appointment.component\";\r\n//import { StripeToken, StripeSource } from \"stripe-angular\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\nconst getDateTimeString = (date: string, time: string): string => {\r\n const y = new Date(date).getFullYear(),\r\n m = new Date(date).getMonth(),\r\n d = new Date(date).getDate(),\r\n splitTime = time.split(\":\"),\r\n hours = parseInt(splitTime[0] || \"0\", 10),\r\n minutes = parseInt(splitTime[1].substring(0, 2) || \"0\", 10),\r\n meridiem = splitTime[1].substring(3, 5) || \"\",\r\n updatedHours =\r\n (meridiem || \"\").toUpperCase() === \"PM\" && hours != 12\r\n ? hours + 12\r\n : hours;\r\n\r\n const startDateTime = new Date(y, m, d, updatedHours, minutes);\r\n\r\n return format(startDateTime, \"YYYY-MM-DDTHH:mm:ss\");\r\n};\r\n@Component({\r\n selector: \"app-book-freeappointment\",\r\n templateUrl: \"./book-freeappointment.component.html\",\r\n styleUrls: [\"./book-freeappointment.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class BookFreeAppointmentComponent implements OnInit {\r\n submitted: boolean = false;\r\n todayDate= new Date();\r\n isLinear = false;\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n thirdFormGroup: FormGroup;\r\n userInfo: any;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n staffId: number;\r\n providerId: string;\r\n\r\n appointmenType: any = [\"New\", \"Followup\", \"Free\"];\r\n appointmentMode: any = [\"Online\", \"Face to Face\"];\r\n confirmation: any = { type: \"New\", mode: \"Online\" };\r\n providerAvailiabilitySlots: any = [];\r\n patientAppointments: any;\r\n staffAvailability: any;\r\n locationId: number;\r\n showLoader: boolean = false;\r\n providerAvailableDates: any = [];\r\n providerNotAvailableDates: any = [];\r\n\r\n masterPatientLocation: Array;\r\n masterStaffs: Array;\r\n masterAddressTypes: Array;\r\n officeAndPatientLocations: Array;\r\n masterAppointmentTypes: Array;\r\n Organization: any;\r\n patientEmail: string;\r\n paymentToken: string = \"\";\r\n Message: any;\r\n isNotBooked: boolean;\r\n isProfileLoaded: boolean = false;\r\n appointmentModeId: number;\r\n //Notes: string = \"\";\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private _formBuilder: FormBuilder,\r\n private homeService: HomeService,\r\n private commonService: CommonService,\r\n private notifierService: NotifierService,\r\n private usersService: UsersService,\r\n private schedulerService: SchedulerService,\r\n private datePipe: DatePipe,\r\n private renderer2: Renderer2,\r\n private translate:TranslateService,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.staffId = data.staffId;\r\n this.userInfo = data.userInfo;\r\n this.locationId = data.locationId;\r\n this.providerId = data.providerId;\r\n\r\n dialogModalRef.disableClose = true;\r\n this.masterStaffs = [];\r\n this.masterPatientLocation = [];\r\n this.masterAppointmentTypes = [];\r\n this.masterAddressTypes = [];\r\n this.officeAndPatientLocations = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.Message = null;\r\n this.isNotBooked = true;\r\n this.homeService.getOrganizationDetail().subscribe(response => {\r\n if (response.statusCode == 200) {\r\n this.Organization = response.data;\r\n }\r\n });\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n this.patientEmail = user.patientData.email;\r\n }\r\n }\r\n });\r\n const s = this.renderer2.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n this.firstFormGroup = this._formBuilder.group({\r\n appointmentDate: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: [\"\", Validators.required]\r\n });\r\n this.thirdFormGroup = this._formBuilder.group({\r\n Notes: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n if (this.providerId != \"\") this.getStaffDetail();\r\n else this.bindStaffProfile();\r\n }\r\n\r\n /*Stripe Start */\r\n openCheckout() {\r\n var handler = (window).StripeCheckout.configure({\r\n key: this.Organization.stripeKey,\r\n locale: \"auto\",\r\n token: function(token: any) {\r\n //console.log(token);\r\n if (token.id != \"\") {\r\n localStorage.setItem(\"payment_token\", token.id);\r\n //this.book(token.id);\r\n }\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 }\r\n });\r\n\r\n handler.open({\r\n name: this.Organization.organizationName,\r\n description: this.Organization.description,\r\n image: this.Organization.logo,\r\n amount: this.userInfo.payRate * 100,\r\n currency: \"JOD\",\r\n email: this.patientEmail,\r\n closed: () => {\r\n this.paymentToken = localStorage.getItem(\"payment_token\");\r\n localStorage.setItem(\"payment_token\", \"\");\r\n if (this.paymentToken != \"\")\r\n this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n }\r\n });\r\n }\r\n\r\n /*Stripe End */\r\n get formGroup1() {\r\n return this.firstFormGroup.controls;\r\n }\r\n get formGroup3() {\r\n return this.thirdFormGroup.controls;\r\n }\r\n\r\n onSlotSelect(slot: any) {\r\n var index = this.providerAvailiabilitySlots.findIndex(\r\n x => x.isSelected == true\r\n );\r\n if (index != -1) {\r\n this.providerAvailiabilitySlots[index].isSelected = false;\r\n this.providerAvailiabilitySlots[index].isAvailable = true;\r\n }\r\n // this.providerAvailiabilitySlots.forEach(slot => {\r\n // slot.isSelected = false;\r\n\r\n // });\r\n this.confirmation.startTime = slot.startTime;\r\n this.confirmation.endTime = slot.endTime;\r\n slot.isSelected = true;\r\n slot.isAvailable = false;\r\n }\r\n\r\n onDateChange(event: any) {\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n let interval = 30;\r\n const filterModal = {\r\n locationIds: this.locationId,\r\n fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n toDate: format(event.value, \"YYYY-MM-DD\"),\r\n staffIds: this.staffId,\r\n patientIds: []\r\n };\r\n let clientAppointments: Array = [];\r\n\r\n let currentAvailabilityDay: any;\r\n let currentAvailableDates: Array = [];\r\n let currentUnAvailableDates: Array = [];\r\n let days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\"\r\n ];\r\n let dayName = days[new Date(event.value).getDay()];\r\n this.staffAvailability = [];\r\n switch (this.confirmation.mode.toLowerCase()) {\r\n case 'online':\r\n this.appointmentModeId = 1\r\n break;\r\n case 'face to face':\r\n this.appointmentModeId = 2\r\n break;\r\n case 'home visit':\r\n this.appointmentModeId = 3\r\n break;\r\n\r\n }\r\n\r\n\r\n this.usersService\r\n .getStaffAvailabilityByLocation(this.staffId, this.locationId,format(event.value, \"YYYY-MM-DD\"),this.appointmentModeId)\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n if (response.statusCode == 200) {\r\n this.schedulerService\r\n .getListData(filterModal)\r\n .subscribe((response: any) => {\r\n this.showLoader = false;\r\n if (response.statusCode == 200) {\r\n this.patientAppointments = response.data;\r\n this.patientAppointments.forEach(app => {\r\n let obj = {\r\n startTime: app.startDateTime,\r\n endTime: app.endDateTime\r\n };\r\n let timeObj = this.getStartEndTime(obj),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n if(!app.cancelTypeId || app.cancelTypeId==null && app.cancelTypeId==0)\r\n {\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n clientAppointments.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n statusName: app.statusName\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.staffAvailability = availibiltyResponse.data.days;\r\n this.providerAvailableDates = availibiltyResponse.data.available;\r\n this.providerNotAvailableDates =\r\n availibiltyResponse.data.unavailable;\r\n\r\n //Find day wise availability\r\n currentAvailabilityDay = this.staffAvailability.filter(\r\n x => x.dayName === dayName\r\n );\r\n\r\n //Find date wise availability\r\n if (\r\n this.providerAvailableDates != null &&\r\n this.providerAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates = this.providerAvailableDates.filter(\r\n x =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n );\r\n }\r\n\r\n //find datewise unavailabilty\r\n if (\r\n this.providerNotAvailableDates != null &&\r\n this.providerNotAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates = this.providerNotAvailableDates.filter(\r\n x =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n );\r\n }\r\n let slots: Array = [];\r\n let slotsIntervals: Array = [];\r\n let unAvaiabilityIntervalArr: Array = [];\r\n let availDaySlots: Array = [];\r\n let availDateSlots: Array = [];\r\n let unAvailDateSlots: Array = [];\r\n\r\n //let curentTime = this.parseTime(currentDate);\r\n if (\r\n currentAvailabilityDay != null &&\r\n currentAvailabilityDay.length > 0\r\n ) {\r\n currentAvailabilityDay.forEach(currentDay => {\r\n let timeObj = this.getStartEndTime(currentDay),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n availDaySlots.push(x);\r\n });\r\n });\r\n }\r\n if (\r\n currentAvailableDates != null &&\r\n currentAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates.forEach(avail => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n availDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (\r\n currentUnAvailableDates != null &&\r\n currentUnAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates.forEach(avail => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n unAvailDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (availDateSlots.length == 0) {\r\n if (availDaySlots.length > 0) {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach(slot => {\r\n const foundIndex = availDaySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDaySlots = availDaySlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDaySlots;\r\n }\r\n } else {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach(slot => {\r\n const foundIndex = availDateSlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDateSlots = availDateSlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDateSlots;\r\n }\r\n\r\n if (slots.length > 0) {\r\n slots.forEach(x => {\r\n this.providerAvailiabilitySlots.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n location: \"Max Hospital, Mohali\",\r\n isAvailable: true,\r\n isSelected: false,\r\n isPassed: false,\r\n isReserved: false\r\n });\r\n });\r\n }\r\n if (clientAppointments.length > 0) {\r\n clientAppointments.forEach(slot => {\r\n let status = (slot.statusName as string).toLowerCase();\r\n if ((slot.statusName as string).toLowerCase() != \"cancel\") {\r\n const foundIndex = this.providerAvailiabilitySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isAvailable = false;\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isReserved = true;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n let currentDate = new Date();\r\n if (\r\n this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n ) {\r\n let currentStartHr = currentDate.getHours(),\r\n currentStartMin = currentDate.getMinutes(),\r\n currentTime = currentStartHr * 60 + currentStartMin;\r\n this.providerAvailiabilitySlots.forEach(slot => {\r\n if (slot.isAvailable == true) {\r\n let selStart = slot.startTime.split(\" \");\r\n let selStartTime = selStart[0];\r\n let selStartHr = +selStartTime.split(\":\")[0];\r\n let selHrMin =\r\n selStart[1] == \"AM\"\r\n ? selStartHr * 60\r\n : selStartHr == 12\r\n ? selStartHr * 60\r\n : (selStartHr + 12) * 60;\r\n let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n let selEnd = slot.endTime.split(\" \");\r\n let selEndTime = selEnd[0];\r\n let selEndHr = +selEndTime.split(\":\")[0];\r\n let selEndHrMin =\r\n selEnd[1] == \"AM\"\r\n ? selEndHr * 60\r\n : selEndHr == 12 ? selEndHr * 60 : (selEndHr + 12) * 60;\r\n let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n if (\r\n currentTime >= selStartMin &&\r\n (currentTime >= selEndMin || currentTime < selEndMin)\r\n ) {\r\n slot.isPassed = true;\r\n slot.isAvailable = false;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n\r\n\r\n }\r\n });\r\n this.confirmation.date = event.value;\r\n }\r\n getStartEndTime(obj: any) {\r\n let startDate: Date = new Date(obj.startTime),\r\n endDate: Date = new Date(obj.endTime);\r\n\r\n let slotStartHr = startDate.getHours(),\r\n slotStartMin = startDate.getMinutes(),\r\n slotEndHr = endDate.getHours(),\r\n slotEndMin = endDate.getMinutes(),\r\n startTime = this.parseTime(slotStartHr + \":\" + slotStartMin),\r\n endTime = this.parseTime(slotEndHr + \":\" + slotEndMin);\r\n return { startTime: startTime, endTime: endTime };\r\n }\r\n parseTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n convertHours(mins: number) {\r\n let hour = Math.floor(mins / 60);\r\n mins = mins % 60;\r\n let time = \"\";\r\n if (this.pad(hour, 2) < 12) {\r\n time = this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" AM\";\r\n } else {\r\n time =\r\n this.pad(hour, 2) == 12\r\n ? this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" PM\"\r\n : this.pad(hour, 2) - 12 + \":\" + this.pad(mins, 2) + \" PM\";\r\n }\r\n //let converted = this.pad(hour, 2)+':'+this.pad(mins, 2);\r\n return time;\r\n }\r\n\r\n pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? this.pad(\"0\" + str, max) : str;\r\n }\r\n checkIsValidAppointment=()=>{\r\n\r\n }\r\n calculateTimeSlotRange(\r\n start_time: number,\r\n end_time: number,\r\n interval: number = 30\r\n ) {\r\n let i, formattedStarttime, formattedEndtime;\r\n let time_slots: Array = [];\r\n for (let i = start_time; i <= end_time - interval; i = i + interval) {\r\n formattedStarttime = this.convertHours(i);\r\n formattedEndtime = this.convertHours(i + interval);\r\n time_slots.push({\r\n startTime: formattedStarttime,\r\n endTime: formattedEndtime\r\n });\r\n }\r\n return time_slots;\r\n }\r\n\r\n onTypeChange(type: any) {\r\n this.confirmation.type = type;\r\n }\r\n onModeChange(mode: any) {\r\n this.confirmation.mode = mode;\r\n }\r\n bindStaffProfile() {\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId=101\r\n }\r\n this.isProfileLoaded = true;\r\n }\r\n getStaffDetail() {\r\n if (this.providerId != \"\") {\r\n this.homeService.getProviderDetail(this.providerId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.userInfo = res.data;\r\n this.bindStaffProfile();\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n bookNewAppointment(tokenId: string, paymentMode: string): any {\r\n this.submitted = true;\r\n // if (this.appointmentForm.invalid) {\r\n // this.submitted = false;\r\n // return;\r\n // }\r\n\r\n // submit form\r\n // const selectedStaffs = this.appointmentForm.get(\"StaffIDs\").value,\r\n // selectedAppointmentTypeId = this.appointmentForm.get(\"AppointmentTypeID\")\r\n // .value,\r\n // selectedPatientId = this.appointmentForm.get(\"PatientID\").value,\r\n // startDate = this.appointmentForm.get(\"startDate\").value,\r\n // startTime = this.appointmentStartTime, // this.appointmentForm.get('startTime').value,\r\n // endTime = this.appointmentEndTime; // this.appointmentForm.get('endTime').value;\r\n\r\n // let appointmentStaffs = null;\r\n // let staffIds = Array.isArray(selectedStaffs)\r\n // ? selectedStaffs\r\n // : [selectedStaffs];\r\n // appointmentStaffs = (this.appointmentModal.appointmentStaffs || []\r\n // ).map(Obj => {\r\n // return { StaffId: Obj.staffId, IsDeleted: true };\r\n // });\r\n // staffIds.forEach(staffId => {\r\n // // update case for appointment staffs ------\r\n // let staff = appointmentStaffs.find(\r\n // Obj => Obj.StaffId === staffId && Obj.IsDeleted\r\n // );\r\n // if (staff) {\r\n // let index = appointmentStaffs.indexOf(staff);\r\n // appointmentStaffs[index] = { StaffId: staff.StaffId, IsDeleted: false };\r\n // } else {\r\n // appointmentStaffs.push({ StaffId: staffId, IsDeleted: false });\r\n // }\r\n // });\r\n\r\n // let addressesObj = {\r\n // CustomAddressID: null,\r\n // CustomAddress: null,\r\n // PatientAddressID: null,\r\n // OfficeAddressID: null\r\n // };\r\n // if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OTHER\"\r\n // ) {\r\n // addressesObj.CustomAddress = this.appointmentForm.get(\r\n // \"CustomAddress\"\r\n // ).value;\r\n // addressesObj.CustomAddressID = this.appointmentForm.get(\r\n // \"CustomAddressID\"\r\n // ).value;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"PATIENT\"\r\n // ) {\r\n // addressesObj.PatientAddressID = this.selectedServiceLocation.id;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OFFICE\"\r\n // ) {\r\n // addressesObj.OfficeAddressID = this.selectedServiceLocation.id;\r\n // }\r\n\r\n const patientId = null;\r\n // selectedPatientId && typeof selectedPatientId === \"object\"\r\n // ? selectedPatientId.id\r\n // : null;\r\n //this.recurrenceRule = this.appointmentId ? \"\" : this.recurrenceRule;\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId=101\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: null,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n IsTelehealthAppointment: true,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.formGroup3.Notes.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n PayRate: this.userInfo.payRate,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n this.createAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n createAppointmentFromPatientPortal(appointmentData: any) {\r\n this.schedulerService\r\n .bookNewAppointmentFromPatientPortal(appointmentData)\r\n .subscribe(response => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n bookNewFreeAppointment(tokenId: string, paymentMode: string): any {\r\n this.submitted = true;\r\n // if (this.appointmentForm.invalid) {\r\n // this.submitted = false;\r\n // return;\r\n // }\r\n\r\n // submit form\r\n // const selectedStaffs = this.appointmentForm.get(\"StaffIDs\").value,\r\n // selectedAppointmentTypeId = this.appointmentForm.get(\"AppointmentTypeID\")\r\n // .value,\r\n // selectedPatientId = this.appointmentForm.get(\"PatientID\").value,\r\n // startDate = this.appointmentForm.get(\"startDate\").value,\r\n // startTime = this.appointmentStartTime, // this.appointmentForm.get('startTime').value,\r\n // endTime = this.appointmentEndTime; // this.appointmentForm.get('endTime').value;\r\n\r\n // let appointmentStaffs = null;\r\n // let staffIds = Array.isArray(selectedStaffs)\r\n // ? selectedStaffs\r\n // : [selectedStaffs];\r\n // appointmentStaffs = (this.appointmentModal.appointmentStaffs || []\r\n // ).map(Obj => {\r\n // return { StaffId: Obj.staffId, IsDeleted: true };\r\n // });\r\n // staffIds.forEach(staffId => {\r\n // // update case for appointment staffs ------\r\n // let staff = appointmentStaffs.find(\r\n // Obj => Obj.StaffId === staffId && Obj.IsDeleted\r\n // );\r\n // if (staff) {\r\n // let index = appointmentStaffs.indexOf(staff);\r\n // appointmentStaffs[index] = { StaffId: staff.StaffId, IsDeleted: false };\r\n // } else {\r\n // appointmentStaffs.push({ StaffId: staffId, IsDeleted: false });\r\n // }\r\n // });\r\n\r\n // let addressesObj = {\r\n // CustomAddressID: null,\r\n // CustomAddress: null,\r\n // PatientAddressID: null,\r\n // OfficeAddressID: null\r\n // };\r\n // if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OTHER\"\r\n // ) {\r\n // addressesObj.CustomAddress = this.appointmentForm.get(\r\n // \"CustomAddress\"\r\n // ).value;\r\n // addressesObj.CustomAddressID = this.appointmentForm.get(\r\n // \"CustomAddressID\"\r\n // ).value;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"PATIENT\"\r\n // ) {\r\n // addressesObj.PatientAddressID = this.selectedServiceLocation.id;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OFFICE\"\r\n // ) {\r\n // addressesObj.OfficeAddressID = this.selectedServiceLocation.id;\r\n // }\r\n\r\n const patientId = null;\r\n // selectedPatientId && typeof selectedPatientId === \"object\"\r\n // ? selectedPatientId.id\r\n // : null;\r\n //this.recurrenceRule = this.appointmentId ? \"\" : this.recurrenceRule;\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId=101\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: null,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n IsTelehealthAppointment: true,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.formGroup3.Notes.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n PayRate: this.userInfo.payRate,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n this.createFreeAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n createFreeAppointmentFromPatientPortal(appointmentData: any) {\r\n this.schedulerService\r\n .bookNewFreeAppointmentFromPatientPortal(appointmentData)\r\n .subscribe(response => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n openfreeapptCheckout()\r\n {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n }\r\n}\r\n","module.exports = \".profile-widget {\\r\\n padding: 10px;\\r\\n position: relative;\\r\\n}\\r\\n.fa-close {\\r\\n position: absolute;\\r\\n right: -10px;\\r\\n cursor: pointer;\\r\\n top: -10px;\\r\\n background: #01385f;\\r\\n color: white;\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n border-radius: 50%;\\r\\n}\\r\\n.profile-widget .table {\\r\\n width: 100%;\\r\\n}\\r\\n.profile-widget h4,\\r\\n.service-list h4 {\\r\\n font-size: 18px;\\r\\n font-weight: 700;\\r\\n color: #01385f;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.profile-widget h4 span {\\r\\n color: #17a2b8;\\r\\n}\\r\\n.lds-facebook {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n height: 40vh;\\r\\n /* background-color: #014a712a; */\\r\\n /* background-color: linear-gradient(#01385ffc,#17a2b8); */\\r\\n }\\r\\n.lds-facebook div {\\r\\n display: inline-block;\\r\\n margin-left:2px;\\r\\n width: 12px;\\r\\n /* background: linear-gradient(#01385ffc,#17a2b8); */\\r\\n background: #17a2b8;\\r\\n -webkit-animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;\\r\\n animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;\\r\\n }\\r\\n.lds-facebook div:nth-child(1) {\\r\\n -webkit-animation-delay: -0.24s;\\r\\n animation-delay: -0.24s;\\r\\n }\\r\\n.lds-facebook div:nth-child(2) {\\r\\n -webkit-animation-delay: -0.12s;\\r\\n animation-delay: -0.12s;\\r\\n }\\r\\n.lds-facebook div:nth-child(3) {\\r\\n -webkit-animation-delay: 0;\\r\\n animation-delay: 0;\\r\\n }\\r\\n@-webkit-keyframes lds-facebook {\\r\\n 0% {\\r\\n top: 8px;\\r\\n height: 64px;\\r\\n }\\r\\n 50%, 100% {\\r\\n top: 24px;\\r\\n height: 32px;\\r\\n }\\r\\n }\\r\\n@keyframes lds-facebook {\\r\\n 0% {\\r\\n top: 8px;\\r\\n height: 64px;\\r\\n }\\r\\n 50%, 100% {\\r\\n top: 24px;\\r\\n height: 32px;\\r\\n }\\r\\n }\\r\\n.table-bordered{\\r\\n color:#01385f;\\r\\n }\\r\\n.table-bordered thead{\\r\\n background: #0fa7ba;\\r\\n color: #fff;\\r\\n }\\r\\n.table-bordered tr:nth-child(odd){\\r\\n background-color: rgba(3,189,202,.1);\\r\\n }\\r\\n@media screen and (max-width:575px) {\\r\\n .profile-widget {\\r\\n padding: 5px;\\r\\n }\\r\\n .profile-widget h4,\\r\\n.service-list h4 {\\r\\n font-size: 16px;\\r\\n}\\r\\n }\"","module.exports = \"
\\r\\n \\r\\n

{{\\\"consultation_fee\\\"|translate}} ({{\\\"consultation_fee_all_types\\\"|translate}})

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{\\\"online\\\"|translate}}{{\\\"face_to_face\\\"|translate}}{{\\\"home_visit\\\"|translate}}
{{\\\"new\\\"|translate}}JOD {{this.userInfo == undefined ? '0': this.userInfo.payRate}}JOD {{this.userInfo == undefined ? '0': this.userInfo.ftFpayRate}}JOD {{this.userInfo == undefined ? '0': this.userInfo.homeVisitPayRate}}
{{\\\"follow_up\\\"|translate}}JOD {{this.userInfo == undefined ? '0': this.userInfo.followUpPayRate}}JOD {{this.userInfo == undefined ? '0': this.userInfo.ftfFollowUpPayRate}}JOD {{this.userInfo == undefined ? '0': this.userInfo.homeVisitFollowUpPayRate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, Inject, OnInit, Renderer2 } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { HomeService } from '../home/home.service';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: 'app-consultation-fees',\r\n templateUrl: './consultation-fees.component.html',\r\n styleUrls: ['./consultation-fees.component.css']\r\n})\r\nexport class ConsultationFeesComponent implements OnInit {\r\n userInfo: any;\r\n lastFollowup: any;\r\n isProfileLoaded: boolean = false;\r\n IsPreviousFollowup: boolean = false;\r\n staffId: string;\r\n Organization: any;\r\n providers: any = [];\r\n providerId: string = \"\";\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private homeService: HomeService, private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.providerId = data.id;\r\n }\r\n\r\n ngOnInit() {\r\n this.getStaffDetail();\r\n\r\n }\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n getStaffDetail() {\r\n this.homeService.getProviderDetail(this.providerId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.userInfo = res.data;\r\n this.isProfileLoaded = true;\r\n }\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \".cont-banner {\\r\\n background-image: url('contact-us-banner.png');\\r\\n background-repeat: no-repeat;\\r\\n width: 100%;\\r\\n position: relative;\\r\\n background-size: cover;\\r\\n height: 600px;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n.contactus-content {\\r\\n background: #01385f;\\r\\n color: #fff;\\r\\n text-align: center;\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n padding: 0;\\r\\n}\\r\\n.contactus-content h2 {\\r\\n font-size: 3rem;\\r\\n padding-top: 10rem;\\r\\n color: #fff;\\r\\n}\\r\\n.contactus-content p {\\r\\n font-size: 1rem;\\r\\n color: #fff;\\r\\n}\\r\\n.conract-form {\\r\\n margin-top: -20rem;\\r\\n margin-bottom: 8rem;\\r\\n}\\r\\n.conract-form form {\\r\\n background: #fff;\\r\\n}\\r\\n.conract-form .form-group .input-style {\\r\\n width: 100%;\\r\\n padding: 10px 20px;\\r\\n border-radius: 0;\\r\\n min-height: 50px;\\r\\n background: #ffffff;\\r\\n border: 1px solid #a5b6cb;\\r\\n border-radius: 10px;\\r\\n}\\r\\n.conract-form .form-group label {\\r\\n font-weight: 500;\\r\\n font-size: 16px;\\r\\n line-height: 19px;\\r\\n color: #4b6d97;\\r\\n}\\r\\n.outbox-enqueires {\\r\\n text-align: center;\\r\\n margin: 40px auto;\\r\\n}\\r\\n.enqueiries {\\r\\n background: #fff;\\r\\n padding: 30px;\\r\\n word-break: break-word;\\r\\n margin-top: 35px;\\r\\n}\\r\\n.blue-icon {\\r\\n background: #01385f;\\r\\n border-radius: 100%;\\r\\n height: 150px;\\r\\n width: 150px;\\r\\n padding: 20px;\\r\\n margin: 20px auto;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n.outbox-enqueires.dark-theme .blue-icon {\\r\\n background: #2f2660;\\r\\n}\\r\\n.blue-icon img {\\r\\n max-width: 90%;\\r\\n max-height: 90%;\\r\\n}\\r\\n.enqueiries p,\\r\\n.enqueiries span {\\r\\n font-weight: 500;\\r\\n font-size: 1.5rem;\\r\\n}\\r\\n.enqueiries a {\\r\\n background: #01385f;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n width: 200px;\\r\\n line-height: 50px;\\r\\n border-radius: 12px;\\r\\n margin-top: 20px;\\r\\n}\\r\\n.outbox-enqueires.dark-theme .enqueiries a {\\r\\n background: #2f2660;\\r\\n}\\r\\n.enqueiries h2 {\\r\\n font-weight: 600;\\r\\n}\\r\\na.mailto-btn {\\r\\n margin-top: 100px;\\r\\n}\\r\\n.enqueiries::before {\\r\\n content: \\\"\\\";\\r\\n display: block;\\r\\n width: 80%;\\r\\n margin: auto;\\r\\n height: 18px;\\r\\n background: #01385f;\\r\\n position: relative;\\r\\n top: -37px;\\r\\n}\\r\\n.outbox-enqueires.dark-theme .enqueiries::before {\\r\\n background: #2f2660;\\r\\n}\\r\\n.conract-form form .btn-outer button {\\r\\n box-shadow: none;\\r\\n border-radius: 12px;\\r\\n margin: auto;\\r\\n display: inline-block;\\r\\n width: 200px;\\r\\n line-height: 50px;\\r\\n margin-top: 20px;\\r\\n font-size: 16px;\\r\\n}\\r\\n.conract-form form .btn-outer {\\r\\n text-align: left;\\r\\n}\\r\\n.conract-form form p {\\r\\n color: #000000;\\r\\n font-size: 22px;\\r\\n}\\r\\n.conract-form form p a {\\r\\n text-decoration: underline;\\r\\n color: #01385f;\\r\\n}\\r\\n.outbox-enqueires h3 {\\r\\n font-weight: 600;\\r\\n}\\r\\nsection.location-contact {\\r\\n margin-bottom: 60px;\\r\\n}\\r\\n.is-invalid {\\r\\n border: 1px solid red !important;\\r\\n}\\r\\n.contact-info {\\r\\n background-color: #17a2b8;\\r\\n padding: 50px;\\r\\n height: 100%;\\r\\n position: relative;\\r\\n}\\r\\n.contact-info h2 {\\r\\n font-size: 36px;\\r\\n font-weight: 500;\\r\\n text-transform: uppercase;\\r\\n color: #fff;\\r\\n margin-bottom: 3rem;\\r\\n}\\r\\n.contact-info p {\\r\\n color: #fff;\\r\\n font-size: 1rem;\\r\\n font-weight: 500;\\r\\n display: inline-flex;\\r\\n margin-top: 5px;\\r\\n}\\r\\n.contact-info p img {\\r\\n height: 15px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n.form-section {\\r\\n background-color: #fff;\\r\\n padding: 50px;\\r\\n}\\r\\n.form-section h2 {\\r\\n color: #17a2b8;\\r\\n font-size: 36px;\\r\\n text-transform: uppercase;\\r\\n margin-bottom: 3rem;\\r\\n font-weight: 500;\\r\\n}\\r\\n.privacy_txt {\\r\\n font-size: 14px !important;\\r\\n color: #01385f;\\r\\n font-weight: 500;\\r\\n text-align: left;\\r\\n}\\r\\n.padd_right_0 {\\r\\n padding-right: 0;\\r\\n}\\r\\n.padd_left_0 {\\r\\n padding-left: 0;\\r\\n}\\r\\n.social_link {\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n position: absolute;\\r\\n bottom: 3rem;\\r\\n}\\r\\n.social_link li {\\r\\n margin-right: 0.5rem;\\r\\n}\\r\\n.social_link li a {\\r\\n background-color: #fff;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n text-align: center;\\r\\n line-height: 30px;\\r\\n border-radius: 30px;\\r\\n display: block;\\r\\n}\\r\\n.social_link li a img {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n@media screen and (max-width:991px) {\\r\\n .form-section {\\r\\n padding: 30px;\\r\\n }\\r\\n .form-section h2 {\\r\\n font-size: 32px;\\r\\n margin-bottom: 2rem;\\r\\n }\\r\\n h3 {\\r\\n font-size: 25px;\\r\\n font-weight: 600;\\r\\n margin-bottom: 10px;\\r\\n }\\r\\n .contact-info h2 {\\r\\n font-size: 32px;\\r\\n color: #fff;\\r\\n margin-bottom: 2rem;\\r\\n }\\r\\n .contact-info {\\r\\n padding: 30px;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:767px) {\\r\\n .padd_right_0,.padd_left_0 {\\r\\n padding: 0 !important;\\r\\n }\\r\\n}\\r\\n@media (max-width: 576px) {\\r\\n .whatwedo-content h2,\\r\\n .contactus-content h2 {\\r\\n font-size: 2rem;\\r\\n }\\r\\n .conract-form {\\r\\n margin-top: -18rem;\\r\\n }\\r\\n .contactus-content h2 {\\r\\n padding-top: 7rem;\\r\\n }\\r\\n .form-section h2 {\\r\\n font-size: 25px;\\r\\n margin-bottom: 1rem;\\r\\n }\\r\\n h3 {\\r\\n font-size: 21px;\\r\\n font-weight: 600;\\r\\n margin-bottom: 10px;\\r\\n }\\r\\n .conract-form .form-group .input-style {\\r\\n padding: 5px 10px;\\r\\n min-height: 30px;\\r\\n font-size: 13px;\\r\\n }\\r\\n .contact_info {\\r\\n padding: 15px;\\r\\n }\\r\\n .conract-form .form-group label {\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n margin-bottom: 2px;\\r\\n }\\r\\n .conract-form form p {\\r\\n font-size: 16px;\\r\\n }\\r\\n .conract-form form .btn-outer button {\\r\\n width: 170px;\\r\\n line-height: 30px;\\r\\n margin-top: 10px;\\r\\n font-size: 16px;\\r\\n }\\r\\n .contact-info h2 {\\r\\n font-size: 25px;\\r\\n margin-bottom: 1rem;\\r\\n }\\r\\n .cont-banner {\\r\\n height: 450px;\\r\\n margin-bottom: 30px;\\r\\n }\\r\\n .contact-info p {\\r\\n font-size: 0.9rem;\\r\\n }\\r\\n .social_link {\\r\\n position: inherit !important;\\r\\n }\\r\\n .blue-icon {\\r\\n height: 110px;\\r\\n width: 110px;\\r\\n }\\r\\n .enqueiries p,\\r\\n .enqueiries span {\\r\\n font-weight: 500;\\r\\n font-size: 1.3rem;\\r\\n }\\r\\n .enqueiries h2 {\\r\\n font-size: 1.7rem;\\r\\n }\\r\\n section.location-contact {\\r\\n margin-bottom: 0;\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"contact_us\\\"|translate}}

\\r\\n

{{\\\"we_are_here_to_help.\\\" | translate}}

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

{{\\\"send_us_message\\\" | translate}}

\\r\\n

{{\\\"Enter_your_details\\\" | translate}}

\\r\\n
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_first_name\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_last_name\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_email\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"Please_enter_a_valid_email_address\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_Phone_number\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please select department\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

{{\\\"The information you provide will be used in accordance with the terms of our\\\"|translate}}\\r\\n \\r\\n {{\\\"privacy_policy\\\"|translate}}\\r\\n .\\r\\n

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

{{\\\"our_details\\\" | translate}}

\\r\\n

\\\"\\\" Naber Medical Complex, 1st\\r\\n floor, Suleiman Al Hadidi Street, 5th Circle, Amman, Jordan

\\r\\n

\\\"\\\" Support@MHG.com

\\r\\n

\\\"\\\" +962 77 683 7972

\\r\\n
    \\r\\n
  • \\\"\\\"
  • \\r\\n
  • \\\"\\\"
  • \\r\\n
  • \\\"\\\"
  • \\r\\n
  • \\\"\\\"
  • \\r\\n
  • \\\"\\\"
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","\r\nimport { AfterViewInit, Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\nimport { MatDialog } from '@angular/material';\r\nimport { TermsConditionModalComponent } from '../terms-conditions/terms-conditions.component';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-contact-us\",\r\n templateUrl: \"./contact-us.component.html\",\r\n styleUrls: [\"./contact-us.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ContactUsComponent implements OnInit {\r\n contactUsForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n subDomainInfo: any;\r\n errorMessage: string = null;\r\n ipAddress: string;\r\n sendContactUsDataUrl = \"api/Organization/SendContactUsData\";\r\n organizationEmailAddress: string = \"corvus_admin@corvushealthrec.com\";\r\n getOrganizationEmailAddressUrl = \"api/Organization/GetOrganizationEmailAddress\";\r\n constructor(private formBuilder: FormBuilder,\r\n private router: Router,\r\n private commonService: CommonService,\r\n private notifier: NotifierService,\r\n private dialogModal: MatDialog,\r\n private translate: TranslateService) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.sytemInfo.subscribe(obj => {\r\n this.ipAddress = obj.ipAddress;\r\n });\r\n this.contactUsForm = this.formBuilder.group({\r\n name: [\"\", Validators.required],\r\n email: [\"\", [Validators.required, Validators.email]],\r\n department: [\"\", Validators.required],\r\n reason: [\"\"],\r\n });\r\n this.getOrganizationEmailAddress();\r\n }\r\n\r\n get f() {\r\n return this.contactUsForm.controls;\r\n }\r\n\r\n getOrganizationEmailAddress() {\r\n this.commonService.get(this.getOrganizationEmailAddressUrl).subscribe(res => {\r\n this.organizationEmailAddress = res.data;\r\n });\r\n }\r\n\r\n get mailToAddress(): string {\r\n if (this.organizationEmailAddress) {\r\n return \"mailto:\" + this.organizationEmailAddress + \"?Subject=Hello%20again\";\r\n } else {\r\n return \"mailto:info@smartdatainc.net?Subject=Hello%20again\";\r\n }\r\n\r\n }\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width: '70%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n });\r\n }\r\n\r\n onSubmit() {\r\n //////\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.contactUsForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.errorMessage = null;\r\n\r\n const postData = {\r\n Name: this.f.name.value,\r\n EmailAddress: this.f.email.value,\r\n Department: this.f.department.value,\r\n Reason: this.f.reason.value,\r\n IPaddress: this.ipAddress ? this.ipAddress : ''\r\n };\r\n\r\n this.commonService.post(this.sendContactUsDataUrl, postData, true).subscribe(res => {\r\n if (res.data) {\r\n this.notifier.notify('success', 'Submitted Successfully');\r\n this.router.navigate(['/']);\r\n }\r\n });\r\n\r\n }\r\n}\r\n","module.exports = \".policy-blk .section-heading{\\r\\n font-size: 24px;\\r\\n margin-bottom: 12px;\\r\\n margin-top: 25px;\\r\\n color: #01385f !important;\\r\\n}\\r\\n.policy-blk .fa{\\r\\n position: absolute;\\r\\n top: -0px;\\r\\n right: -5px;\\r\\n background-color: #2f2660;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 0;\\r\\n cursor: pointer;\\r\\n z-index: 99;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n.terms-block{\\r\\n height: calc(100% - 50px);\\r\\n overflow: auto;\\r\\n}\\r\\n.wedo-box {\\r\\n text-align: center;\\r\\n}\\r\\n.btn-theme {\\r\\n background-color: #17a2b8;\\r\\n text-align: center;\\r\\n border-radius: 3px !important;\\r\\n color: #fff;\\r\\n width: 35%;\\r\\n margin: auto;\\r\\n display: block;\\r\\n box-shadow: 0 8px 17px 2px rgba(58, 58, 58, 0.14), 0 3px 14px 2px rgba(78, 78, 78, 0.12),\\r\\n 0 5px 5px -3px rgba(80, 80, 80, 0.2);\\r\\n height: 54px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.cdk-overlay-pane{\\r\\n width: 45% !important;\\r\\n }\\r\\n.mat-dialog-container{\\r\\n border-radius: 10px !important;\\r\\n }\\r\\n.wedo-box p{\\r\\n color: #4b6d97;\\r\\n }\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Disclaimer

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

You are under 18 years old, you are not allowed to use this website unless you are under a parent’s or a guardian’s supervision during registration and attending consultation or using your account.\\r\\n

\\r\\n

If you want to proceed your guardian needs to click on “I Agree” button. The guardian name must be entered in the profile details, otherwise we will inactivate your account.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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, ViewEncapsulation } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material';\r\nimport { Console } from 'console';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: 'app-desclaimer',\r\n templateUrl: './desclaimer.component.html',\r\n styleUrls: ['./desclaimer.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DesclaimerComponent implements OnInit {\r\n\r\n constructor(private dialogModalRef: MatDialogRef,private translate:TranslateService) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n onsubmit() {\r\n sessionStorage.setItem('iagree', 'yes');\r\n this.dialogModalRef.close();\r\n }\r\n}\r\n","module.exports = \".mb-7 {\\r\\n margin-bottom: 70px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-checkbox {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header {\\r\\n padding: 0px 15px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header-title {\\r\\n align-items: center;\\r\\n color: #01385f;\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\ninput,\\r\\noption {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header-title i {\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n.search-filter .ng-select .ng-clear-wrapper .ng-clear {\\r\\n padding-top: 3px;\\r\\n}\\r\\n\\r\\n::ng-deep .ng-select .ng-clear-wrapper {\\r\\n margin-left: 8px !important;\\r\\n}\\r\\n\\r\\n.search-filter .ng-select .ng-select-container {\\r\\n border: 1px solid #ccc !important;\\r\\n}\\r\\n\\r\\n.mat-raised-button {\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n border-radius: 10px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.sortBy .ng-select {\\r\\n margin-right: 1rem;\\r\\n min-width: 105px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container {\\r\\n border: 2px solid #17a2b8;\\r\\n color: #17a2b8;\\r\\n border-radius: 8px;\\r\\n}\\r\\n\\r\\n.sortBy .ng-select .ng-arrow-wrapper .ng-arrow {\\r\\n border-color: #17a2b8 transparent transparent;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input {\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input > input {\\r\\n height: 36px;\\r\\n}\\r\\n\\r\\n.sortBy .ng-select .ng-select-container .ng-value-container .ng-placeholder {\\r\\n color: #17a2b8;\\r\\n}\\r\\n\\r\\n.search-filter .mat-accordion {\\r\\n background: #fff;\\r\\n box-shadow: 0px 24px 24px rgba(0, 0, 0, 0.06);\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-card {\\r\\n box-shadow: 0px 25px 25px rgba(0, 0, 0, 0.06) !important;\\r\\n}\\r\\n\\r\\n.search-filter .mat-accordion .mat-expansion-panel-header {\\r\\n border-bottom: 1px solid #e0e0e0;\\r\\n}\\r\\n\\r\\n.search-filter .mat-accordion .mat-expansion-panel-spacing {\\r\\n margin: 0;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n.count-list {\\r\\n background: #fff;\\r\\n /* Old browsers */\\r\\n color: #fff;\\r\\n padding: 15px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n margin-bottom: 15px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n margin-top: 5rem;\\r\\n box-shadow: 0px -6px 34px rgb(0 0 0 / 10%);\\r\\n}\\r\\n\\r\\n.sortBy {\\r\\n display: flex;\\r\\n margin-left: 1rem;\\r\\n}\\r\\n\\r\\n.sortBy span {\\r\\n color: #000;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.sortBy .sort_width {\\r\\n min-width: 75px;\\r\\n}\\r\\n\\r\\n.sortBy select {\\r\\n border: 1px solid #17a2b8;\\r\\n color: #17a2b8;\\r\\n margin: 0px 15px;\\r\\n padding: 5px;\\r\\n border-radius: 8px;\\r\\n}\\r\\n\\r\\n.sortBy .thumbnail-icon a {\\r\\n color: #9b9b9b;\\r\\n margin: 0px 6px;\\r\\n}\\r\\n\\r\\n.sort-by {\\r\\n float: left;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.sort-by button {\\r\\n font-size: 18px;\\r\\n padding: 4px 18px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.sort-by button:hover {\\r\\n box-shadow: 0px 10px 20px rgb(0 0 0 / 16%);\\r\\n}\\r\\n\\r\\n.sort-by .mat-raised-button {\\r\\n border: 2px solid #01385f !important;\\r\\n padding: 2px 25px;\\r\\n color: #01385f !important;\\r\\n font-weight: 600;\\r\\n background-color: #fff !important;\\r\\n font-size: 14px;\\r\\n cursor: pointer;\\r\\n border-radius: 7px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.custom-ng-select {\\r\\n width: 135px;\\r\\n display: inline-block;\\r\\n margin-left: 10px;\\r\\n height: 30px;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.ng-select-single .ng-select-container {\\r\\n height: 25px;\\r\\n min-height: 25px;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input > input {\\r\\n height: 25px;\\r\\n}\\r\\n\\r\\n.count-list h3 {\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n margin: 0px;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-input {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-calendar-container {\\r\\n z-index: 1;\\r\\n top: inherit;\\r\\n}\\r\\n\\r\\n.search-filter .ngx-datepicker-container .ngx-datepicker-input {\\r\\n border: 1px solid #ccc !important;\\r\\n border-radius: 4px !important;\\r\\n -webkit-border-radius: 4px !important;\\r\\n min-height: 36px;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-selected,\\r\\n.main-calendar-days .day-unit:hover {\\r\\n background: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-today {\\r\\n background: #63d891 !important;\\r\\n}\\r\\n\\r\\n.filter-widget .mat-checkbox {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.filter-widget .more-widget {\\r\\n color: #17a2b8;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.filter-widget .ng-scrollbar-view {\\r\\n overflow: auto;\\r\\n}\\r\\n\\r\\n.filter-btn {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n/* \\r\\n.doctor-widget {\\r\\n margin-bottom: 30px;\\r\\n} */\\r\\n\\r\\n.doctor-widget .doc-info {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.doctor-widget .mat-card .fa-star-o {\\r\\n /* position: absolute;\\r\\n right: 10px;\\r\\n top: 10px;\\r\\n font-size: 18px;\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n cursor: pointer; */\\r\\n}\\r\\n\\r\\n.fav_icon {\\r\\n position: absolute;\\r\\n right: 10px;\\r\\n top: 10px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.fav_icon .mat-checkbox {\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n left: 0;\\r\\n opacity: 0;\\r\\n}\\r\\n\\r\\n.fav_icon .fa {\\r\\n color: rgb(238, 204, 13);\\r\\n}\\r\\n\\r\\n.doc-info-left {\\r\\n display: flex;\\r\\n max-height: 180px;\\r\\n min-height: 175px;\\r\\n}\\r\\n\\r\\n.doctor-img {\\r\\n width: 180px;\\r\\n height: 180px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n overflow: hidden;\\r\\n margin-right: 15px;\\r\\n /* flex: 0 0 180px; */\\r\\n /* display: flex; */\\r\\n}\\r\\n\\r\\n.doctor-widget .doc-name {\\r\\n font-size: 24px;\\r\\n font-weight: 600;\\r\\n margin-bottom: 3px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.doc-name a {\\r\\n color: #01385f;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.doc-name a:hover {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.mat-card-content p.doc-speciality {\\r\\n font-size: 14px;\\r\\n color: #146795;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.doc-department {\\r\\n color: #146795;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n margin-bottom: 5px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.hand {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 0px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.list-grid-btn {\\r\\n font-size: 20px;\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n\\r\\n.list-grid-btn .active {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.list-grid-btn i {\\r\\n cursor: pointer;\\r\\n color: #9b9b9b;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n color: #146795;\\r\\n}\\r\\n\\r\\n.cfee {\\r\\n margin-bottom: 7px;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n.clinic-services {\\r\\n color: #6ab8e4;\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n flex-wrap: wrap;\\r\\n min-height: 62px;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n border: 1px solid #6ab8e4;\\r\\n border-radius: 4px;\\r\\n display: inline-block;\\r\\n font-size: 12px;\\r\\n padding: 3px 10px;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n margin-right: 5px;\\r\\n margin-bottom: 5px;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.clinic-booking {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n border-top: 1px solid #ddd;\\r\\n padding-top: 15px;\\r\\n margin-top: 15px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.clinic-booking .mat-raised-button {\\r\\n box-shadow: none;\\r\\n -ms-box-shadow: none;\\r\\n min-width: 120px;\\r\\n border-radius: 10px;\\r\\n padding: 3px;\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.clinic-booking button.mat-accent {\\r\\n background-color: transparent;\\r\\n color: #17a2b8;\\r\\n border: 2px solid #17a2b8;\\r\\n}\\r\\n\\r\\na.link-btn {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,\\r\\n.mat-checkbox-checked.mat-accent .mat-checkbox-background {\\r\\n background-color: #fff !important;\\r\\n border: 2px solid #b9b9b9 !important;\\r\\n}\\r\\n\\r\\n.mat-checkbox-frame {\\r\\n border-color: #b9b9b9 !important;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #17a2b8 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 600;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #17a2b8;\\r\\n border-radius: 3px;\\r\\n}\\r\\n\\r\\n.link-btn:hover {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.chk-availability label {\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.chk-availability button {\\r\\n background: #fff;\\r\\n border: 1px solid #b9b9b9;\\r\\n border-radius: 5px;\\r\\n font-size: 13px;\\r\\n color: #b9b9b9;\\r\\n font-weight: 500;\\r\\n margin-right: 10px;\\r\\n margin-bottom: 10px;\\r\\n padding: 5px 10px;\\r\\n line-height: 13px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.chk-availability button:disabled {\\r\\n cursor: not-allowed;\\r\\n border: 1px solid #e5e5e5;\\r\\n}\\r\\n\\r\\n.chk-availability button.active {\\r\\n border-color: #e7d9f8;\\r\\n color: #01385f;\\r\\n background: #e7d9f8;\\r\\n}\\r\\n\\r\\n.chk-availability button:not(:disabled):hover {\\r\\n background: #189bed;\\r\\n color: #fff;\\r\\n border-color: #189bed;\\r\\n}\\r\\n\\r\\n.clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n min-height: 125px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.clini-infos ul li {\\r\\n display: block;\\r\\n line-height: 28px;\\r\\n word-break: break-word;\\r\\n color: #01385f;\\r\\n position: relative;\\r\\n padding-left: 25px;\\r\\n padding-right: 5px;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n min-height: 28px;\\r\\n}\\r\\n\\r\\n.clini-infos ul li a {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.clini-infos ul li .direction {\\r\\n color: #17a2b8;\\r\\n cursor: pointer;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.clini-infos ul li i {\\r\\n font-size: 15px;\\r\\n min-width: 20px;\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 6px;\\r\\n}\\r\\n\\r\\n.doc-info-cont .row {\\r\\n margin-left: 0;\\r\\n}\\r\\n\\r\\n.mat-form-field + .mat-form-field {\\r\\n margin-left: 8px;\\r\\n}\\r\\n\\r\\n/* grid view */\\r\\n\\r\\n/* .grid-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n\\r\\n/* .grid-profile .clinic-services {\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.grid-profile .doc-info,\\r\\n.grid-profile .doc-info-left {\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-img {\\r\\n float: left;\\r\\n height: 160px;\\r\\n width: 160px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n width: 60%;\\r\\n flex-direction: row;\\r\\n margin-top: 0;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn .fee-sec {\\r\\n margin-right: 5px;\\r\\n color: #01385f;\\r\\n font-weight: 600;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn .fee-sec h3 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0px;\\r\\n margin-right: 0.5rem;\\r\\n cursor: pointer;\\r\\n border: 2px solid #00375d;\\r\\n padding: 10px 10px;\\r\\n border-radius: 4px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn .fee-sec h3:hover{\\r\\n color:#00a2b6;\\r\\n border: 2px solid #00a2b6;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn .fee-sec h4 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.grid-profile button {\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-info-right {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-info-right .clini-infos {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.grid-profile .addres {\\r\\n min-height: 28px;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-department {\\r\\n /* min-height: 30px; */\\r\\n word-break: break-all;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-widget .doc-info {\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n/* list view */\\r\\n\\r\\n/* .list-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n\\r\\n.list-profile a {\\r\\n margin-right: 15px;\\r\\n}\\r\\n\\r\\n.pagination-nav {\\r\\n margin-top: 1.5rem;\\r\\n}\\r\\n\\r\\n.pagination-nav .pagination {\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.pagination-nav .pagination a {\\r\\n color: #01385f;\\r\\n font-weight: 600;\\r\\n border-radius: 4px;\\r\\n margin: 0 2px;\\r\\n border: none;\\r\\n}\\r\\n\\r\\n.search-filter {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.search_sticky {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n top: 100px;\\r\\n height: calc(100vh - 120px);\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\n.search_sticky::-webkit-scrollbar {\\r\\n width: 4px;\\r\\n}\\r\\n\\r\\n/* Track */\\r\\n\\r\\n.search_sticky::-webkit-scrollbar-track {\\r\\n background: #f1f1f1;\\r\\n}\\r\\n\\r\\n/* Handle */\\r\\n\\r\\n.search_sticky::-webkit-scrollbar-thumb {\\r\\n background: #01385f;\\r\\n}\\r\\n\\r\\n/* Handle on hover */\\r\\n\\r\\n.search_sticky::-webkit-scrollbar-thumb:hover {\\r\\n background: #000;\\r\\n}\\r\\n\\r\\n.fee-sec h3 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0px;\\r\\n margin-right: 0.5rem;\\r\\n cursor: pointer;\\r\\n border: 2px solid #00375d;\\r\\n padding: 10px 10px;\\r\\n border-radius: 4px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.clinic-btn.dr-list-btn {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n@media (max-width: 1280px) {\\r\\n .grid-profile .clinic-btn {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 1199px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 160px;\\r\\n height: 160px;\\r\\n }\\r\\n .clinic-booking button.mat-raised-button.mat-primary,\\r\\n .clinic-booking .link-btn {\\r\\n font-size: 12px;\\r\\n min-width: 85px;\\r\\n height: 36px !important;\\r\\n line-height: 26px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n }\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: column;\\r\\n gap: 10px;\\r\\n }\\r\\n .clinic-btn {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n }\\r\\n .list-profile a {\\r\\n margin-right: 0px;\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n .clinic-booking button.mat-raised-button.mat-primary,\\r\\n .clinic-booking .link-btn {\\r\\n margin-bottom: 5px;\\r\\n font-size: 12px;\\r\\n min-width: 85px;\\r\\n height: 36px;\\r\\n line-height: 26px;\\r\\n width: 100%;\\r\\n }\\r\\n app-doctor-list .clinic-booking .chk-availability {\\r\\n width: 100%;\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n app-doctor-list .grid-profile .clinic-btn {\\r\\n width: 100%;\\r\\n }\\r\\n .grid-profile .clinic-btn .fee-sec h3 {\\r\\n font-size: 13px;\\r\\n min-width: 80px;\\r\\n padding: 5px;\\r\\n height: 36px;\\r\\n line-height: 22px;\\r\\n text-align: center;\\r\\n }\\r\\n /* .list-grid-btn,\\r\\n .sort-by {\\r\\n margin-top: 15px;\\r\\n } */\\r\\n \\r\\n .search-filter .mat-expansion-panel-header-title {\\r\\n font-size: 14px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n .count-list {\\r\\n justify-content: flex-start;\\r\\n flex-wrap: wrap;\\r\\n align-items: center;\\r\\n }\\r\\n .count-list h3 {\\r\\n margin: 5px 15px 5px 0px;\\r\\n font-size: 18px;\\r\\n }\\r\\n .sort-by {\\r\\n float: none;\\r\\n }\\r\\n .clinic-booking .chk-availability {\\r\\n width: 100%; \\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .doctor-widget .doc-info {\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n }\\r\\n .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 160px !important;\\r\\n height: 160px !important;\\r\\n float: left;\\r\\n }\\r\\n .clini-infos ul li {\\r\\n display: inline-block;\\r\\n padding-right: 10px;\\r\\n }\\r\\n .clini-infos ul li i {\\r\\n min-width: auto;\\r\\n }\\r\\n .doc-info-left {\\r\\n width: 100%;\\r\\n display: inherit;\\r\\n }\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: row;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 480px) {\\r\\n /* .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n } */\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: column;\\r\\n }\\r\\n .clinic-btn {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n.ngx-datepicker-calendar-container {\\r\\n z-index: 2 !important;\\r\\n}\\r\\n\\r\\n.ngx-slider .ngx-slider-bubble {\\r\\n font-weight: 500;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n line-height: 14px;\\r\\n padding-top: 0;\\r\\n margin-top: 8px;\\r\\n}\\r\\n\\r\\nmat-slider {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.price-range span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.mat-slider-thumb {\\r\\n border: 8px solid transparent !important;\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.mat-slider-track-fill {\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.cancl-pol-txt {\\r\\n color: #17a2b8 !important;\\r\\n cursor: pointer !important;\\r\\n font-weight: 500 !important;\\r\\n line-height: 20px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.mat-expansion-indicator::after {\\r\\n border-color: #17a2b8;\\r\\n}\\r\\n\\r\\n.mat-checkbox-layout .mat-checkbox-label {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.green-outline-btn {\\r\\n border-color: #17a2b8 !important;\\r\\n color: #17a2b8 !important;\\r\\n line-height: 36px;\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 991px) {\\r\\n .doc-info-left {\\r\\n max-height: inherit;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 1280px) {\\r\\n .doctor-widget .doc-name {\\r\\n font-size: 14px;\\r\\n }\\r\\n .cancl-pol-txt,\\r\\n .doc-department {\\r\\n font-size: 12px;\\r\\n line-height: 14px;\\r\\n }\\r\\n .clinic-services span {\\r\\n font-size: 10px;\\r\\n padding: 0 4px;\\r\\n margin-right: 2px;\\r\\n margin-bottom: 2px;\\r\\n }\\r\\n .clini-infos ul li {\\r\\n font-size: 12px;\\r\\n line-height: 20px;\\r\\n }\\r\\n .clini-infos ul li i {\\r\\n font-size: 12px;\\r\\n }\\r\\n .grid-profile .clinic-btn .fee-sec h3 {\\r\\n font-size: 14px;\\r\\n }\\r\\n .link-btn {\\r\\n font-size: 14px;\\r\\n }\\r\\n .clinic-services {\\r\\n min-height: 50px;\\r\\n }\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n overflow-y: scroll;\\r\\n height: 80vh;\\r\\n}\\r\\n\\r\\n@media screen and (max-width:575px) {\\r\\n .sortBy {\\r\\n margin-left: 0rem !important;\\r\\n }\\r\\n .sortBy .ng-select {\\r\\n margin-left: 1rem;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{ totalRecords }} {{ \\\"matches_found\\\" | translate }} -\\r\\n {{ searchedLocation }}\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n {{ \\\"sort_by\\\" | translate }} :\\r\\n \\r\\n \\r\\n \\r\\n {{ item.label | translate }}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ item.label | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"search\\\" | translate }}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\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\\\" | translate }}\\r\\n \\r\\n \\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_speciality\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ spl.value| translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 10 && speciality.length > 10\\\"\\r\\n (click)=\\\"maxIndex = maxIndex - 10\\\">{{\\\"less\\\"|translate}}...\\r\\n {{\\\"more\\\"|translate}}...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Select_services\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ srv.value | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 10 && services.length\\\"\\r\\n (click)=\\\"maxIndexService = maxIndexService - 10\\\">{{\\\"less\\\"|translate}}...\\r\\n {{\\\"more\\\"|translate}}...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"gender\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ g.gender | translate}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"language\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ language.language }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"consultation_fee\\\" | translate }} (JOD)\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"client_review\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (5)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (4)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (3)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (2)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (1)\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n
\\r\\n

\\r\\n Dr. {{ provider.fullName }}\\r\\n

\\r\\n
\\r\\n \\r\\n {{ spl.speciality|translate }}\\r\\n 0 && i <= 2\\\">, {{ spl.speciality |translate}}\\r\\n 3\\\">\\r\\n +{{ provider.specialities.length - 3 }}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n 0\\\" class=\\\"d-inline-block average-rating\\\">({{\\r\\n provider.totalReviews }})\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n {{\\r\\n provider.clinicName?provider.clinicName:'-----'\\r\\n }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{ provider.phoneNumber }}\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{\\r\\n provider.email }}\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{ provider.address }}\\r\\n Get Directions.\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{ provider.language }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
metaData.pageSize\\\" class=\\\"col-md-12\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{'your_search_did_not_matched_any_results_please_try_a_different_search.'|translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { BookAppointmentComponent } from \"./../book-appointment/book-appointment.component\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { HomeService } from \"./../home/home.service\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n QueryList,\r\n ViewChild,\r\n ViewChildren,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { DatepickerOptions } from \"ng2-datepicker\";\r\nimport * as enLocale from \"date-fns/locale/en\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport {\r\n ProviderSearchFilterModel,\r\n ResponseModel,\r\n} from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\nimport { NullInjector } from \"@angular/core/src/di/injector\";\r\nimport { BookFreeAppointmentComponent } from \"../book-freeappointment/book-freeappointment.component\";\r\nimport { of } from \"rxjs\";\r\nimport {\r\n debounceTime,\r\n map,\r\n distinctUntilChanged,\r\n filter,\r\n} from \"rxjs/operators\";\r\nimport { fromEvent } from \"rxjs\";\r\nimport { ProviderProfileModalComponent } from \"../provider-profile/provider-profile.component\";\r\nimport { LabelType, Options } from \"@angular-slider/ngx-slider\";\r\nimport { CancelationRule } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\nimport { ProviderFeeSettingsComponent } from \"../provider-fee-settings/provider-fee-settings.component\";\r\nimport { MockResourceLoader } from \"@angular/compiler/testing\";\r\nimport { ConsultationFeesComponent } from \"../consultation-fees/consultation-fees.component\";\r\nimport { ClientsService } from \"src/app/platform/modules/client-portal/clients.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\n// import { Options } from \"ngx-google-places-autocomplete/objects/options/options\";\r\n// type NewType = Options;\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-doctor-list\",\r\n templateUrl: \"./doctor-list.component.html\",\r\n styleUrls: [\"./doctor-list.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DoctorListComponent implements OnInit, AfterViewInit {\r\n panelOpenState = false;\r\n specialityIconCheck: any;\r\n data: any[] = [];\r\n specialityIcon: any;\r\n showLoader: boolean = true;\r\n selectedSpeciality: any;\r\n selectedLocation: any;\r\n selectedDate: any;\r\n selectedGender: string;\r\n @ViewChild(\"tempselectedDate\") tempselectedDate: ElementRef;\r\n @ViewChildren(\"temprating\") temprating: QueryList;\r\n\r\n providerserachtext: string;\r\n doctorWidgetClass: string = \"col-sm-6 grid-profile mb-3\";\r\n options: DatepickerOptions;\r\n metaData: any;\r\n\r\n currentLoginUserId: number;\r\n userId: number;\r\n userRoleName: string;\r\n isPatientLogin: boolean = false;\r\n userRole: any;\r\n sortby: any[] = [\r\n { value: 1, label: \"price_low\" },\r\n { value: 2, label: \"price_high\" },\r\n { value: 3, label: \"rating\" },\r\n ];\r\n\r\n location: any[] = [];\r\n speciality: any[] = [];\r\n services: any[] = [];\r\n minIndex: number = 0;\r\n maxIndex: number = 10;\r\n minIndexService: number = 0;\r\n maxIndexService: number = 10;\r\n filterModel: ProviderSearchFilterModel;\r\n clearFilterModel: ProviderSearchFilterModel\r\n providers: any = [];\r\n totalRecords: number = 0;\r\n searchedLocation: string = \"\";\r\n masterGender: any = [];\r\n masterLanguage: any = [];\r\n selectedLanguage: any = [];\r\n\r\n Slider: Options = {\r\n floor: 0,\r\n ceil: 300,\r\n translate: (value: number, label: LabelType): string => {\r\n return \"JOD \" + value;\r\n },\r\n };\r\n minrate = 0;\r\n maxrate = 1000;\r\n\r\n checkedLocations: string[] = [];\r\n checkedSpecialities: string[] = [];\r\n checkedGenders: string[] = [];\r\n checkedServices: string[] = [];\r\n checkedRates: string[] = [];\r\n reviewRates: string[] = [];\r\n staffTaxonomy: any[] = [];\r\n @ViewChild(\"prosearchtext\") prosearchtext: ElementRef;\r\n staffId: string;\r\n selectedLang: any = [];\r\n constructor(\r\n private commonService: CommonService,\r\n private datePipe: DatePipe,\r\n private route: ActivatedRoute,\r\n private homeService: HomeService,\r\n private dialogModal: MatDialog,\r\n private headerComp: HomeHeaderComponent,\r\n private router: Router,\r\n private clientService: ClientsService,\r\n private notifier: NotifierService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n let dte = new Date();\r\n dte.setDate(dte.getDate() - 1);\r\n this.options = {\r\n minYear: 1970,\r\n maxYear: 2030,\r\n displayFormat: \"MMM D[,] YYYY\",\r\n barTitleFormat: \"MMMM YYYY\",\r\n dayNamesFormat: \"dd\",\r\n firstCalendarDay: 0, // 0 - Sunday, 1 - Monday\r\n locale: enLocale,\r\n minDate: dte, // Minimal selectable date\r\n //maxDate: new Date(Date.now()), // Maximal selectable date\r\n barTitleIfEmpty: \"Click to select a date\",\r\n placeholder: \"Select Date\", // HTML input placeholder attribute (default: '')\r\n fieldId: \"my-date-picker\", // ID to assign to the input field. Defaults to datepicker-\r\n useEmptyBarTitle: false, // Defaults to true. If set to false then barTitleIfEmpty will be disregarded and a date will always be shown\r\n };\r\n this.filterModel = new ProviderSearchFilterModel();\r\n this.clearFilterModel = new ProviderSearchFilterModel();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.checkPatientLogIn();\r\n this.searchInitilizer();\r\n this.commonService.initializeAuthData();\r\n }\r\n\r\n ngOnInit() {\r\n localStorage.removeItem('preAppointmentData')\r\n localStorage.removeItem('preAppointmentDataDocs')\r\n window.scroll(0, 0);\r\n //this.getMasterData();\r\n\r\n this.route.queryParams.subscribe((params) => {\r\n this.staffId = params[\"providerId\"];\r\n this.specialityIcon = params[\"searchTerm\"];\r\n\r\n // this.checkedSpecialities.push(\r\n // this.commonService.encryptValue(params[\"sp\"], false)\r\n // );\r\n if (\r\n params[\"loc\"] != \"\" &&\r\n params[\"loc\"] != null &&\r\n params[\"loc\"] != undefined\r\n ) {\r\n this.checkedLocations.push(\r\n this.commonService.encryptValue(params[\"loc\"], false)\r\n );\r\n }\r\n this.filterModel.Date = params[\"d\"];\r\n });\r\n\r\n // this.setPaginatorModel(\r\n // this.filterModel.pageNumber,\r\n // this.filterModel.pageSize,\r\n // this.filterModel.sortColumn,\r\n // this.filterModel.sortOrder\r\n // );\r\n // this.getProviderList(this.filterModel);\r\n }\r\n public isKeySet(obj: any, key: string): boolean {\r\n let isFound = false;\r\n obj.forEach((element) => {\r\n if ((element as string) == key.toString()) isFound = true;\r\n });\r\n return isFound;\r\n }\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n let date = null;\r\n if (\r\n this.selectedDate != undefined &&\r\n this.selectedDate != null &&\r\n this.selectedDate != \"\"\r\n ) {\r\n date = new Date(this.selectedDate);\r\n //date.setDate(date.getDate() + 1);\r\n }\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.Date =\r\n date != null\r\n ? this.datePipe.transform(new Date(date), \"dd-MM-yyyy\")\r\n : null;\r\n this.filterModel.Locations = this.selectedLocation;\r\n this.filterModel.Specialities = this.checkedSpecialities.toString();\r\n this.filterModel.Rates = this.checkedRates.toString();\r\n\r\n this.filterModel.MinRate = this.minrate.toString();\r\n\r\n this.filterModel.ReviewRating = this.reviewRates.toString();\r\n this.filterModel.Services = this.checkedServices.toString();\r\n this.filterModel.Gender = this.checkedGenders.toString();\r\n this.filterModel.keywords = \"\";\r\n //this.filterModel.Genders.push(\"0\");\r\n //this.filterModel.Specialities.push(this.selectedSpeciality);\r\n this.filterModel.ProviderId = this.staffId ? this.staffId : \"\";\r\n }\r\n onSpecialityChange(option, event) {\r\n this.filterModel.ProviderId = \"\";\r\n this.staffId = \"\";\r\n this.prosearchtext.nativeElement.value = \"\";\r\n this.filterModel.ProvidersearchText = \"\";\r\n if (event.source.checked) {\r\n this.checkedSpecialities.push(option.id.toString());\r\n } else {\r\n for (var i = 0; i < this.checkedSpecialities.length; i++) {\r\n if (this.checkedSpecialities[i] == option.id) {\r\n this.checkedSpecialities.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n this.getMasterData(this.checkedSpecialities, 1);\r\n this.applyFilter(true);\r\n }\r\n onServiceChange(option, event) {\r\n this.filterModel.ProviderId = \"\";\r\n this.staffId = \"\";\r\n this.prosearchtext.nativeElement.value = \"\";\r\n this.filterModel.ProvidersearchText = \"\";\r\n if (event.source.checked) {\r\n this.checkedServices.push(option.id.toString());\r\n } else {\r\n for (var i = 0; i < this.checkedServices.length; i++) {\r\n if (this.checkedServices[i] == option.id) {\r\n this.checkedServices.splice(i, 1);\r\n }\r\n }\r\n }\r\n this.applyFilter(true);\r\n }\r\n onGenderChange(option, event) {\r\n this.filterModel.ProviderId = \"\";\r\n this.staffId = \"\";\r\n this.prosearchtext.nativeElement.value = \"\";\r\n this.filterModel.ProvidersearchText = \"\";\r\n if (event.source.checked) {\r\n this.checkedGenders.push(option.id.toString());\r\n } else {\r\n for (var i = 0; i < this.checkedGenders.length; i++) {\r\n if (this.checkedGenders[i] == option.id) {\r\n this.checkedGenders.splice(i, 1);\r\n }\r\n }\r\n }\r\n this.applyFilter(true);\r\n }\r\n onlanguageChange = (event, lang) => {\r\n this.masterLanguage.map(x => {\r\n if (x.language == lang) {\r\n x.isChecked = event.checked;\r\n }\r\n })\r\n if (event.checked) {\r\n this.selectedLang.push(lang);\r\n this.selectedLanguage = this.selectedLang.toString();\r\n } else {\r\n const index = this.selectedLang.indexOf(lang);\r\n this.selectedLang.splice(index, 1);\r\n this.selectedLanguage = this.selectedLang.toString();\r\n }\r\n this.filterModel.Language = this.selectedLanguage.toString();\r\n this.applyFilter(true);\r\n };\r\n\r\n checkPatientLogIn() {\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.currentLoginUserId = user.id;\r\n this.userId = user.userID;\r\n this.userRole = user && user.users3 && user.users3.userRoles.userType;\r\n this.isPatientLogin = this.userRole === \"CLIENT\";\r\n }\r\n this.getMasterData();\r\n });\r\n }\r\n addToFavouritePharmacy(provider: any, event: any) {\r\n var postData = {\r\n PatientId: this.currentLoginUserId,\r\n CreatedBy: this.userId,\r\n ProviderId: provider.staffId,\r\n IsActive: event.checked,\r\n UpdatedBy: this.userId,\r\n };\r\n ////\r\n this.clientService\r\n .addPatientFavouriteProvider(postData)\r\n .subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n //this.getProviderList(this.filterModel, true);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n // onConsultationFeeChange(event) {\r\n // this.filterModel.ProviderId = '';\r\n // this.staffId = '';\r\n // this.prosearchtext.nativeElement.value = '';\r\n // if (event.source.checked) {\r\n // this.checkedRates.push(event.source.id.toString());\r\n // } else {\r\n // for (var i = 0; i < this.checkedRates.length; i++) {\r\n // if (this.checkedRates[i] == event.source.id) {\r\n // this.checkedRates.splice(i, 1);\r\n // }\r\n // }\r\n // }\r\n\r\n // this.applyFilter(true);\r\n // }\r\n\r\n onConsultationFeeChange(event) {\r\n this.filterModel.ProviderId = \"\";\r\n this.staffId = \"\";\r\n this.prosearchtext.nativeElement.value = \"\";\r\n this.filterModel.ProvidersearchText = \"\";\r\n this.checkedRates = [this.maxrate.toString()];\r\n\r\n this.applyFilter(true);\r\n }\r\n\r\n onReviewRatingChange(event) {\r\n this.filterModel.ProviderId = \"\";\r\n this.staffId = \"\";\r\n this.prosearchtext.nativeElement.value = \"\";\r\n this.filterModel.ProvidersearchText = \"\";\r\n if (event.source.checked) {\r\n this.reviewRates.push(event.source.id.toString());\r\n } else {\r\n for (var i = 0; i < this.reviewRates.length; i++) {\r\n if (this.reviewRates[i] == event.source.id) {\r\n this.reviewRates.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n this.applyFilter(true);\r\n }\r\n\r\n onDateChange(event) {\r\n this.applyFilter(true);\r\n }\r\n\r\n // onFeeChange(option, event) {\r\n // if (event.source.checked) {\r\n // this.checkedRates.push(option.id.toString());\r\n // } else {\r\n // for (var i = 0; i < this.checkedRates.length; i++) {\r\n // if (this.checkedRates[i] == option.id) {\r\n // this.checkedRates.splice(i, 1);\r\n // }\r\n // }\r\n // }\r\n // }\r\n clearFilter() {\r\n this.prosearchtext.nativeElement.value = \"\";\r\n this.filterModel.ProvidersearchText = \"\";\r\n this.checkedGenders = [];\r\n this.checkedRates = [];\r\n this.checkedServices = [];\r\n this.checkedSpecialities = [];\r\n this.selectedSpeciality = [];\r\n this.reviewRates = [];\r\n this.selectedGender = \"\";\r\n this.selectedLanguage = \"\";\r\n this.selectedLang = [];\r\n this.selectedLocation = \"\";\r\n const datepickerInput = document.getElementById('my-date-picker') as HTMLInputElement;\r\n if (datepickerInput) {\r\n datepickerInput.value = '';\r\n }\r\n //this.tempselectedDate[\"displayValue\"] = \"\";\r\n this.masterLanguage.forEach((ele) => {\r\n ele.isChecked = false\r\n })\r\n this.temprating.forEach((element) => {\r\n element.checked = false;\r\n });\r\n\r\n\r\n // this.selectedSpeciality = \"\";\r\n // this.route.queryParams.subscribe(params => {\r\n // this.selectedSpeciality = +this.commonService.encryptValue(\r\n // params[\"sp\"],\r\n // false\r\n // );\r\n // });\r\n // this.checkedSpecialities.push(this.selectedSpeciality);\r\n\r\n // To reset consultation fees slider\r\n this.maxrate = 1000;\r\n this.minrate = 0;\r\n\r\n this.selectedDate = null;\r\n this.applyFilter(false);\r\n this.router.navigate(['/doctor-list'])\r\n }\r\n\r\n locationChange($event) {\r\n this.applyFilter(true);\r\n }\r\n\r\n genderChange($event) {\r\n this.filterModel.Gender = this.selectedGender;\r\n this.applyFilter(true);\r\n }\r\n\r\n loadMore() {\r\n this.setPaginatorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize + 10,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder\r\n );\r\n this.applyFilter();\r\n }\r\n applyFilter(isSearching: boolean = true) {\r\n ////\r\n if (!isSearching) {\r\n this.filterModel = this.clearFilterModel\r\n }\r\n this.setPaginatorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder\r\n );\r\n this.getProviderList(this.filterModel, isSearching);\r\n }\r\n seaching: boolean = false;\r\n clearing: boolean = false;\r\n getProviderList(\r\n filterModel: ProviderSearchFilterModel,\r\n Isflitering: boolean = false\r\n ) {\r\n if (Isflitering) this.seaching = true;\r\n else this.clearing = true;\r\n this.filterModel.PatientId = this.isPatientLogin\r\n ? this.currentLoginUserId\r\n : 0;\r\n this.homeService.getProviderList(filterModel).subscribe((response: any) => {\r\n this.filterModel.ProviderId = \"\";\r\n this.staffId = \"\";\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n this.providers = response.data.filter((ele) => {\r\n return ele.staffId != 249\r\n })\r\n // console.log(\"doctor list first:\", response);\r\n\r\n\r\n //this.providers = response.data;\r\n this.getMatserlanguage(response.data);\r\n if (localStorage.getItem(\"symptoms\") != null) {\r\n this.filterProvider(localStorage.getItem(\"symptoms\"), response.data);\r\n }\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords;\r\n } else {\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n this.showLoader = false;\r\n this.seaching = false;\r\n this.clearing = false;\r\n });\r\n }\r\n filterProvider(symptoms: any, resp: any) {\r\n resp.forEach((value, index) => {\r\n if (value.keyword != null && value.keyword != undefined) {\r\n //////;\r\n var arr = value.keyword.split(\",\").map(function (v) {\r\n return v.toLowerCase();\r\n });\r\n if (!symptoms.split(\",\").some((ai) => arr.includes(ai))) {\r\n this.providers.splice(index, 1);\r\n }\r\n } else {\r\n this.providers.splice(index, 1);\r\n }\r\n });\r\n\r\n localStorage.removeItem(\"symptoms\");\r\n }\r\n\r\n getMatserlanguage = (data) => {\r\n ////\r\n data.map((x) => {\r\n if (x.language.includes(\",\")) {\r\n let data = x.language.split(\",\");\r\n data.map((y) => {\r\n this.masterLanguage.push({ language: y, isChecked: false });\r\n });\r\n }\r\n // if (x.language != 0 && !x.language.includes(\",\")) {\r\n else {\r\n this.masterLanguage.push({ language: x.language, isChecked: false });\r\n }\r\n });\r\n this.masterLanguage = this.removeDuplicates(this.masterLanguage, \"language\")\r\n // this.masterLanguage = this.masterLanguage.filter(function (\r\n // value,\r\n // index,\r\n // array\r\n // ) {\r\n // return array.indexOf(value) === index;\r\n // });\r\n }\r\n\r\n removeDuplicates(myArray, Prop) {\r\n return myArray.filter((obj, pos, arr) => {\r\n return arr.map(mapObj => mapObj[Prop]).indexOf(obj[Prop]) === pos;\r\n });\r\n }\r\n\r\n getMasterData(globalCodeId: any[] = [], requestType: any = 0) {\r\n this.route.queryParams.subscribe((params) => {\r\n var prvSelectedValue = this.commonService.encryptValue(\r\n params[\"sp\"],\r\n false\r\n );\r\n var prvSelectedService = this.commonService.encryptValue(\r\n params[\"srvc\"],\r\n false\r\n );\r\n if (\r\n prvSelectedService != \"\" &&\r\n prvSelectedService != null &&\r\n this.checkedServices.length == 0 &&\r\n requestType == 0\r\n ) {\r\n this.checkedServices.push(prvSelectedService);\r\n }\r\n if (\r\n prvSelectedValue != \"\" &&\r\n prvSelectedValue != null &&\r\n this.checkedSpecialities.length == 0 &&\r\n requestType == 0\r\n ) {\r\n this.checkedSpecialities.push(prvSelectedValue);\r\n }\r\n });\r\n\r\n this.homeService\r\n .getMasterData(\r\n \"masterLocation,MASTERTAXONOMY,MASTERSTAFFSERVICE,MASTERSPECIALITY,MASTERGENDER\",\r\n true,\r\n this.checkedSpecialities\r\n )\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n // this.speciality =\r\n // response.masterTaxonomy != null ? response.masterTaxonomy : [];\r\n this.speciality =\r\n response.masterSpeciality != null ? response.masterSpeciality : [];\r\n this.location =\r\n response.masterLocation != null ? response.masterLocation : [];\r\n this.services =\r\n response.masterStaffServices != null\r\n ? response.masterStaffServices\r\n : [];\r\n\r\n // this.speciality.push({\r\n // id: 0,\r\n // value: \"More specialities can be populated on request\",\r\n // });\r\n // this.services.push({\r\n // id: 0,\r\n // value: \"More services can be populated on request\",\r\n // });\r\n if (this.specialityIcon) {\r\n var isExists = this.speciality.find(\r\n (d) => d.value === this.specialityIcon\r\n );\r\n if (isExists) this.checkedSpecialities.push(isExists.id.toString());\r\n }\r\n this.route.queryParams.subscribe((params) => {\r\n // this.selectedSpeciality\r\n // if( this.commonService.encryptValue(params[\"sp\"], false)!=undefined && this.commonService.encryptValue(params[\"sp\"], false)!=null)\r\n\r\n // {\r\n\r\n // this.checkedSpecialities.push(\r\n // this.commonService.encryptValue(params[\"sp\"], false)\r\n // );\r\n // }\r\n ////\r\n if (\r\n params[\"loc\"] != \"\" &&\r\n params[\"loc\"] != null &&\r\n params[\"loc\"] != undefined\r\n ) {\r\n this.selectedLocation = +this.commonService.encryptValue(\r\n params[\"loc\"],\r\n false\r\n ); //\r\n\r\n this.searchedLocation = this.location.find(\r\n (x) => (x.id = this.selectedLocation)\r\n ).locationName;\r\n }\r\n this.selectedDate = params[\"d\"]; // this.datePipe.transform(params['d'], 'yyyy-MM-dd');\r\n });\r\n }\r\n if (!this.specialityIcon) {\r\n this.applyFilter();\r\n } else {\r\n this.Providersearchtext(this.specialityIcon);\r\n }\r\n });\r\n }\r\n bookAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n panelClass: \"loginModalPanel\",\r\n data: { selectedIndex: 1 },\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n // this.headerComp.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // this.headerComp.redirectToDashboard(\"/web\");\r\n // } else {\r\n //this.headerComp.isPatient = result.isPatient;\r\n //this.headerComp.IsLogin = true;\r\n //this.headerComp.loading = true;\r\n //this.headerComp.setispateintlogin();\r\n // location.reload();\r\n this.openDialogBookAppointment(staffId, providerId);\r\n //}\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n // if (result != null && result.response.access_token != \"\") {\r\n\r\n // this.headerComp.IsLogin == true;\r\n // this.headerComp.checkUserLogin();\r\n // }\r\n });\r\n } else {\r\n this.openDialogBookAppointment(staffId, providerId);\r\n }\r\n //let staffId = this.commonService.encryptValue(id);\r\n }\r\n openDialogBookAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(BookAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffId: staffId,\r\n userInfo: null,\r\n providerId: providerId,\r\n locationId: this.selectedLocation || 0,\r\n selectedDate: this.selectedDate\r\n },\r\n width: \"80%\",\r\n height: \"80%\"\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n // if (result == \"booked\") {\r\n // }\r\n //location.reload();\r\n }\r\n });\r\n }\r\n // redirectToProfilePage(providerId: string) {\r\n // if (\r\n // this.selectedLocation != undefined &&\r\n // this.selectedLocation != null &&\r\n // this.selectedLocation != \"\"\r\n // )\r\n // this.router.navigate([\"/doctor-profile\"], {\r\n // queryParams: {\r\n // id: providerId,\r\n // loc: this.commonService.encryptValue(this.selectedLocation, true)\r\n // }\r\n // });\r\n // else\r\n // this.router.navigate([\"/doctor-profile\"], {\r\n // queryParams: {\r\n // id: providerId\r\n // }\r\n // });\r\n // }\r\n\r\n redirectToProfilePage(providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(ProviderProfileModalComponent, {\r\n hasBackdrop: true,\r\n data: { id: providerId, isFromHealthService: false },\r\n width: \"80%\",\r\n panelClass: \"providerProfilePanel\",\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n }\r\n });\r\n }\r\n\r\n bookFreeAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 },\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n // this.headerComp.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // this.headerComp.redirectToDashboard(\"/web\");\r\n // } else {\r\n\r\n //this.headerComp.IsLogin = true;\r\n //this.headerComp.checkUserLogin();\r\n location.reload();\r\n //}\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n // if (result != null && result.response.access_token != \"\") {\r\n\r\n // this.headerComp.IsLogin == true;\r\n // this.headerComp.checkUserLogin();\r\n // }\r\n });\r\n } else {\r\n this.openDialogBookFreeAppointment(staffId, providerId);\r\n }\r\n //let staffId = this.commonService.encryptValue(id);\r\n }\r\n openDialogBookFreeAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(BookFreeAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffId: staffId,\r\n userInfo: null,\r\n providerId: providerId,\r\n locationId: this.selectedLocation || 0,\r\n },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n this.router.navigate([\"/web/client/managelab\"]);\r\n }\r\n });\r\n }\r\n\r\n onSortChange(event) {\r\n this.filterModel.SortType = event.value.toString();\r\n this.applysortFilter(true);\r\n }\r\n\r\n applysortFilter(isSearching: boolean = true) {\r\n this.setPaginatorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder\r\n );\r\n this.getSortProviderList(this.filterModel, isSearching);\r\n }\r\n sortseaching: boolean = false;\r\n sortclearing: boolean = false;\r\n getSortProviderList(\r\n filterModel: ProviderSearchFilterModel,\r\n Isflitering: boolean = false\r\n ) {\r\n if (Isflitering) this.sortseaching = true;\r\n else this.sortclearing = true;\r\n\r\n this.homeService\r\n .getSortProviderList(filterModel)\r\n .subscribe((response: any) => {\r\n this.filterModel.ProviderId = \"\";\r\n this.staffId = \"\";\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n this.providers = response.data;\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords;\r\n } else {\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n this.showLoader = false;\r\n this.seaching = false;\r\n this.clearing = false;\r\n });\r\n }\r\n\r\n searchInitilizer() {\r\n fromEvent(this.prosearchtext.nativeElement, \"keyup\")\r\n .pipe(\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n filter((res) => res.length > 2 || res.length == 0),\r\n debounceTime(1000),\r\n distinctUntilChanged()\r\n )\r\n .subscribe((text: string) => {\r\n this.Providersearchtext(text);\r\n });\r\n }\r\n\r\n Providersearchtext(text: string) {\r\n this.filterModel.ProvidersearchText = text;\r\n this.filterModel.ProviderId = \"\";\r\n // this.homeService\r\n // .getsearchtextProviderList(this.filterModel)\r\n this.homeService.getProviderList(this.filterModel)\r\n .subscribe((response: any) => {\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n this.providers = response.data;\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords;\r\n } else {\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n this.showLoader = false;\r\n this.seaching = false;\r\n this.clearing = false;\r\n });\r\n }\r\n\r\n openCancellationRulesPopup(rules) {\r\n rules = rules ? rules : [];\r\n const dbModal = this.dialogModal.open(ProviderFeeSettingsComponent, {\r\n hasBackdrop: true,\r\n data: rules as CancelationRule[],\r\n width: \"400px\",\r\n maxWidth: \"400px\",\r\n minWidth: \"40%\",\r\n });\r\n }\r\n\r\n openSeeFees(providerId: string) {\r\n let dbModal;\r\n let dialogWidth = window.innerWidth <= 768 ? \"90%\" : \"60%\";\r\n dbModal = this.dialogModal.open(ConsultationFeesComponent, {\r\n width: dialogWidth,\r\n data: { id: providerId },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => { });\r\n }\r\n\r\n getDirection = (provider) => {\r\n\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n const latitude = provider.latitude;\r\n const longitude = provider.longitude;\r\n // console.log(\"this doctor profile address\", this.userInfo.latitude,this.userInfo.longitude )\r\n const address1 = encodeURIComponent(provider.address) || '';\r\n if (latitude && longitude) {\r\n // link.href = \"https://www.google.com/maps/place/\" + address + \"@\"+ latitude + \",\" + longitude;\r\n link.href = `https://www.google.com/maps/search/?api=1&query=${address1}&query_place_id=${latitude},${longitude}`;\r\n\r\n //link.href = \"https://www.google.com/maps/place/\" + latitude + \",\" + longitude;\r\n } else {\r\n\r\n link.href = `https://www.google.com/maps/search/?api=1&query=${address1}`;\r\n }\r\n // link.href = \"https://www.google.com/maps/place/\" + address;\r\n link.target = \"_blank\";\r\n link.click();\r\n };\r\n}\r\n","module.exports = \"agm-map {\\r\\n height: 500px;\\r\\n}\\r\\n.mat-card {\\r\\n padding: 15px;\\r\\n}\\r\\n.readmin-panel {\\r\\n background-color: #fff;\\r\\n padding: 15px;\\r\\n /* box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14),\\r\\n 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2),\\r\\n 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); */\\r\\n}\\r\\n.mb-10{\\r\\n margin-bottom: 100px;\\r\\n}\\r\\n.mat-raised-button {\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n border-radius: 10px !important;\\r\\n font-weight: 600;\\r\\n}\\r\\n.doctor-widget {\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n.doctor-widget .doc-info {\\r\\n display: flex;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n justify-content: space-between;\\r\\n}\\r\\n.doctor-profile-img .doctor-img {\\r\\n width: 200px;\\r\\n height: 200px;\\r\\n min-width: 150px;\\r\\n border-radius: 5px;\\r\\n overflow: hidden;\\r\\n margin-right: 15px;\\r\\n /* flex: 0 0 200px; */\\r\\n /* display: flex; */\\r\\n}\\r\\n.doc-info-cont star-rating span.star {\\r\\n margin: 0;\\r\\n}\\r\\n.doctor-widget .doc-name {\\r\\n font-size: 24px;\\r\\n font-weight: 500;\\r\\n margin-bottom: 3px;\\r\\n}\\r\\n.doc-name a {\\r\\n color: #000;\\r\\n}\\r\\n.doc-name a:hover {\\r\\n color: #63d891;\\r\\n}\\r\\n.mat-card-content p.doc-speciality {\\r\\n font-size: 14px;\\r\\n color: #757575;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.doc-department {\\r\\n color: #4B6D97;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n.rating {\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n.doctor-widget .rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.clinic-services {\\r\\n color: #272b41;\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n.clinic-services span {\\r\\n border: 1px solid #6AB8E4;\\r\\n border-radius: 4px;\\r\\n display: inline-block;\\r\\n font-size: 12px;\\r\\n padding: 3px 10px;\\r\\n color: #6AB8E4;\\r\\n}\\r\\n.clinic-services span {\\r\\n margin-right: 5px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n.clinic-gallery .ngx-gallery-remaining-count {\\r\\n font-size: 20px !important;\\r\\n}\\r\\n.profile-view .clinic-booking {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n.profile-view .clinic-booking .mat-raised-button {\\r\\n box-shadow: none;\\r\\n -ms-box-shadow: none;\\r\\n width: 100%;\\r\\n margin-top: 15px;\\r\\n border-radius: 10px;\\r\\n font-weight: 600;\\r\\n padding: 0px 15px;\\r\\n}\\r\\n.profile-view .clinic-booking button.mat-accent {\\r\\n background-color: transparent;\\r\\n color: #01385f;\\r\\n border: 2px solid #01385f;\\r\\n padding: 1px 15px;\\r\\n margin-right: 0 !important;\\r\\n}\\r\\n.profile-view .doc-info-right {\\r\\n width: 275px;\\r\\n min-width: 275px;\\r\\n}\\r\\n.profile-view .clini-infos ul {\\r\\n font-size: 14px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n min-height: 125px;\\r\\n}\\r\\n.clini-infos ul li {\\r\\n display: block;\\r\\n line-height: 28px;\\r\\n color: #4e4852;\\r\\n}\\r\\n.clini-infos ul li i {\\r\\n font-size: 15px;\\r\\n min-width: 20px;\\r\\n}\\r\\n.doc-info-cont {\\r\\n padding-right: 15px;\\r\\n}\\r\\n.profile-widget h4,\\r\\n.service-list h4 {\\r\\n font-size: 15px;\\r\\n font-weight: 600;\\r\\n color: #000;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.profile-widget {\\r\\n margin-top: 20px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n color: #000;\\r\\n}\\r\\n.profile-widget ul {\\r\\n margin: 0px;\\r\\n padding: 0px 0px 0px 5px;\\r\\n}\\r\\n.profile-widget ul li {\\r\\n list-style: none;\\r\\n padding-bottom: 30px;\\r\\n position: relative;\\r\\n border-left: 1px solid #ccc;\\r\\n padding-left: 15px;\\r\\n line-height: 15px;\\r\\n}\\r\\n.profile-widget ul li:before {\\r\\n position: absolute;\\r\\n content: \\\"\\\";\\r\\n width: 12px;\\r\\n height: 12px;\\r\\n background: #63d891;\\r\\n border-radius: 100px;\\r\\n left: -6px;\\r\\n top: 0px;\\r\\n z-index: 1;\\r\\n}\\r\\n.profile-widget ul li:last-child {\\r\\n padding-bottom: 0px;\\r\\n}\\r\\n.profile-widget ul li span {\\r\\n display: block;\\r\\n font-size: 13px;\\r\\n margin: 5px 0px 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n.profile-widget ul li p {\\r\\n color: #01385f;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n.service-list {\\r\\n margin-top: 30px;\\r\\n}\\r\\n.service-list ul {\\r\\n padding: 0px;\\r\\n margin: 0px;\\r\\n}\\r\\n.service-list ul li {\\r\\n list-style: none;\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n padding-right: 20px;\\r\\n padding-left: 15px;\\r\\n padding-bottom: 10px;\\r\\n}\\r\\n.service-list ul li:before {\\r\\n position: absolute;\\r\\n content: \\\"\\\\2713\\\";\\r\\n left: 0px;\\r\\n top: 0px;\\r\\n color: #63d891;\\r\\n font-weight: bold;\\r\\n}\\r\\n.clinic-content,\\r\\n.clinic-timing {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n.clinic-content h4 {\\r\\n font-size: 16px;\\r\\n}\\r\\n.clinic-direction {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n margin-top: 10px;\\r\\n}\\r\\n.clinic-direction a {\\r\\n color: #63d891;\\r\\n margin-top: 10px;\\r\\n display: inline-block;\\r\\n}\\r\\n.clinic-timing > div {\\r\\n margin-top: 15px;\\r\\n}\\r\\n.clinic-timing p {\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n.timings-days span {\\r\\n font-weight: 600;\\r\\n}\\r\\n.clinic-timing span {\\r\\n display: block;\\r\\n}\\r\\n.direction-map {\\r\\n width: 100%;\\r\\n height: 320px;\\r\\n border: 10px solid #e3e3e3;\\r\\n border-radius: 10px;\\r\\n overflow: hidden;\\r\\n margin-top: 20px;\\r\\n}\\r\\n@media (max-width: 575px) {\\r\\n .doctor-widget .doc-info {\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n }\\r\\n .doc-info-right {\\r\\n width: 100%;\\r\\n }\\r\\n .clini-infos {\\r\\n margin-top: 15px;\\r\\n }\\r\\n .clini-infos ul li {\\r\\n display: inline-block;\\r\\n padding-right: 10px;\\r\\n }\\r\\n .clini-infos ul li i {\\r\\n min-width: auto;\\r\\n }\\r\\n}\\r\\n@media (max-width: 575px) {\\r\\n .doc-info > div {\\r\\n flex-direction: column;\\r\\n }\\r\\n .doctor-img {\\r\\n margin: 0px auto 10px auto;\\r\\n }\\r\\n .doc-info-cont {\\r\\n padding-right: 0px;\\r\\n }\\r\\n}\\r\\n.star {\\r\\n margin-right: -4px;\\r\\n}\\r\\n.average-rating {\\r\\n font-size: 12px !important;\\r\\n line-height: 30px;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n Dr. {{ fullname }}\\r\\n

\\r\\n \\r\\n
\\r\\n {{ spl.speciality }}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n 0\\\"\\r\\n class=\\\"d-inline-block average-rating\\\"\\r\\n >({{ averageRating.total }})\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{\\r\\n taxonomy.taxonomyName\\r\\n }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{ userInfo.address }}\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{ userInfo.payRate | currency : \\\"JOD\\\" : \\\"symbol-narrow\\\" }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\\"book_now\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"about_me\\\"|translate}}

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

{{'work_and_experience'|translate}}

\\r\\n
    \\r\\n
  • \\r\\n {{ exp.organizationName }}\\r\\n {{ exp.startDate | date : \\\"mediumDate\\\" }} -\\r\\n {{ exp.endDate | date : \\\"mediumDate\\\" }} ({{\\r\\n exp.totalExperience\\r\\n }})\\r\\n
  • \\r\\n
\\r\\n No work & experience added yet.\\r\\n
\\r\\n
\\r\\n

{{\\\"education\\\"|translate}}

\\r\\n
    \\r\\n
  • \\r\\n {{ edu.university }}\\r\\n {{ edu.course }}\\r\\n {{ edu.startDate | date : \\\"mediumDate\\\" }} -\\r\\n {{ edu.endDate | date : \\\"mediumDate\\\" }}\\r\\n
  • \\r\\n
\\r\\n No qualification added yet.\\r\\n
\\r\\n
\\r\\n

{{\\\"awards\\\"|translate}}

\\r\\n
    \\r\\n
  • \\r\\n \\r\\n

    {{ award.awardType }}

    \\r\\n {{ award.description }}\\r\\n
  • \\r\\n
\\r\\n No awards added yet.\\r\\n
\\r\\n
\\r\\n

{{\\\"services\\\"|translate}}

\\r\\n
    \\r\\n
  • \\r\\n {{ serv.serviceName }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ loc.assignedLocationsModel.location }}

\\r\\n
\\r\\n \\r\\n {{ loc.assignedLocationsModel.address }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{ avail.dayName | slice : 0 : 3 }} \\r\\n

\\r\\n

\\r\\n {{ avail.startTime | date : \\\"shortTime\\\" }} -\\r\\n {{ avail.endTime | date : \\\"shortTime\\\" }}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{ m.label }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n 0\\r\\n }\\\"\\r\\n stickyHeader=\\\"true\\\"\\r\\n [inputColumns]=\\\"reviewRatingDisplayedColumns\\\"\\r\\n [inputSource]=\\\"reviewRatingList\\\"\\r\\n (onChange)=\\\"onReviewRatingPageOrSortChange($event)\\\"\\r\\n [inputMeta]=\\\"reviewRatingMeta\\\"\\r\\n >\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { MatDialog } from \"@angular/material\";\r\nimport {\r\n StaffAward,\r\n StaffQualification,\r\n StaffExperience\r\n} from \"./doctor-profile.model\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { DataTableComponent } from \"./../../shared/data-table/data-table.component\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n ElementRef,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {\r\n NgxGalleryOptions,\r\n NgxGalleryImage,\r\n NgxGalleryAnimation\r\n} from \"ngx-gallery\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { MouseEvent } from \"@agm/core\";\r\nimport { BookAppointmentComponent } from \"src/app/front/book-appointment/book-appointment.component\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport {\r\n FilterModel,\r\n Metadata\r\n} from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n//import { HomeContainerComponent } from \"src/app/front/home-container/home-container.component\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-doctor-profile\",\r\n templateUrl: \"./doctor-profile.component.html\",\r\n styleUrls: [\"./doctor-profile.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DoctorProfileComponent implements OnInit {\r\n staffId: string = \"\";\r\n locationId: number = 0;\r\n userInfo: any;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n reviewRatingDisplayedColumns: Array;\r\n reviewRatingMeta: Metadata;\r\n reviewRatingfilterModel: FilterModel;\r\n averageRating: any;\r\n\r\n constructor(\r\n private homeService: HomeService,\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService,\r\n private dialogModal: MatDialog,\r\n private headerComp: HomeHeaderComponent,\r\n private router: Router,\r\n private translate:TranslateService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.reviewRatingDisplayedColumns = [\r\n {\r\n displayName: \"Rating\",\r\n key: \"rating\",\r\n class: \"\",\r\n width: \"240px\",\r\n sticky: true,\r\n type: \"rating\"\r\n },\r\n {\r\n displayName: \"Review\",\r\n key: \"review\",\r\n width: \"140px\"\r\n },\r\n { displayName: \"Date\", key: \"createdDate\", width: \"250px\", type: \"date\" }//,\r\n //{\r\n // displayName: \"Reviewed By\",\r\n // key: \"patientName\",\r\n // width: \"250px\",\r\n // type: \"50\",\r\n // isInfo: true\r\n //}\r\n ];\r\n this.reviewRatingfilterModel = new FilterModel();\r\n }\r\n\r\n galleryOptions: NgxGalleryOptions[];\r\n galleryImages: NgxGalleryImage[];\r\n ngOnInit(): void {\r\n this.activatedRoute.queryParams.subscribe(param => {\r\n this.staffId = param[\"id\"];\r\n if (\r\n param[\"loc\"] != \"\" &&\r\n param[\"loc\"] != null &&\r\n param[\"loc\"] != undefined\r\n )\r\n this.locationId = this.commonService.encryptValue(param[\"loc\"], false);\r\n });\r\n this.getStaffDetail();\r\n this.getAverageRating();\r\n this.galleryOptions = [\r\n {\r\n width: \"100px\",\r\n height: \"50px\",\r\n thumbnailsColumns: 2,\r\n image: false,\r\n thumbnailsRemainingCount: true,\r\n imageAnimation: NgxGalleryAnimation.Slide\r\n },\r\n // max-width 800\r\n {\r\n breakpoint: 800,\r\n width: \"100%\",\r\n height: \"600px\",\r\n imagePercent: 80,\r\n thumbnailsPercent: 20,\r\n thumbnailsMargin: 20,\r\n thumbnailMargin: 20\r\n },\r\n // max-width 400\r\n {\r\n breakpoint: 400,\r\n preview: false\r\n }\r\n ];\r\n\r\n this.galleryImages = [\r\n {\r\n small: \"assets/img/doctor-3big.jpg\",\r\n big: \"assets/img/doctor-3big.jpg\"\r\n },\r\n {\r\n small: \"assets/img/dentistroom.jpg\",\r\n big: \"assets/img/dentistroom.jpg\"\r\n },\r\n {\r\n small: \"assets/img/dentistroom1.jpg\",\r\n big: \"assets/img/dentistroom1.jpg\"\r\n }\r\n ];\r\n this.tabs = [\r\n {\r\n tabName: \"Overview\"\r\n },\r\n {\r\n tabName: \"Location\"\r\n },\r\n {\r\n tabName: \"Reviews\"\r\n }\r\n ];\r\n }\r\n\r\n loadChild(event: any) {\r\n switch (event.tab.textLabel) {\r\n case this.tabs[0].tabName:\r\n this.getStaffDetail();\r\n break;\r\n case this.tabs[1].tabName:\r\n this.getLocationAvailability();\r\n break;\r\n case this.tabs[2].tabName:\r\n this.getReviewRating();\r\n break;\r\n }\r\n }\r\n getStaffDetail() {\r\n if (this.staffId != \"\") {\r\n this.homeService.getProviderDetail(this.staffId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.userInfo = res.data;\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n }\r\n });\r\n }\r\n }\r\n getAverageRating() {\r\n if (this.staffId != \"\") {\r\n this.homeService.getAverageRating(this.staffId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.averageRating = res.data;\r\n }\r\n });\r\n }\r\n }\r\n StaffLocationAvailabilities: any[] = [];\r\n getLocationAvailability() {\r\n if (this.staffId != \"\") {\r\n this.homeService\r\n .getProviderLocationAndAvailibilityDetail(this.staffId)\r\n .subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.StaffLocationAvailabilities = res.data;\r\n this.markers = [];\r\n this.StaffLocationAvailabilities.forEach(loc => {\r\n this.markers.push({\r\n lat: loc.assignedLocationsModel.latitude,\r\n lng: loc.assignedLocationsModel.longitude,\r\n label: loc.assignedLocationsModel.location,\r\n draggable: true\r\n });\r\n });\r\n }\r\n });\r\n }\r\n }\r\n reviewRatingList: any[] = [];\r\n getReviewRating(pageNumber: number = 1, pageSize: number = 5) {\r\n if (this.staffId != \"\") {\r\n this.homeService\r\n .getRatingReviews(this.staffId, true, pageNumber, pageSize)\r\n .subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.reviewRatingList = res.data;\r\n this.reviewRatingMeta = res.meta;\r\n }\r\n });\r\n }\r\n }\r\n\r\n onReviewRatingPageOrSortChange(changeState?: any) {\r\n this.setReviewRatingtPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getReviewRating(changeState.pageNumber, 5);\r\n }\r\n\r\n setReviewRatingtPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.reviewRatingfilterModel.pageNumber = pageNumber;\r\n this.reviewRatingfilterModel.pageSize = pageSize;\r\n this.reviewRatingfilterModel.sortOrder = sortOrder;\r\n this.reviewRatingfilterModel.sortColumn = sortColumn;\r\n }\r\n\r\n /*\r\n Google Map\r\n */\r\n // google maps zoom level\r\n zoom: number = 2;\r\n\r\n // initial center position for the map\r\n lat: number = 30.6767304;\r\n lng: number = 76.70975070431633;\r\n\r\n clickedMarker(label: string, index: number) {\r\n // console.log(`clicked the marker: ${label || index}`);\r\n }\r\n\r\n mapClicked($event: MouseEvent) {\r\n this.markers.push({\r\n lat: $event.coords.lat,\r\n lng: $event.coords.lng,\r\n draggable: true\r\n });\r\n }\r\n\r\n markerDragEnd(m: marker, $event: MouseEvent) {\r\n // console.log(\"dragEnd\", m, $event);\r\n }\r\n\r\n markers: marker[] = [\r\n {\r\n lat: 30.6767304,\r\n lng: 76.70975070431633,\r\n label: \"A\",\r\n draggable: true\r\n }\r\n ];\r\n openDialogBookAppointment() {\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n // this.headerComp.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // this.headerComp.redirectToDashboard(\"/web\");\r\n // } else {\r\n\r\n //this.headerComp.IsLogin = true;\r\n //this.headerComp.checkUserLogin();\r\n location.reload();\r\n //}\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n // if (result != null && result.response.access_token != \"\") {\r\n\r\n // this.headerComp.IsLogin == true;\r\n // this.headerComp.checkUserLogin();\r\n // }\r\n });\r\n } else {\r\n this.createDailogForBookAppoitment();\r\n }\r\n }\r\n\r\n createDailogForBookAppoitment() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(BookAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffId: this.userInfo.id,\r\n userInfo: this.userInfo,\r\n providerId: \"\",\r\n locationId: this.locationId\r\n }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n if (result == \"booked\") {\r\n }\r\n }\r\n });\r\n }\r\n backToListing() {\r\n location.href = \"/doctor-list\";\r\n //this.router.navigateByUrl(\"/doctor-list\");\r\n }\r\n}\r\n\r\n// just an interface for type safety.\r\ninterface marker {\r\n lat: number;\r\n lng: number;\r\n label?: string;\r\n draggable: boolean;\r\n}\r\n","module.exports = \".dynamic_content {\\r\\n min-height: 80vh;\\r\\n margin: 8rem 0;\\r\\n background: #fff;\\r\\n padding: 1rem;\\r\\n border-radius: 4px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommonService } from 'src/app/platform/modules/core/services/common.service';\r\n\r\n@Component({\r\n selector: 'app-dynamic-contnet',\r\n templateUrl: './dynamic-contnet.component.html',\r\n styleUrls: ['./dynamic-contnet.component.css']\r\n})\r\nexport class DynamicContnetComponent implements OnInit {\r\nid:any;\r\ncontent:string;\r\ngetAllURL: string = 'DynamicPage/GetPageById';\r\n constructor(private _Activatedroute:ActivatedRoute,private commonService: CommonService){}\r\n\r\n ngOnInit() {\r\n this._Activatedroute.paramMap.subscribe(params => { \r\n this.id = params.get('id'); \r\n this.getAllStaticPages();\r\n });\r\n }\r\n\r\n\r\n getAllStaticPages() {\r\n var url = `${this.getAllURL}?id=${this.id}`;\r\n this.commonService.get(url).subscribe(res => {\r\n if (res != null && res.statusCode == 200) {\r\n this.content = res.data.pageContent;\r\n }\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \".faq-section{\\r\\n margin: 6rem auto 110px;\\r\\n}\\r\\n.mat-expansion-panel-header{\\r\\n height: 100% !important;\\r\\n padding: 14px 24px !important;\\r\\n}\\r\\n.faq-section mat-expansion-panel {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.mat-expansion-panel-header-title {\\r\\n flex-grow: unset !important; \\r\\n font-weight: 500;\\r\\n font-size: 17px;\\r\\n white-space: nowrap;\\r\\n}\\r\\n.mat-expansion-panel-body p span {\\r\\n font-weight: 500;\\r\\n}\\r\\n.faq_left_card {\\r\\n box-shadow: 0 8px 17px 2px rgb(170 170 170 / 14%), 0 3px 14px 2px rgb(155 155 155 / 12%), 0 5px 5px -3px rgb(155 155 155 / 20%);\\r\\n padding: 1rem;\\r\\n border-radius: 10px;\\r\\n background-color: #fff;\\r\\n}\\r\\n.faq_left_card ul {\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n}\\r\\n.faq_left_card ul li {\\r\\n padding: 1rem;\\r\\n margin-left: -1rem;\\r\\n color: #000;\\r\\n font-size: 18px;\\r\\n border-radius: 0;\\r\\n border-left: 5px solid #fff;\\r\\n font-weight: 600;\\r\\n}\\r\\n.faq_left_card ul li.active,\\r\\n.faq_left_card ul li:hover {\\r\\n color: #01385f;\\r\\n border-left: 5px solid #01385f;\\r\\n cursor: pointer;\\r\\n}\\r\\n.faq-section h3 {\\r\\n font-size: 1.75rem;\\r\\n}\\r\\n@media screen and (max-width:991px) {\\r\\n .faq-section h2 {\\r\\n margin-bottom: 2rem;\\r\\n }\\r\\n .section-heading {\\r\\n font-size: 2rem;\\r\\n }\\r\\n .faq-section h3 {\\r\\n font-size: 1.4rem;\\r\\n }\\r\\n ::ng-deep .mat-expansion-panel-header {\\r\\n padding: 10px 24px !important;\\r\\n }\\r\\n .faq_left_card ul li {\\r\\n padding: 0.6rem;\\r\\n font-size: 16px;\\r\\n }\\r\\n .faq-section .mat-expansion-panel-header .mat-expansion-panel-header-title {\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .faq-section h2,.faq-section h3 {\\r\\n margin-bottom: 1rem;\\r\\n font-size: 1.5rem !important;\\r\\n }\\r\\n .faq-section h3 {\\r\\n margin-top: 20px;\\r\\n }\\r\\n .faq-section .mat-expansion-panel-header .mat-expansion-panel-header-title {\\r\\n font-size: 14px;\\r\\n white-space: normal;\\r\\n }\\r\\n .mat-expansion-panel-header {\\r\\n padding: 8px 14px !important;\\r\\n }\\r\\n .faq-section mat-expansion-panel .mat-expansion-indicator::after {\\r\\n color: #024a72;\\r\\n padding: 3px;\\r\\n border-width: 0 3px 3px 0;\\r\\n margin-left: 10px;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n

{{\\\"Frequently_Asked_Questions\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{\\\"General_Information\\\"|translate}}
  • \\r\\n
  • \\r\\n {{\\\"Logistics\\\"|translate}}
  • \\r\\n
  • \\r\\n {{\\\"Payments_and_Costs\\\"| translate}}
  • \\r\\n
  • \\r\\n {{\\\"health_services\\\"|translate}}
  • \\r\\n
  • \\r\\n {{\\\"prescriptions\\\"|translate}}
  • \\r\\n
  • \\r\\n {{\\\"Medical_Certificates_Records_and_Referrals\\\" | translate}}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"General_Information\\\"|translate}}

\\r\\n

{{\\\"Logistics\\\"|translate}}

\\r\\n

{{\\\"Payments_and_Costs\\\"| translate}}\\r\\n

\\r\\n

{{\\\"health_services\\\"|translate}}

\\r\\n

{{\\\"prescriptions\\\"|translate}}

\\r\\n

\\r\\n {{\\\"Medical_Certificates_Records_and_Referrals\\\" | translate}}

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Who_can_use_my_Healthy_Gate\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"Anyone_over_18_years_of_age_and_is_a_member_with_my_Healthy_Gate\\\"|translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"What_are_the_benefits_of_telehealth\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"Telehealth_presents_convenience_privacy_saves_time_and_avoid_exposure_etc\\\"|translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Can_I_use_this_service_from_overseas\\\"|translate}}\\r\\n \\r\\n \\r\\n

\\r\\n {{\\\"Yes_your_gateway_to_health_can_be_accessed_to_your_home_providers_from_anywhere_with_a_secure_internet_connection\\\"|translate}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Is_my_Healthy_Gate_available_for_Arabic_Only\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"No_our_clinical_providers_have_multiple_available_languages_check_your_providers_for_languages_spoken\\\"|translate}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Equipment_you_need\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"A_smart_phone_a_phone_iPad_or_computer\\\"|translate}}

\\r\\n

{{\\\"A_Web_camera_and_a_speaker_if_not_using_your_iPad_or_smart_phone\\\"|translate}}

\\r\\n

{{\\\"A_good_connection_on_the_internet\\\"|translate}}

\\r\\n

{{\\\"A_Private_quiet_well-lit_area\\\"|translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"How_do_I_book?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"You_need_to_be_a_member_first_sign_up_your_name_and_email\\\"|translate}}

\\r\\n

{{\\\"Find_your_chosen_provider\\\"|translate}}

\\r\\n

{{\\\"Click_on_Book_now_and_the_process_will_lead_you_to_available_slots\\\"|translate}}

\\r\\n

{{\\\"Each_provider_will_set_their_own_availability_to_their_clients\\\"|translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"What_if_I_experience_technical_difficulties?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"First_try_to_ensure_you_are_connected_to_an_internet\\\"|translate}}

\\r\\n

{{\\\"For_customer_service_assistance_please_Contact_us_on_myhealthygate.com\\\"|translate}}

\\r\\n

{{\\\"If_you_are_unable_to_access_your_appointment_due_to_factors\\\"|translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"How_much_will_this_cost?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"my_Healthy_Gate_works_with_independent_health_providers_etc\\\"|translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"How_do_I_pay_for_my_appointment?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"You_pay_through_My_Healthy_Gate\\\"|translate}}

\\r\\n

{{\\\"Payment_needs_to_be_completed_prior_to_the_appointment_and_at_booking_time.\\\"|translate}}

\\r\\n

{{\\\"To_pay_for_the_provider_you_have_options_either_using_a_credit_card_PayPal_etc\\\"|translate}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"What_if_the_doctor_is_running_late?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"You_only_pay_for_the_time_slot_the_doctor_spent_consulting_you.\\\"|translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"What_If_I_no_longer_need_the_appointment\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"If_cancellation_occurs_within_48_hours_prior_to_appointment_etc\\\"|translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"When_can_I_book_in_my_video_consultation?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"Each_provider_will_have_a_different_variation_of_available_appointments\\\"|translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"What_kind_of_treatment_does_my_Healthy_Gate_offer?\\\"|translate}}\\r\\n \\r\\n \\r\\n

\\r\\n {{\\\"My_Healthy_Gate_connect_you_to_multiple_health_care_providers_as_members\\\"|translate}}\\r\\n {{\\\"for the list of specialties\\\"|translate}} {{\\\"click_here\\\"|translate}}
\\r\\n {{\\\"Providers_can_view-your_documents\\\"|translate}}\\r\\n

\\r\\n

\\r\\n {{\\\"My_Healthy_Gate_connect_you_to_multiple_health_care_providers_as_members\\\"|translate}}\\r\\n {{\\\"click_here\\\"|translate}} for the list of specialties.
\\r\\n {{\\\"Providers_can_view-your_documents\\\"|translate}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Is_my_consultation_covered_by_insurance?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"We_are_working_on_adding_multiple_insurance_companies_but_best_if_you_check_with_your_own_insurance_too.\\\"|translate}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Do_I_have_a_choice_of_a_female_or_male_doctor?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"Yes_however_this_is_subject_to_availability_and_you_get_to_choose_your_own_provider\\\"|translate}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"How_do_I_know_I_can_my_doctor?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"All_doctors_listed_in_my_Healthy_Gate_are_certified_and_licenced_to_provide_the_treatment_etc\\\"|translate}}\\r\\n

\\r\\n

{{\\\"The_treatment_is_the_liability_of_the_treating_provider_etc\\\"|translate}}

\\r\\n

{{\\\"If_you_have_any_feedback_about_your_practitioner_please_contact_us_directly_or_post_a_review_to_their_profile_page.\\\"|translate}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Can_I_get_prescription_medication_through_a_video_consultation?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"Yes_your_provider_will_be_able_to_prescribe_medication_and_send_it_to_your_selected_preferred_pharmacy_if_you_wish.\\\"|translate}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Can_I_get_narcotic_medications_through_a_video_consultation?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"No_these_medications_are_usually_highly_controlled_and_monitored_Your_doctor_will_be_the_best_person_to_discuss_with_accessing_those_medications.\\\"|translate}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Can_I_get_a_medical_certificate_through_my_Healthy_Gate?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"Yes_your_provider_can_send_a_digital_copy_through_to_you’re_my_Healthy_Gate_email.\\\"|translate}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Can_I_get_a_referral_to_a_specialist_that_isn’t_available_on_my_Healthy_Gate_?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"Yes_please_consult_your_provider.\\\"|translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Can_I_obtain_a_referral_for_imaging_or_pathology?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"Yes_and_your_doctor_can_send_the_referral_directly_to_the_laboratory_or_Radiology_centre_through_my_Healthy_Gate\\\"|translate}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Who_can_see_my_medical_records?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"Only_you_our_administration_team_and_the_providers_you_are_consulting_with_All_medical_records_are_treated_with_the_utmost_privacy_see_privacy_policy\\\"|translate}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Are_video_consultations_recorded?\\\"|translate}}\\r\\n \\r\\n \\r\\n

{{\\\"No_The_consultations_are_just_like_when_you_see_the_doctor_in_person_they_are_not_recorded\\\"|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","\r\nimport { AfterViewInit, Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-faq\",\r\n templateUrl: \"./faq.component.html\",\r\n styleUrls: [\"./faq.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FaqComponent implements OnInit {\r\n panelOpenState: boolean;\r\n faqActiveFlag = 0;\r\n IsEnglish:boolean=false\r\n ngOnInit() {\r\n this.flagActive(0);\r\n this.IsEnglish = (localStorage.getItem(\"language\") || \"\") ==\"en\"\r\n }\r\n\r\n flagActive(eve: any) {\r\n this.faqActiveFlag = eve;\r\n }\r\n\r\n}\r\n","import { PaymentFailureComponent } from \"./payment-failure/payment-failure.component\";\r\nimport { PaymentSuccessComponent } from \"./payment-success/payment-success.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { RegisterComponent } from \"src/app/front/register/register.component\";\r\nimport { RejectInvitationComponent } from \"src/app/front/reject-invitation/reject-invitation.component\";\r\nimport { HomeComponent } from \"./home/home.component\";\r\nimport { DoctorListComponent } from \"./doctor-list/doctor-list.component\";\r\nimport { LabPharmacyListComponent } from \"./lab-pharmacy-list/lab-pharmacy-list.component\";\r\nimport { DoctorProfileComponent } from \"./doctor-profile/doctor-profile.component\";\r\nimport { PageNotAllowedComponent } from \"src/app/platform/modules/page-not-allowed/page-not-allowed.component\";\r\nimport { HomeContainerComponent } from \"src/app/front/home-container/home-container.component\";\r\nimport { WhatWeDoComponent } from \"./what-we-do/what-we-do.component\";\r\nimport { OurDoctorsComponent } from \"./our-doctors/our-doctors.component\";\r\nimport { ContactUsComponent } from \"./contact-us/contact-us.component\";\r\nimport { FaqComponent } from \"./faq/faq.component\";\r\nimport { UrgentCareProviderListComponent } from \"./urgentcareprovider-list/urgentcareprovider-list.component\";\r\n\r\nimport { SymptomCheckerComponent } from \"./../shared/symptom-checker/symptom-checker.component\";\r\nimport { LabBookingListComponent } from \"./lab-booking-list/lab-booking-list.component\";\r\nimport { AboutUsComponent } from \"./about-us/about-us.component\";\r\nimport { BlogComponent } from \"./blog/blog.component\";\r\nimport { DynamicContnetComponent } from \"./dynamic-contnet/dynamic-contnet.component\";\r\nimport { HealthServiceComponent } from \"./health-service/health-service.component\";\r\nimport { OurSpecialityComponent } from \"./our-speciality/our-speciality.component\";\r\nimport { ProvidersComponent } from \"./providers/providers.component\";\r\nimport { TermsAndConditionsComponent } from \"./terms-and-conditions/terms-and-conditions.component\";\r\nimport { PrivacyPolicyComponent } from \"./privacy-policy/privacy-policy.component\";\r\nimport { RefundAndCancellationComponent } from \"./refund-policy/refund-and-cancellation/refund-and-cancellation.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: HomeContainerComponent,\r\n children: [\r\n {\r\n path: \"\",\r\n component: HomeComponent,\r\n },\r\n {\r\n path: \"doctor-list\",\r\n component: DoctorListComponent,\r\n },\r\n {\r\n path: \"doctor-profile\",\r\n component: DoctorProfileComponent,\r\n },\r\n {\r\n path: \"lab-pharmacy-list\",\r\n component: LabPharmacyListComponent,\r\n },\r\n {\r\n path: \"lab-booking\",\r\n component: LabBookingListComponent,\r\n },\r\n {\r\n path: \"payment-success\",\r\n component: PaymentSuccessComponent,\r\n },\r\n {\r\n path: \"payment-failure\",\r\n component: PaymentFailureComponent,\r\n },\r\n {\r\n path: \"what-we-do\",\r\n component: WhatWeDoComponent,\r\n },\r\n {\r\n path: \"our-doctors\",\r\n component: OurDoctorsComponent,\r\n },\r\n {\r\n path: \"providers\",\r\n component: ProvidersComponent\r\n },\r\n {\r\n path: \"contact-us\",\r\n component: ContactUsComponent,\r\n },\r\n {\r\n path: \"faq\",\r\n component: FaqComponent,\r\n },\r\n {\r\n path: \"health-services\",\r\n component: HealthServiceComponent,\r\n },\r\n {\r\n path: \"our-speciality\",\r\n component: OurSpecialityComponent,\r\n },\r\n {\r\n path: \"providers\",\r\n component: ProvidersComponent,\r\n },\r\n {\r\n path: \"urgentcare-providers\",\r\n component: UrgentCareProviderListComponent,\r\n },\r\n {\r\n path: \"symptom-checker\",\r\n component: SymptomCheckerComponent,\r\n },\r\n {\r\n path: \"about-us\",\r\n component: AboutUsComponent,\r\n },\r\n {\r\n path: \"blog\",\r\n component: BlogComponent,\r\n },\r\n {\r\n path: \"dynamic/:id\",\r\n component: DynamicContnetComponent,\r\n },\r\n ],\r\n },\r\n // {\r\n // path: \"contact-us\",\r\n // component: ContactUsComponent,\r\n // },\r\n {\r\n path: \"register\",\r\n component: RegisterComponent,\r\n },\r\n {\r\n path: \"reject-invitation\",\r\n component: RejectInvitationComponent,\r\n },\r\n {\r\n path: \"terms-and-conditions\",\r\n component: TermsAndConditionsComponent,\r\n },\r\n {\r\n path: \"privacy-policy\",\r\n component: PrivacyPolicyComponent,\r\n },\r\n {\r\n path: \"refund-and-cancellation-policy\",\r\n component: RefundAndCancellationComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class FrontRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\n//import { MatFileUploadModule } from \"angular-material-fileupload\";\r\n\r\nimport {\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatExpansionModule\r\n} from \"@angular/material\";\r\nimport { NgxMaterialTimepickerModule } from \"ngx-material-timepicker\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\n\r\n@NgModule({\r\n imports: [\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n //NgxMaterialTimepickerModule,\r\n [NgxMaterialTimepickerModule.forRoot()],\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTooltipModule,\r\n MatExpansionModule\r\n // MatFileUploadModule\r\n \r\n ],\r\n exports: [\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n NgxMaterialTimepickerModule,\r\n MatDatepickerModule,\r\n MatTooltipModule,\r\n MatExpansionModule\r\n //MatFileUploadModule\r\n ]\r\n})\r\nexport class FrontMaterialModule {}\r\n","import { UniquePipe } from \"./../shared/pipes/unique.pipe\";\r\nimport { PaymentFailureComponent } from \"./payment-failure/payment-failure.component\";\r\nimport { PaymentSuccessComponent } from \"./payment-success/payment-success.component\";\r\nimport { BookAppointmentComponent } from \"./book-appointment/book-appointment.component\";\r\nimport { HomeFooterComponent } from \"./home-footer/home-footer.component\";\r\nimport { HomeHeaderComponent } from \"./home-header/home-header.component\";\r\nimport { HomeContainerComponent } from \"./home-container/home-container.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RegisterComponent } from \"./register/register.component\";\r\nimport { AppMaterialModule } from \"src/app/app.material.module\";\r\nimport { FrontRoutingModule } from \"src/app/front/front-routing.module\";\r\nimport { FrontMaterialModule } from \"src/app/front/front.material.module\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { SharedModule } from \"src/app/shared/shared.module\";\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from \"@angular/common/http\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { HomeComponent } from \"./home/home.component\";\r\nimport { RejectInvitationComponent } from \"src/app/front/reject-invitation/reject-invitation.component\";\r\nimport { CarouselModule } from \"ngx-owl-carousel-o\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { NgDatepickerModule } from \"ng2-datepicker\";\r\nimport { DoctorListComponent } from \"./doctor-list/doctor-list.component\";\r\n\r\nimport { LabPharmacyListComponent } from \"./lab-pharmacy-list/lab-pharmacy-list.component\";\r\nimport { ScrollbarModule } from \"ngx-scrollbar\";\r\nimport { DoctorProfileComponent } from \"./doctor-profile/doctor-profile.component\";\r\n\r\nimport \"hammerjs\";\r\nimport { NgxGalleryModule } from \"ngx-gallery\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { AgencyLoginModelComponent } from \"src/app/shared/login-model/agency-login/agency-login.component\";\r\nimport { ClientLoginModelComponent } from \"src/app/shared/login-model/client-login/client-login.component\";\r\nimport { RegisterModelComponent } from \"src/app/shared/register-model/register.component\";\r\nimport { HttpTokenInterceptor } from \"src/app/platform/modules/core/interceptors\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport { SecurityQuestionModelComponent } from \"src/app/shared/security-question-model/security-question-model.component\";\r\nimport { AgmCoreModule } from \"@agm/core\";\r\nimport { MatNativeDateModule, MatStepperModule, MAT_DIALOG_DATA, MAT_DIALOG_DEFAULT_OPTIONS } from \"@angular/material\";\r\nimport { OverlayModule } from \"@angular/cdk/overlay\";\r\n//import { StripeModule } from \"stripe-angular\";\r\n//import { NgxMaterialTimepickerModule } from \"ngx-material-timepicker\";\r\n//import { NgxMaterialTimepickerEventService } from \"ngx-material-timepicker/src/app/material-timepicker/services/ngx-material-timepicker-event.service\";\r\n//import { ChangePasswordComponent } from \"src/app/platform/modules/agency-portal/change-password/change-password.component\";\r\n\r\n//import { NgxUploaderModule } from 'ngx-uploader';\r\nimport { RatingModule } from 'ng-starrating';\r\nimport { BookFreeAppointmentComponent } from \"./book-freeappointment/book-freeappointment.component\";\r\nimport { WhatWeDoComponent } from \"./what-we-do/what-we-do.component\";\r\nimport { OurDoctorsComponent } from \"./our-doctors/our-doctors.component\";\r\nimport { ContactUsComponent } from \"./contact-us/contact-us.component\";\r\nimport { TermsConditionModalComponent } from \"./terms-conditions/terms-conditions.component\";\r\nimport { FaqComponent } from \"./faq/faq.component\";\r\nimport { ProviderProfileModalComponent } from \"./provider-profile/provider-profile.component\";\r\nimport { CalendarModule, DateAdapter } from \"angular-calendar\";\r\nimport { adapterFactory } from \"angular-calendar/date-adapters/date-fns\";\r\nimport { AddUserDocumentComponent } from \"../platform/modules/agency-portal/users/user-documents/add-user-document/add-user-document.component\";\r\nimport { SaveDocumentComponent } from \"./save-document/save-document.component\";\r\nimport { NgxSliderModule } from \"@angular-slider/ngx-slider\";\r\nimport { ProviderFeeSettingsComponent } from \"./provider-fee-settings/provider-fee-settings.component\";\r\nimport { UrgentCareProviderListComponent } from \"./urgentcareprovider-list/urgentcareprovider-list.component\";\r\nimport { UrgentCareAppointmentComponent } from \"./urgentcare-appointment/urgentcare-appointment.component\";\r\nimport { DesclaimerComponent } from './desclaimer/desclaimer.component';\r\nimport { VideoPopupComponent } from \"./video-popup/video-popup.component\";\r\nimport { ConsultationFeesComponent } from \"./consultation-fees/consultation-fees.component\";\r\nimport { LabBookingListComponent } from \"./lab-booking-list/lab-booking-list.component\";\r\nimport { LabBookAppointmentModalComponent } from \"./lab-booking-list/lab-book-appointment-modal/lab-book-appointment-modal.component\";\r\nimport { AboutUsComponent } from \"./about-us/about-us.component\";\r\nimport { BlogComponent } from \"./blog/blog.component\";\r\nimport { DynamicContnetComponent } from './dynamic-contnet/dynamic-contnet.component';\r\nimport { HealthServiceComponent } from \"./health-service/health-service.component\";\r\nimport { TranslateLoader, TranslateModule } from \"@ngx-translate/core\";\r\nimport { TranslateHttpLoader } from \"@ngx-translate/http-loader\";\r\nimport { OurSpecialityComponent } from \"./our-speciality/our-speciality.component\";\r\nimport { ProvidersComponent } from \"./providers/providers.component\";\r\nimport { TermsAndConditionsComponent } from \"./terms-and-conditions/terms-and-conditions.component\";\r\nimport { PrivacyPolicyComponent } from \"./privacy-policy/privacy-policy.component\";\r\nimport { RefundAndCancellationComponent } from './refund-policy/refund-and-cancellation/refund-and-cancellation.component';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FrontMaterialModule,\r\n FrontRoutingModule,\r\n HttpClientModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n SharedModule,\r\n CarouselModule,\r\n NgSelectModule,\r\n NgDatepickerModule,\r\n ScrollbarModule,\r\n MatStepperModule,\r\n NgxGalleryModule,\r\n NgxSliderModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n //NgxUploaderModule,\r\n RatingModule,\r\n AgmCoreModule.forRoot({\r\n apiKey: \"AIzaSyD9WPa4_81AAXVhPJdQm1tZU5cp-NvrrR4\"\r\n //\"AIzaSyAvcDy5ZYc2ujCS6TTtI3RYX5QmuoV8Ffw\"\r\n /* apiKey is required, unless you are a\r\n premium customer, in which case you can\r\n use clientId\r\n */\r\n //libraries: [\"places\"]\r\n }),\r\n //StripeModule.forRoot(\"pk_test_eDyXvdOe0IkSPxG2dQBNGlk600XXmL8M1q\"),\r\n OverlayModule,\r\n CalendarModule.forRoot({\r\n provide: DateAdapter,\r\n useFactory: adapterFactory\r\n }),\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n })\r\n ],\r\n // exports:[\r\n // NgxMaterialTimepickerModule\r\n // ],\r\n declarations: [\r\n RegisterComponent,\r\n RejectInvitationComponent,\r\n HomeComponent,\r\n DoctorListComponent,\r\n DoctorProfileComponent,\r\n LabPharmacyListComponent,\r\n HomeContainerComponent,\r\n HomeHeaderComponent,\r\n HomeFooterComponent,\r\n BookAppointmentComponent,\r\n VideoPopupComponent,\r\n BookFreeAppointmentComponent,\r\n PaymentSuccessComponent,\r\n PaymentFailureComponent,\r\n WhatWeDoComponent,\r\n OurDoctorsComponent,\r\n ContactUsComponent,\r\n TermsConditionModalComponent,\r\n FaqComponent,\r\n ProviderProfileModalComponent,\r\n //AddUserDocumentComponent\r\n SaveDocumentComponent,\r\n ProviderFeeSettingsComponent,\r\n UrgentCareProviderListComponent,\r\n UrgentCareAppointmentComponent,\r\n DesclaimerComponent,\r\n ConsultationFeesComponent,\r\n LabBookingListComponent,\r\n LabBookAppointmentModalComponent,\r\n HealthServiceComponent,\r\n AboutUsComponent,\r\n BlogComponent,\r\n DynamicContnetComponent,\r\n OurSpecialityComponent,\r\n ProvidersComponent,\r\n TermsAndConditionsComponent,\r\n PrivacyPolicyComponent,\r\n RefundAndCancellationComponent\r\n //ChangePasswordComponent\r\n ],\r\n entryComponents: [\r\n AgencyLoginModelComponent,\r\n ClientLoginModelComponent,\r\n RegisterModelComponent,\r\n LoginModelComponent,\r\n SecurityQuestionModelComponent,\r\n BookAppointmentComponent,\r\n VideoPopupComponent,\r\n BookFreeAppointmentComponent,\r\n TermsConditionModalComponent,\r\n ProviderProfileModalComponent,\r\n SaveDocumentComponent,\r\n ProviderFeeSettingsComponent,\r\n UrgentCareProviderListComponent,\r\n UrgentCareAppointmentComponent,\r\n DesclaimerComponent,\r\n ConsultationFeesComponent,\r\n LabBookAppointmentModalComponent,\r\n TermsAndConditionsComponent,\r\n PrivacyPolicyComponent\r\n\r\n //AddUserDocumentComponent\r\n //ChangePasswordComponent\r\n ],\r\n providers: [\r\n CommonService,\r\n DatePipe,\r\n UniquePipe,\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpTokenInterceptor, multi: true },\r\n { provide: MAT_DIALOG_DATA, \r\n useValue: {\r\n hasBackdrop: true,\r\n disableClose: true,\r\n minWidth: \"55%\",\r\n maxWidth: \"90%\"\r\n } \r\n },\r\n //{ provide: MdDialogRef, useValue: {} }\r\n ]\r\n})\r\nexport class FrontModule {\r\n constructor(commonService: CommonService) {\r\n commonService.initializeAuthData();\r\n }\r\n}\r\n\r\nexport function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {\r\n return new TranslateHttpLoader(http);\r\n}\r\n","module.exports = \".mb-7 {\\r\\n margin-bottom: 70px;\\r\\n}\\r\\n.iconprovider{\\r\\n display: flex;\\r\\n float: right;\\r\\n}\\r\\n.search-filter .mat-checkbox {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: block;\\r\\n}\\r\\n.search-filter .mat-expansion-panel-header {\\r\\n padding: 0px 15px;\\r\\n}\\r\\n.search-filter .mat-expansion-panel-header-title {\\r\\n align-items: center;\\r\\n color: #01385f;\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\ninput, option {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n.search-filter .mat-expansion-panel-header-title i {\\r\\n padding-right: 10px;\\r\\n}\\r\\n.search-filter .ng-select .ng-clear-wrapper .ng-clear {\\r\\n padding-top: 3px;\\r\\n}\\r\\n.search-filter .ng-select .ng-select-container {\\r\\n border: 1px solid #ccc !important;\\r\\n}\\r\\n.mat-raised-button {\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n border-radius: 10px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.sortBy .ng-select {\\r\\n margin-right: 1rem;\\r\\n min-width: 105px;\\r\\n}\\r\\n.ng-select.custom-ng-select .ng-select-container {\\r\\n border: 2px solid #17a2b8;\\r\\n color: #17a2b8;\\r\\n border-radius: 8px;\\r\\n}\\r\\n.sortBy .ng-select .ng-arrow-wrapper .ng-arrow {\\r\\n border-color: #17a2b8 transparent transparent; \\r\\n}\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input {\\r\\n top: 0px;\\r\\n}\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 36px;\\r\\n}\\r\\n.sortBy .ng-select .ng-select-container .ng-value-container .ng-placeholder {\\r\\n color: #17a2b8;\\r\\n}\\r\\n.search-filter .mat-accordion {\\r\\n background: #fff;\\r\\n box-shadow: 0px 24px 24px rgba(0, 0, 0, 0.06);\\r\\n border-radius: 4px;\\r\\n}\\r\\n.search-filter .mat-card {\\r\\n box-shadow: 0px 25px 25px rgba(0, 0, 0, 0.06) !important;\\r\\n}\\r\\n.search-filter .mat-accordion .mat-expansion-panel-header {\\r\\n border-bottom: 1px solid #E0E0E0;\\r\\n}\\r\\n.search-filter .mat-accordion .mat-expansion-panel-spacing {\\r\\n margin: 0;\\r\\n box-shadow: none;\\r\\n}\\r\\n.count-list {\\r\\n background: #fff;\\r\\n /* Old browsers */\\r\\n color: #fff;\\r\\n padding: 15px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n margin-bottom: 15px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n margin-top: 5rem;\\r\\n box-shadow: 0px -6px 34px rgb(0 0 0 / 10%);\\r\\n}\\r\\n.sortBy {\\r\\n display: flex;\\r\\n margin-left: 1rem;\\r\\n}\\r\\n.sortBy span {\\r\\n color: #000;\\r\\n display: flex;\\r\\n}\\r\\n.sortBy .sort_width {\\r\\n min-width: 75px;\\r\\n}\\r\\n.sortBy select {\\r\\n border: 1px solid #17a2b8;\\r\\n color: #17a2b8;\\r\\n margin: 0px 15px;\\r\\n padding: 5px;\\r\\n border-radius: 8px;\\r\\n}\\r\\n.sortBy .thumbnail-icon a {\\r\\n color: #9B9B9B;\\r\\n margin: 0px 6px;\\r\\n}\\r\\n.sort-by {\\r\\n float: left;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n.sort-by button {\\r\\n font-size: 18px;\\r\\n padding: 4px 18px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n.sort-by button:hover {\\r\\n box-shadow: 0px 10px 20px rgb(0 0 0 / 16%);\\r\\n}\\r\\n.sort-by .mat-raised-button {\\r\\n border: 2px solid #01385f !important;\\r\\n padding: 2px 25px;\\r\\n color: #01385f !important;\\r\\n font-weight: 600;\\r\\n background-color: #fff !important;\\r\\n font-size: 14px;\\r\\n cursor: pointer;\\r\\n border-radius: 7px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n.sort-by .ng-select.custom-ng-select {\\r\\n width: 135px;\\r\\n display: inline-block;\\r\\n margin-left: 10px;\\r\\n height: 30px;\\r\\n padding: 0px;\\r\\n}\\r\\n.sort-by .ng-select.ng-select-single .ng-select-container {\\r\\n height: 25px;\\r\\n min-height: 25px;\\r\\n}\\r\\n.sort-by .ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 25px;\\r\\n}\\r\\n.count-list h3 {\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n margin: 0px;\\r\\n color: #000;\\r\\n}\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-input {\\r\\n width: 100%;\\r\\n}\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-calendar-container {\\r\\n z-index: 1;\\r\\n top: inherit;\\r\\n}\\r\\n.search-filter .ngx-datepicker-container .ngx-datepicker-input {\\r\\n border: 1px solid #ccc !important;\\r\\n border-radius: 4px !important;\\r\\n -webkit-border-radius: 4px !important;\\r\\n min-height: 36px;\\r\\n margin-top: 10px;\\r\\n}\\r\\n.main-calendar-days .day-unit.is-selected,\\r\\n.main-calendar-days .day-unit:hover {\\r\\n background: #17a2b8 !important;\\r\\n}\\r\\n.main-calendar-days .day-unit.is-today {\\r\\n background: #63d891 !important;\\r\\n}\\r\\n.filter-widget .mat-checkbox {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.filter-widget .more-widget {\\r\\n color: #17a2b8;\\r\\n cursor: pointer;\\r\\n}\\r\\n.filter-widget .ng-scrollbar-view {\\r\\n overflow: auto;\\r\\n}\\r\\n.filter-btn {\\r\\n text-align: center;\\r\\n}\\r\\n/* .doctor-widget {\\r\\n margin-bottom: 30px;\\r\\n} */\\r\\n.doctor-widget .doc-info {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n justify-content: space-between;\\r\\n}\\r\\n.doctor-widget .mat-card .fa-star-o {\\r\\n /* position: absolute;\\r\\n right: 10px;\\r\\n top: 10px;\\r\\n font-size: 18px;\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n cursor: pointer; */\\r\\n}\\r\\n.fav_icon {\\r\\n position: absolute;\\r\\n right: 10px;\\r\\n top: 10px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.fav_icon .mat-checkbox {\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n left: 0;\\r\\n opacity: 0;\\r\\n}\\r\\n.fav_icon .fa {\\r\\n color: rgb(238, 204, 13);\\r\\n}\\r\\n.doc-info-left {\\r\\n display: flex;\\r\\n max-height: 180px;\\r\\n min-height: 175px;\\r\\n}\\r\\n.doctor-img {\\r\\n width: 180px;\\r\\n height: 180px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n overflow: hidden;\\r\\n margin-right: 15px;\\r\\n /* flex: 0 0 180px; */\\r\\n /* display: flex; */\\r\\n}\\r\\n.doctor-widget .doc-name {\\r\\n font-size: 24px;\\r\\n font-weight: 600;\\r\\n margin-bottom: 3px;\\r\\n color: #01385f;\\r\\n}\\r\\n.doc-name a {\\r\\n color: #01385f;\\r\\n cursor: pointer;\\r\\n}\\r\\n.doc-name a:hover {\\r\\n color: #63d891;\\r\\n}\\r\\n.mat-card-content p.doc-speciality {\\r\\n font-size: 14px;\\r\\n color: #146795;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n.doc-department {\\r\\n color: #146795;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n margin-bottom: 5px;\\r\\n line-height: 20px;\\r\\n}\\r\\n.hand{\\r\\n cursor: pointer;\\r\\n}\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 0px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n.rating span {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-size: 12px;\\r\\n}\\r\\n.list-grid-btn {\\r\\n font-size: 20px;\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n.list-grid-btn .active {\\r\\n color: #01385f;\\r\\n}\\r\\n.list-grid-btn i {\\r\\n cursor: pointer;\\r\\n color: #9b9b9b;\\r\\n}\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n color: #146795;\\r\\n}\\r\\n.cfee {\\r\\n margin-bottom: 7px;\\r\\n font-size: 13px;\\r\\n}\\r\\n.clinic-services {\\r\\n color: #6AB8E4;\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n flex-wrap: wrap;\\r\\n min-height: 62px;\\r\\n}\\r\\n.clinic-services span {\\r\\n border: 1px solid #6AB8E4;\\r\\n border-radius: 4px;\\r\\n display: inline-block;\\r\\n font-size: 12px;\\r\\n padding: 3px 10px;\\r\\n}\\r\\n.clinic-services span {\\r\\n margin-right: 5px;\\r\\n margin-bottom: 5px;\\r\\n height: 100%;\\r\\n}\\r\\n.clinic-booking {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n border-top: 1px solid #ddd;\\r\\n padding-top: 15px;\\r\\n margin-top: 15px;\\r\\n width: 100%;\\r\\n}\\r\\n.clinic-booking .mat-raised-button {\\r\\n box-shadow: none;\\r\\n -ms-box-shadow: none;\\r\\n min-width: 120px;\\r\\n border-radius: 10px;\\r\\n padding: 3px;\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n.clinic-booking button.mat-accent {\\r\\n background-color: transparent;\\r\\n color: #17a2b8;\\r\\n border: 2px solid #17a2b8;\\r\\n}\\r\\na.link-btn {\\r\\n color: #fff;\\r\\n}\\r\\n.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,\\r\\n.mat-checkbox-checked.mat-accent .mat-checkbox-background {\\r\\n background-color: #fff !important;\\r\\n border: 2px solid #b9b9b9 !important;\\r\\n}\\r\\n.mat-checkbox-frame {\\r\\n border-color: #b9b9b9 !important;\\r\\n}\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #17a2b8 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 600;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #17a2b8;\\r\\n border-radius: 3px;\\r\\n}\\r\\n.link-btn:hover {\\r\\n color: #fff;\\r\\n}\\r\\n.chk-availability label {\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n color: #01385f;\\r\\n}\\r\\n.chk-availability button {\\r\\n background: #fff;\\r\\n border: 1px solid #b9b9b9;\\r\\n border-radius: 5px;\\r\\n font-size: 13px;\\r\\n color: #b9b9b9;\\r\\n font-weight: 500;\\r\\n margin-right: 10px;\\r\\n margin-bottom: 10px;\\r\\n padding: 5px 10px;\\r\\n line-height: 13px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.chk-availability button:disabled {\\r\\n cursor: not-allowed;\\r\\n border: 1px solid #e5e5e5;\\r\\n}\\r\\n.chk-availability button.active {\\r\\n border-color: #e7d9f8;\\r\\n color: #01385f;\\r\\n background: #e7d9f8;\\r\\n}\\r\\n.chk-availability button:not(:disabled):hover {\\r\\n background: #189bed;\\r\\n color: #fff;\\r\\n border-color: #189bed;\\r\\n}\\r\\n.clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n min-height: 125px;\\r\\n}\\r\\n.clini-infos ul li {\\r\\n display: block;\\r\\n line-height: 28px;\\r\\n word-break: break-word;\\r\\n color: #01385f;\\r\\n position: relative;\\r\\n padding-left: 25px;\\r\\n padding-right: 5px;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n min-height: 28px;\\r\\n}\\r\\n.doc-name i {\\r\\n color: #17a2b8;\\r\\n}\\r\\n.clini-infos ul li a {\\r\\n color: #01385f;\\r\\n}\\r\\n.clini-infos ul li .direction {\\r\\n color: #17a2b8;\\r\\n cursor: pointer;\\r\\n font-weight: 500;\\r\\n}\\r\\n.clini-infos ul li i {\\r\\n font-size: 15px;\\r\\n min-width: 20px;\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 6px;\\r\\n}\\r\\n.doc-info-cont .row {\\r\\n margin-left: 0;\\r\\n}\\r\\n.mat-form-field+.mat-form-field {\\r\\n margin-left: 8px;\\r\\n}\\r\\n/* grid view */\\r\\n/* .grid-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n/* .grid-profile .clinic-services {\\r\\n display: none;\\r\\n} */\\r\\n.grid-profile .doc-info,\\r\\n.grid-profile .doc-info-left {\\r\\n display: inherit;\\r\\n}\\r\\n.grid-profile .doctor-img {\\r\\n float: left;\\r\\n height: 160px;\\r\\n width: 160px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.grid-profile .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n.grid-profile .clinic-btn {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n width: 60%;\\r\\n flex-direction: row;\\r\\n margin-top: 0;\\r\\n}\\r\\n.grid-profile .clinic-btn .fee-sec {\\r\\n margin-right: 5px;\\r\\n color: #01385f;\\r\\n font-weight: 600;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n}\\r\\n.grid-profile .clinic-btn .fee-sec h3 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0px;\\r\\n margin-right: 0.5rem;\\r\\n font-weight: 600;\\r\\n}\\r\\n.grid-profile .clinic-btn .fee-sec h4 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n.grid-profile button {\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n.grid-profile .doc-info-right {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n}\\r\\n.grid-profile .doc-info-right .clini-infos {\\r\\n width: 100%;\\r\\n}\\r\\n.grid-profile .addres {\\r\\n min-height: 28px;\\r\\n}\\r\\n.grid-profile .doc-department {\\r\\n /* min-height: 30px; */\\r\\n word-break: break-all;\\r\\n}\\r\\n.grid-profile .doctor-widget .doc-info {\\r\\n display: inherit;\\r\\n}\\r\\n/* list view */\\r\\n/* .list-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n.list-profile a {\\r\\n margin-right: 15px;\\r\\n}\\r\\n@media (max-width: 1199px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 160px;\\r\\n height: 160px;\\r\\n }\\r\\n}\\r\\n@media (max-width: 991px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n }\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: row;\\r\\n }\\r\\n .clinic-booking button.mat-raised-button.mat-primary,\\r\\n .clinic-booking .link-btn {\\r\\n font-size: 12px;\\r\\n min-width: 85px;\\r\\n height: 36px !important;\\r\\n line-height: 26px;\\r\\n width: 100%;\\r\\n }\\r\\n .clinic-booking .chk-availability,\\r\\n .grid-profile .clinic-btn {\\r\\n width: 50%;\\r\\n margin: 0 1px;\\r\\n }\\r\\n .clinic-btn {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n }\\r\\n .list-profile a {\\r\\n margin-right: 0px;\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n /* .list-grid-btn,\\r\\n .sort-by {\\r\\n margin-top: 15px;\\r\\n } */\\r\\n .doc-info-left {\\r\\n max-height: none;\\r\\n min-height: auto;\\r\\n }\\r\\n .search-filter .mat-expansion-panel-header-title {\\r\\n font-size: 14px;\\r\\n }\\r\\n}\\r\\n@media (max-width: 767px) {\\r\\n .count-list {\\r\\n justify-content: flex-start;\\r\\n flex-wrap: wrap;\\r\\n align-items: center;\\r\\n }\\r\\n .count-list h3 {\\r\\n margin: 5px 15px 5px 0px;\\r\\n font-size: 18px;\\r\\n }\\r\\n .sort-by {\\r\\n float: none;\\r\\n }\\r\\n}\\r\\n@media (max-width: 575px) {\\r\\n .doctor-widget .doc-info {\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n }\\r\\n .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 160px !important;\\r\\n height: 160px !important;\\r\\n float: left;\\r\\n }\\r\\n .clini-infos ul li {\\r\\n display: inline-block;\\r\\n padding-right: 10px;\\r\\n }\\r\\n .clini-infos ul li i {\\r\\n min-width: auto;\\r\\n }\\r\\n .doc-info-left {\\r\\n width: 100%;\\r\\n display: inherit;\\r\\n }\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: row;\\r\\n }\\r\\n}\\r\\n@media (max-width: 480px) {\\r\\n /* .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n } */\\r\\n .clinic-btn {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n.ngx-datepicker-calendar-container {\\r\\n z-index: 2 !important;\\r\\n}\\r\\n.ngx-slider .ngx-slider-bubble {\\r\\n font-weight: 500;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n line-height: 14px;\\r\\n padding-top: 0;\\r\\n margin-top: 8px;\\r\\n}\\r\\nmat-slider {\\r\\n width: 100%;\\r\\n}\\r\\n.price-range span {\\r\\n font-weight: 500;\\r\\n}\\r\\n.mat-slider-thumb {\\r\\n border: 8px solid transparent !important;\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n.mat-slider-track-fill {\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n.cancl-pol-txt {\\r\\n color: #17a2b8 !important;\\r\\n cursor: pointer !important;\\r\\n font-weight: 500 !important;\\r\\n line-height: 20px;\\r\\n font-size: 14px;\\r\\n}\\r\\n.mat-expansion-indicator::after {\\r\\n border-color: #17a2b8;\\r\\n}\\r\\n.mat-checkbox-layout .mat-checkbox-label {\\r\\n color: #01385f;\\r\\n}\\r\\n.green-outline-btn {\\r\\n border-color: #17a2b8 !important;\\r\\n color: #17a2b8 !important;\\r\\n line-height: 36px;\\r\\n}\\r\\n.gray-outline-btn {\\r\\n border-color: #585858 !important;\\r\\n color: #858686 !important;\\r\\n line-height: 36px;\\r\\n}\\r\\n@media screen and (max-width: 1280px) {\\r\\n .doctor-widget .doc-name {\\r\\n font-size: 14px;\\r\\n }\\r\\n .cancl-pol-txt,\\r\\n .doc-department {\\r\\n font-size: 12px;\\r\\n line-height: 14px;\\r\\n }\\r\\n .clinic-services span {\\r\\n font-size: 10px;\\r\\n padding: 0 4px;\\r\\n margin-right: 2px;\\r\\n margin-bottom: 2px;\\r\\n }\\r\\n .clini-infos ul li {\\r\\n font-size: 12px;\\r\\n line-height: 20px;\\r\\n }\\r\\n .clini-infos ul li i {\\r\\n font-size: 12px;\\r\\n }\\r\\n .grid-profile .clinic-btn .fee-sec h3 {\\r\\n font-size: 14px;\\r\\n }\\r\\n .link-btn {\\r\\n font-size: 14px;\\r\\n }\\r\\n .clinic-services {\\r\\n min-height: 50px;\\r\\n }\\r\\n app-health-service .doctor-widget .mat-card {\\r\\n min-height: 430px;\\r\\n }\\r\\n \\r\\n \\r\\n\\r\\n}\\r\\n.pagination-nav {\\r\\n margin-top: 1.5rem;\\r\\n}\\r\\n.pagination-nav .pagination {\\r\\n justify-content: center;\\r\\n}\\r\\n.pagination-nav .pagination a {\\r\\n color: #01385f;\\r\\n font-weight: 600;\\r\\n border-radius: 4px;\\r\\n margin: 0 2px;\\r\\n border: none;\\r\\n}\\r\\n.img-fluid {\\r\\n max-width: 100%;\\r\\n /* height: auto; */\\r\\n height: 100%;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .sortBy {\\r\\n margin-left: 0rem !important;\\r\\n }\\r\\n .sortBy .ng-select {\\r\\n margin-left: 1rem;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{'sort_by'|translate}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ item.label | translate }}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ item.label | translate }}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'search'|translate}}\\r\\n \\r\\n \\r\\n\\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_health_services'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ item.service | translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'client_review'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (5)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (4)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (3)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (2)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (1)\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\r\\n \\r\\n {{\\r\\n provider.labName == null || provider.labName == \\\"\\\"\\r\\n ? provider.clinicName\\r\\n : provider.labName\\r\\n }}\\r\\n \\r\\n \\r\\n {{ provider.firstName + \\\" \\\" + provider.lastName }}\\r\\n \\r\\n

\\r\\n
\\r\\n \\r\\n {{ spl.speciality }}\\r\\n 0 && i <= 2\\\">, {{ spl.speciality }}\\r\\n 2\\\">+{{\\r\\n provider.specialities?.length - 3 }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n 0\\\" class=\\\"d-inline-block average-rating\\\">({{\\r\\n provider.totalReviews }})\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{\\r\\n provider.roleId === 329 ? \\\"Radiology\\\" : \\\"Laboratory\\\"\\r\\n }}\\r\\n
  • \\r\\n\\r\\n
  • \\r\\n \\r\\n {{ provider.phoneNumber }}\\r\\n
  • \\r\\n\\r\\n
  • \\r\\n \\r\\n {{\\r\\n provider.email }}\\r\\n
  • \\r\\n\\r\\n
  • \\r\\n \\r\\n {{ provider.addres }}\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{ provider.address }}, {{ provider.city }},\\r\\n {{ provider.zip }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'view_profile'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n {{'your_search_did_not_matched_any_results_please_try_a_different_search.'|translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import {\r\n AfterViewInit,\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { ClientsService } from \"src/app/platform/modules/client-portal/clients.service\";\r\nimport {\r\n FilterModel,\r\n LabSerachFilterModel,\r\n ResponseModel,\r\n} from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { HomeHeaderComponent } from \"../home-header/home-header.component\";\r\nimport { HomeService } from \"../home/home.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ProviderProfileModalComponent } from \"../provider-profile/provider-profile.component\";\r\nimport { BookFreeAppointmentComponent } from \"../book-freeappointment/book-freeappointment.component\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport { LabBookAppointmentModalComponent } from \"../lab-booking-list/lab-book-appointment-modal/lab-book-appointment-modal.component\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-health-service\",\r\n templateUrl: \"./health-service.component.html\",\r\n styleUrls: [\"./health-service.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class HealthServiceComponent\r\n implements OnInit, AfterViewInit, OnDestroy {\r\n showLoader: boolean;\r\n selectedLocation: any;\r\n clearing = false;\r\n currentLoginUserId;\r\n doctorWidgetClass: string = \"col-sm-6 grid-profile mb-3\";\r\n userId: number;\r\n userRoleName: string;\r\n isPatientLogin: boolean = false;\r\n userRole: any;\r\n sortby: any[] = [\r\n { value: 1, label: \"price_low\" },\r\n { value: 2, label: \"price_high\" },\r\n { value: 3, label: \"rating\" },\r\n ];\r\n location: any[] = [];\r\n staffId: string;\r\n labList: any = [];\r\n radiologyList: any = [];\r\n physiotherapyList: any = [];\r\n filterLabModel: LabSerachFilterModel;\r\n healthService: any = [];\r\n searchModel: string = \"\";\r\n radiologyFilterModel: FilterModel;\r\n selectedRole = null;\r\n private searchTimeout: any;\r\n\r\n healthServiceCheck = [\r\n // { id: 1, service: \"Laboratory\", isChecked: true },\r\n // { id: 2, service: \"Radiology\", isChecked: true },\r\n // { id: 3, service: \"Home Care\", isChecked: true }\r\n // { id: 3, service: \"PHYSIOTHERAPHY\", isChecked: true },\r\n { id: 1, service: \"Laboratory\", isChecked: true, RoleId: 325 },\r\n { id: 2, service: \"Radiology\", isChecked: true, RoleId: 329 },\r\n // { id: 3, service: \"Home Care\", isChecked: true },\r\n ];\r\n checkedService: any = [];\r\n private subscriptions: Subscription[] = [];\r\n constructor(\r\n private commonService: CommonService,\r\n private homeService: HomeService,\r\n private dialogModal: MatDialog,\r\n private headerComp: HomeHeaderComponent,\r\n private translate: TranslateService,\r\n private userService: UsersService,\r\n private clientService: ClientsService,\r\n private router: Router,\r\n ) {\r\n this.filterLabModel = new LabSerachFilterModel();\r\n this.radiologyFilterModel = new FilterModel();\r\n }\r\n\r\n ngOnDestroy() {\r\n // Clear timeout on component destruction to avoid memory leaks\r\n if (this.searchTimeout) {\r\n clearTimeout(this.searchTimeout);\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.checkPatientLogIn();\r\n }\r\n\r\n ngOnInit() {\r\n this.showLoader = true;\r\n window.scroll(0, 0);\r\n this.filterLabModel.pageSize = 10;\r\n //this.getLabList();\r\n //this.getRadiologyList();\r\n this.checkAndFetchData();\r\n }\r\n searchFiltter = (e) => {\r\n this.filterLabModel.searchText = e;\r\n // Clear the previous timeout if it exists\r\n if (this.searchTimeout) {\r\n clearTimeout(this.searchTimeout);\r\n }\r\n // Set a new timeout to call checkAndFetchData after 3 seconds\r\n if (e.length < 4) {\r\n this.searchTimeout = setTimeout(() => {\r\n this.checkAndFetchData();\r\n }, 2000);\r\n } else {\r\n this.checkAndFetchData();\r\n }\r\n };\r\n\r\n onSortChange = (event) => { };\r\n locationChange = (event) => { };\r\n onReviewRatingChange = (event) => {\r\n // console.log(event);\r\n\r\n };\r\n clearFilter = () => {\r\n this.healthServiceCheck.forEach((ele) => {\r\n ele.isChecked = true;\r\n })\r\n this.searchModel = '';\r\n // this.filterLabModel=new LabSerachFilterModel();\r\n this.checkAndFetchData();\r\n };\r\n addToFavouritePharmacy = (provider, event) => { };\r\n\r\n checkPatientLogIn() {\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.currentLoginUserId = user.id;\r\n this.userId = user.userID;\r\n this.userRole = user && user.users3 && user.users3.userRoles.userType;\r\n this.isPatientLogin = this.userRole === \"CLIENT\";\r\n }\r\n });\r\n }\r\n\r\n cancelAllSubscriptions(): void {\r\n // Unsubscribe from all active subscriptions\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n serviceCheckbox = (item, event) => {\r\n const objIndex = this.healthServiceCheck.findIndex(\r\n (obj) => obj.id == item.id\r\n );\r\n this.healthServiceCheck[objIndex].isChecked = event.checked;\r\n this.checkAndFetchData();\r\n };\r\n getPhysiotheraphyList = () => {\r\n this.physiotherapyList = [\"physiotherapy\"];\r\n this.healthService = [\r\n ...this.labList,\r\n ...this.radiologyList,\r\n ...this.physiotherapyList,\r\n ];\r\n };\r\n getLabList() {\r\n this.subscriptions.push(\r\n this.homeService\r\n .getLabList(this.filterLabModel)\r\n .subscribe((response: any) => {\r\n this.filterLabModel.LabId = \"\";\r\n if (response != null && response.statusCode == 200) {\r\n // console.log(response);\r\n this.labList = response.data;\r\n this.healthService = [...this.labList, ...this.healthService];\r\n // console.log(\"This healthservice\", this.healthService);\r\n } else {\r\n }\r\n })\r\n );\r\n }\r\n getRadiologyList() {\r\n let organizationId = 128;\r\n let roleId = 329;\r\n this.subscriptions.push(\r\n this.clientService\r\n .getAllLabList(organizationId, roleId, 0, this.searchModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.radiologyList = response.data;\r\n this.healthService = [...this.radiologyList, ...this.healthService];\r\n }\r\n })\r\n );\r\n }\r\n\r\n checkAndFetchData() {\r\n this.cancelAllSubscriptions();\r\n this.healthService.length = 0;\r\n this.radiologyList.length = 0;\r\n this.labList.length = 0;\r\n // console.log(\"Health Service Check:\", this.healthServiceCheck);\r\n const labServiceChecked = this.healthServiceCheck.find(\r\n (s) => s.service === \"Laboratory\" && s.isChecked\r\n );\r\n const radiologyServiceChecked = this.healthServiceCheck.find(\r\n (s) => s.service === \"Radiology\" && s.isChecked\r\n );\r\n this.healthService = [];\r\n if (\r\n labServiceChecked &&\r\n labServiceChecked.isChecked &&\r\n radiologyServiceChecked &&\r\n radiologyServiceChecked.isChecked\r\n ) {\r\n this.getLabList();\r\n this.getRadiologyList();\r\n } else if (labServiceChecked && labServiceChecked.isChecked) {\r\n this.radiologyList.length = 0;\r\n this.getLabList();\r\n } else if (radiologyServiceChecked && radiologyServiceChecked.isChecked) {\r\n this.labList.length = 0;\r\n this.getRadiologyList();\r\n } else {\r\n // console.log(\"No data found.\");\r\n }\r\n }\r\n\r\n bookAppointment(provider) {\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n panelClass: \"loginModalPanel\",\r\n data: { selectedIndex: 1 },\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n this.openDialogBookAppointment(provider);\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n });\r\n } else {\r\n this.openDialogBookAppointment(provider);\r\n }\r\n }\r\n\r\n openDialogBookAppointment(provider) {\r\n let dbModal;\r\n if (provider.staffId) {\r\n dbModal = this.dialogModal.open(LabBookAppointmentModalComponent, {\r\n hasBackdrop: true,\r\n data: provider,\r\n width: \"80%\",\r\n });\r\n } else if (provider.labId) {\r\n dbModal = this.dialogModal.open(LabBookAppointmentModalComponent, {\r\n hasBackdrop: true,\r\n data: provider,\r\n width: \"80%\",\r\n });\r\n }\r\n\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n }\r\n });\r\n }\r\n\r\n redirectToProfilePage(provider) {\r\n let dbModal;\r\n if (provider.labId) {\r\n dbModal = this.dialogModal.open(ProviderProfileModalComponent, {\r\n hasBackdrop: true,\r\n data: { id: provider.labId, isFromHealthService: true },\r\n width: \"80%\",\r\n panelClass: \"providerProfilePanel\",\r\n });\r\n }\r\n\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n }\r\n });\r\n }\r\n\r\n bookFreeAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 },\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n location.reload();\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n });\r\n } else {\r\n this.openDialogBookFreeAppointment(staffId, providerId);\r\n }\r\n //let staffId = this.commonService.encryptValue(id);\r\n }\r\n openDialogBookFreeAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(BookFreeAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffId: staffId,\r\n userInfo: null,\r\n providerId: providerId,\r\n locationId: this.selectedLocation || 0,\r\n },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n this.router.navigate([\"/web/client/managelab\"]);\r\n }\r\n });\r\n }\r\n\r\n // openCancellationRulesPopup(rules) {\r\n // rules = rules ? rules : [];\r\n // const dbModal = this.dialogModal.open(ProviderFeeSettingsComponent, {\r\n // hasBackdrop: true,\r\n // data: rules as CancelationRule[],\r\n // width: \"400px\",\r\n // maxWidth: \"400px\",\r\n // minWidth: \"40%\",\r\n // });\r\n // }\r\n\r\n // openSeeFees(provider) {\r\n // let dbModal;\r\n // if(provider.providerId){\r\n // dbModal = this.dialogModal.open(ConsultationFeesComponent, {\r\n // width: \"60%\",\r\n // data: { id: provider.providerId },\r\n // });\r\n // }\r\n\r\n // dbModal.afterClosed().subscribe((result: string) => {});\r\n // }\r\n}\r\n","module.exports = \"/*By Rishi*/\\r\\n\\r\\n.hidden {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.full_loader {\\r\\n position: fixed;\\r\\n left: 0px;\\r\\n right: 0px;\\r\\n top: 0px;\\r\\n background-color: rgba(255, 255, 255, 0.8);\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n z-index: 1001;\\r\\n}\\r\\n\\r\\n.circle_loader {\\r\\n left: 0;\\r\\n right: 0 !important;\\r\\n margin: 0px auto !important;\\r\\n display: block !important;\\r\\n top: 50%;\\r\\n position: fixed !important;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.circle_loader.search_loader {\\r\\n top: 15%;\\r\\n}\\r\\n\\r\\n.top0 {\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n/* .circle_loader.page_loader {\\r\\nleft: 19%;\\r\\n} */\\r\\n\\r\\n.circle_loader.tag_laoder {\\r\\n position: absolute !important;\\r\\n top: 15% !important;\\r\\n}\\r\\n\\r\\n/*select filed*/\\r\\n\\r\\n.cdk-overlay-pane {\\r\\n -webkit-transform: translateX(-0px) !important;\\r\\n transform: translateX(-0px) !important;\\r\\n}\\r\\n\\r\\n/*Fields bottom border*/\\r\\n\\r\\n.mat-form-field-appearance-legacy .mat-form-field-underline {\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.mat-select-arrow {\\r\\n color: rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.mat-datepicker-toggle-default-icon {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n/*Client list toggle*/\\r\\n\\r\\n.srach-pt[class*=\\\" flaticon-\\\"]:after,\\r\\n.srach-pt[class*=\\\" flaticon-\\\"]:before,\\r\\n.srach-pt[class^=\\\"flaticon-\\\"]:after,\\r\\n.srach-pt[class^=\\\"flaticon-\\\"]:before {\\r\\n line-height: 40px;\\r\\n}\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n .circle_loader.page_loader {\\r\\n left: 0px;\\r\\n right: 0px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .mat-drawer-content {\\r\\n padding: 70px 15px 15px 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 480px) {\\r\\n .mat-dialog-actions button {\\r\\n width: 100%;\\r\\n margin: 0rem 0rem 1rem !important;\\r\\n }\\r\\n .mat-dialog-actions button.cancel-btn {\\r\\n order: 3;\\r\\n }\\r\\n .mat-dialog-actions>button+div {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\nheader .user-dropdown button {\\r\\n border: 0px;\\r\\n background-color: transparent;\\r\\n width: 70px;\\r\\n height: 50px;\\r\\n}\\r\\n\\r\\n.user-dropdown button img {\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 100px;\\r\\n}\\r\\n\\r\\n.more-load {\\r\\n border: 4px solid #cccccc;\\r\\n border-radius: 50%;\\r\\n border-top: 4px solid #63d891;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n -webkit-animation: spin 1s linear infinite;\\r\\n /* Safari */\\r\\n animation: spin 1s linear infinite;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n/* Safari */\\r\\n\\r\\n@-webkit-keyframes spin {\\r\\n 0% {\\r\\n -webkit-transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n -webkit-transform: rotate(360deg);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes spin {\\r\\n 0% {\\r\\n -webkit-transform: rotate(0deg);\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n -webkit-transform: rotate(360deg);\\r\\n transform: rotate(360deg);\\r\\n }\\r\\n}\\r\\n\\r\\n.img-fluid.profile-img {\\r\\n width: 100% !important;\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.star {\\r\\n margin-right: -4px;\\r\\n}\\r\\n\\r\\n.average-rating {\\r\\n font-size: 15px;\\r\\n line-height: 46px;\\r\\n}\\r\\n\\r\\n.img-hgt{\\r\\n height: 340px;\\r\\n overflow: hidden;\\r\\n padding: 8px 80px;\\r\\n}\\r\\n\\r\\n.img-hgt img{\\r\\n box-shadow: 0px 0px 12px 0px #d4d4d4;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { debug } from \"util\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\n// import {\r\n// Component,\r\n// OnInit,\r\n// ViewEncapsulation,\r\n// ChangeDetectorRef,\r\n// Output,\r\n// EventEmitter\r\n// } from \"@angular/core\";\r\n// import { MediaMatcher } from \"@angular/cdk/layout\";\r\nimport { Subscription } from \"rxjs\";\r\n// import { HeaderInfo, NavItem } from \"src/app/shared/models\";\r\n// import { MatDialog } from \"@angular/material\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n Router,\r\n RouteConfigLoadStart,\r\n RouteConfigLoadEnd,\r\n NavigationEnd\r\n} from \"@angular/router\";\r\n// import { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\n// import { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\n// import { RegisterModelComponent } from \"src/app/shared/register-model/register.component\";\r\n// import { ChangePasswordComponent } from \"src/app/platform/modules/agency-portal/change-password/change-password.component\";\r\n// import { SecurityQuestionModelComponent } from \"src/app/shared/security-question-model/security-question-model.component\";\r\n\r\nimport { Component, ViewEncapsulation, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"app-home-container\",\r\n templateUrl: \"./home-container.component.html\",\r\n styleUrls: [\"./home-container.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HomeContainerComponent implements OnInit {\r\n // mobileQuery: MediaQueryList;\r\n // private _mobileQueryListener: () => void;\r\n // private subscription: Subscription;\r\n private subscriptionLoading: Subscription;\r\n // headerInfo: HeaderInfo;\r\n // IsLogin: boolean = false;\r\n // userInfo: any;\r\n loading: boolean = false;\r\n loaderImage = \"../..//assets/loader.gif\";\r\n // loginResponse: any = null;\r\n // isPatient: boolean = false;\r\n constructor(\r\n // media: MediaMatcher,\r\n // changeDetectorRef: ChangeDetectorRef,\r\n // private dialogModal: MatDialog,\r\n private commonService: CommonService,\r\n private router: Router,\r\n private homeService: HomeService\r\n ) {\r\n // this.mobileQuery = media.matchMedia(\"(min-width: 992px)\");\r\n // this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n // this.mobileQuery.addListener(this._mobileQueryListener);\r\n }\r\n\r\n ngOnInit() {\r\n // console.log('Home container started..');\r\n this.subscriptionLoading = this.homeService.loadingState.subscribe(\r\n (isloading: boolean) => {\r\n this.loading = isloading;\r\n }\r\n );\r\n // if (localStorage.getItem(\"access_token\")) {\r\n // this.loading = true;\r\n // this.IsLogin = true;\r\n // this.checkUserLogin();\r\n // } else {\r\n // this.IsLogin = false;\r\n // }\r\n var asyncLoadCount = 0;\r\n // this.redirectToDashboard(this.router.url);\r\n this.router.events.subscribe((event: any) => {\r\n // if (event instanceof NavigationEnd) {\r\n // this.redirectToDashboard(event.url);\r\n // // on route change toggle sidebar...\r\n // //if (window.innerWidth < 991) this.layoutService.toggleSideNav(false);\r\n // }\r\n // console.log('Home router events..');\r\n if (event instanceof RouteConfigLoadStart) {\r\n asyncLoadCount++;\r\n } else if (event instanceof RouteConfigLoadEnd) {\r\n asyncLoadCount--;\r\n }\r\n this.loading = !!asyncLoadCount;\r\n });\r\n // console.log('Home router events outside..');\r\n }\r\n \r\n // checkUserLogin() {\r\n // this.subscription = this.commonService.loginUser.subscribe(\r\n // (user: LoginUser) => {\r\n // if (user.data) {\r\n // this.loading = false;\r\n // const userRoleName =\r\n // user.data.users3 && user.data.users3.userRoles.userType;\r\n // if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n // this.isPatient = true;\r\n // this.userInfo = user.patientData;\r\n // this.headerInfo = {\r\n // user: user.data,\r\n // userLocations: user.userLocations || [],\r\n // userNavigations: this.getUserNaviagations(user)\r\n // };\r\n // } else {\r\n // this.userInfo = user.data;\r\n // this.isPatient = false;\r\n // this.redirectToDashboard(\"/web\");\r\n // }\r\n\r\n // // this.sidebarInfo = {\r\n // // navigations: this.getSideNavigations(user),\r\n // // };\r\n\r\n // // if (!this.isPatient) {\r\n // // this.allNavigations = this.sidebarInfo;\r\n // // this.updateClientRoutes(null, null);\r\n // // }\r\n // } else {\r\n // }\r\n // }\r\n // );\r\n // }\r\n // onSelectUserMenu(item: NavItem) {\r\n // switch (item.route) {\r\n // case \"/web/sign-out\":\r\n // this.commonService.logout();\r\n // sessionStorage.setItem(\"redirectTo\", \"\");\r\n // location.reload();\r\n // break;\r\n // case \"\":\r\n // this.createChangePasswordModal();\r\n // break;\r\n // default:\r\n // item.route && this.router.navigate([item.route]);\r\n // break;\r\n // }\r\n // }\r\n // getUserNaviagations(user: LoginUser) {\r\n // let navigations: NavItem[] = [];\r\n // const userRoleName =\r\n // user.data.users3 && user.data.users3.userRoles.userType;\r\n // if ((userRoleName || \"\").toUpperCase() === \"ADMIN\") {\r\n // navigations = [\r\n // {\r\n // displayName: \"My Profile\",\r\n // iconName: '',\r\n // route: \"/web/manage-users/user-profile\"\r\n // },\r\n // // {\r\n // // displayName: \"Change Password\",\r\n // // iconName: '',\r\n // // route: \"\"\r\n // // },\r\n // {\r\n // displayName: \"Settings\",\r\n // iconName: '',\r\n // route: \"/web/app-config\"\r\n // },\r\n // {\r\n // displayName: \"Sign Out\",\r\n // iconName: '',\r\n // route: \"/web/sign-out\"\r\n // }\r\n // ];\r\n // } else if ((userRoleName || \"\").toUpperCase() === \"STAFF\") {\r\n // navigations = [\r\n // {\r\n // displayName: \"Dashboard\",\r\n // iconName: '',\r\n // route: \"/web/dashboard\"\r\n // },\r\n // {\r\n // displayName: \"My Profile\",\r\n // iconName: '',\r\n // route: \"/web/manage-users/user-profile\"\r\n // },\r\n // // {\r\n // // displayName: \"Change Password\",\r\n // // iconName: '',\r\n // // route: \"\"\r\n // // },\r\n // {\r\n // displayName: \"Sign Out\",\r\n // iconName: '',\r\n // route: \"/web/sign-out\"\r\n // }\r\n // ];\r\n // } else if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n // navigations = [\r\n // // {\r\n // // displayName: \"Change Password\",\r\n // // iconName: '',\r\n // // route: \"\"\r\n // // },\r\n // {\r\n // displayName: \"Dashboard\",\r\n // iconName: '',\r\n // route: \"/web/client/dashboard\"\r\n // },\r\n // {\r\n // displayName: \"My Profile\",\r\n // iconName: '',\r\n // route: \"/web/client/my-profile\"\r\n // },\r\n // {\r\n // displayName: \"Sign Out\",\r\n // iconName: '',\r\n // route: \"/web/sign-out\"\r\n // }\r\n // ];\r\n // }\r\n\r\n // return navigations;\r\n // }\r\n // createChangePasswordModal() {\r\n // let chnagePasswordModal;\r\n // chnagePasswordModal = this.dialogModal.open(ChangePasswordComponent, {\r\n // hasBackdrop: true,\r\n // data: {}\r\n // });\r\n // }\r\n // openDialogLogin() {\r\n // let dbModal;\r\n // dbModal = this.dialogModal.open(LoginModelComponent, {\r\n // hasBackdrop: true,\r\n // data: {}\r\n // });\r\n // dbModal.afterClosed().subscribe((result: any) => {\r\n // if (result != null && result != \"close\") {\r\n // let response = result.response;\r\n // if (\r\n // response.statusCode >= 400 &&\r\n // response.statusCode < 500 &&\r\n // response.message\r\n // ) {\r\n // //this.errorMessage = response.message;\r\n // this.loading = false;\r\n // } else if (response.statusCode === 205) {\r\n // //this.errorMessage = response.message;\r\n // this.loading = false;\r\n // } else if (response.access_token) {\r\n // this.isPatient = result.isPatient;\r\n // if (result.isPatient == false) this.redirectToDashboard(\"/web\");\r\n // else this.checkUserLogin();\r\n // this.IsLogin = true;\r\n // } else {\r\n // this.openDialogSecurityQuestion();\r\n // }\r\n // // if (result == \"login\") {\r\n // // this.checkUserLogin();\r\n // // this.IsLogin = true;\r\n // // }\r\n // }\r\n // });\r\n // }\r\n // redirectToDashboard(url: string) {\r\n // if (url == \"/web\") {\r\n // const redirectUrl = this.isPatient\r\n // ? \"/web/client/dashboard\"\r\n // : \"/web/dashboard\";\r\n // this.router.navigate([redirectUrl]);\r\n // }\r\n // }\r\n // openDialogSecurityQuestion() {\r\n // let dbModal;\r\n // dbModal = this.dialogModal.open(SecurityQuestionModelComponent, {\r\n // hasBackdrop: true,\r\n // data: {}\r\n // });\r\n // dbModal.afterClosed().subscribe((result: string) => {\r\n // if (result != null && result != \"close\") {\r\n // if (result == \"save\") {\r\n // this.checkUserLogin();\r\n // this.IsLogin = true;\r\n // }\r\n // }\r\n // });\r\n // }\r\n // openDialogRegister() {\r\n // let dbModal;\r\n // dbModal = this.dialogModal.open(RegisterModelComponent, {\r\n // hasBackdrop: true,\r\n // data: {}\r\n // });\r\n // dbModal.afterClosed().subscribe((result: string) => {\r\n // if (result != null && result != \"close\") {\r\n // if (result == \"save\") {\r\n // this.checkUserLogin();\r\n // }\r\n // }\r\n // });\r\n // }\r\n // ngOnDestroy() {\r\n // if (this.subscription && !this.subscription.closed)\r\n // this.subscription.unsubscribe();\r\n // }\r\n}\r\n","module.exports = \"ul,\\r\\nli {\\r\\n margin: 0px;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n:focus {\\r\\n outline: none;\\r\\n}\\r\\n\\r\\nfooter {\\r\\n background-color: #0A142F;\\r\\n padding-top: 70px;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\nfooter img.site-logo {\\r\\n max-width: 100%;\\r\\n @media screen and (max-width: 991px) {\\r\\n min-width: auto;\\r\\n max-width: 100%;\\r\\n }\\r\\n @media screen and (max-width: 767px) {\\r\\n width: 50%;\\r\\n }\\r\\n}\\r\\n\\r\\nfooter h5 {\\r\\n font-size: 14px;\\r\\n color: #ffffff;\\r\\n font-weight: 600;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\nfooter li {\\r\\n list-style-type: none;\\r\\n}\\r\\n\\r\\nfooter li a {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n transition: 0.36s all;\\r\\n line-height: 40px;\\r\\n}\\r\\n\\r\\nfooter li a:hover {\\r\\n opacity: 1;\\r\\n color: #17a2b8;\\r\\n}\\r\\n\\r\\nul.social-linking {\\r\\n margin: 20px 0;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.social-linking li {\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.social-linking li a {\\r\\n border: 1px solid;\\r\\n border-radius: 100%;\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n display: block;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n margin: 0 2px;\\r\\n}\\r\\n\\r\\n.social-linking li a i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.app-store .img-fluid {\\r\\n margin-bottom: 10px;\\r\\n -o-object-fit: contain !important;\\r\\n object-fit: contain !important;\\r\\n}\\r\\n\\r\\n.social-link {\\r\\n width: 100%;\\r\\n display: flex;\\r\\n border-top: 1px solid rgba(255,255,255,0.2);\\r\\n align-items: center;\\r\\n margin-top: 40px;\\r\\n font-size: 13px;\\r\\n padding: 1rem 0;\\r\\n}\\r\\n\\r\\n.term a:nth-child(1) {\\r\\n border-right: 1px solid rgba(255,255,255,0.2);\\r\\n}\\r\\n\\r\\n.term a {\\r\\n margin-right: 15px;\\r\\n padding-right: 15px;\\r\\n color: #ffffff;\\r\\n}\\r\\n\\r\\nsection.contact-us {\\r\\n margin-top: -70px;\\r\\n padding-top: 0;\\r\\n position: relative;\\r\\n padding-bottom: 0;\\r\\n margin-bottom: -60px;\\r\\n}\\r\\n\\r\\n.cont-search {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n background: #fff;\\r\\n padding: 20px;\\r\\n border-radius: 20px;\\r\\n flex-flow: row wrap;\\r\\n}\\r\\n\\r\\n.cont-search input {\\r\\n border: 0;\\r\\n width: 100%;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.cont-search .email-error {\\r\\n flex: 1 100%;\\r\\n font-size: 90%;\\r\\n color: red;\\r\\n -webkit-transform: translateY(5px);\\r\\n transform: translateY(5px);\\r\\n}\\r\\n\\r\\n.cont-search button {\\r\\n border-radius: 16px;\\r\\n box-shadow: none !important;\\r\\n width: 140px;\\r\\n font-size: 18px;\\r\\n line-height: 44px;\\r\\n}\\r\\n\\r\\n.contact-outer {\\r\\n background: #E8E8E8;\\r\\n padding: 20px;\\r\\n border-radius: 16px;\\r\\n}\\r\\n\\r\\n.contact-outer h4 {\\r\\n text-transform: capitalize;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.contact-outer p {\\r\\n font-weight: 500;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\nfooter>ul {\\r\\n padding: 0px;\\r\\n list-style: none;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.contact-links {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.contact-links p {\\r\\n padding: 0px 15px 20px;\\r\\n}\\r\\n\\r\\n.contact-links p a {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.contact-links p i {\\r\\n padding-right: 5px;\\r\\n}\\r\\n\\r\\nfooter>ul li {\\r\\n padding: 0px 8px 15px;\\r\\n}\\r\\n\\r\\n.contact-links p {\\r\\n padding: 0px 10px 10px;\\r\\n}\\r\\n\\r\\n.social-link p {\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n footer {\\r\\n padding-top: 40px;\\r\\n }\\r\\n footer .app-store {\\r\\n display: flex;\\r\\n justify-content: space-evenly;\\r\\n gap: 8px;\\r\\n }\\r\\n footer h5 {\\r\\n margin-bottom: 10px;\\r\\n margin-top: 30px;\\r\\n }\\r\\n section.contact-us {\\r\\n margin-top: 0;\\r\\n padding-top: 20px;\\r\\n position: relative;\\r\\n padding-bottom: 20px;\\r\\n margin-bottom: 0;\\r\\n background: #f7f7f7;\\r\\n }\\r\\n .cont-search {\\r\\n margin-top: 20px;\\r\\n }\\r\\n .social-link {\\r\\n flex-direction: column;\\r\\n padding-top: 15px;\\r\\n }\\r\\n .social-link p {\\r\\n margin-bottom: 0;\\r\\n padding: 0;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width:575px) {\\r\\n .social-link {\\r\\n margin-top: 10px;\\r\\n font-size: 11px;\\r\\n }\\r\\n footer li a {\\r\\n font-size: 14px;\\r\\n line-height: 30px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 540px) {\\r\\n .app-store a:nth-child(2) {\\r\\n margin-left: 0;\\r\\n }\\r\\n .cont-search button{\\r\\n width: 100%;\\r\\n margin-top: 14px;\\r\\n }\\r\\n .cont-search{\\r\\n flex-direction: column;\\r\\n }\\r\\n .cont-search input{\\r\\n background: #f5f5f5;\\r\\n padding: 10px;\\r\\n border-radius: 4px;\\r\\n }\\r\\n} \"","module.exports = \"\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { DynamicFilterModel } from 'src/app/platform/modules/core/modals/common-model';\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\nimport { TermsConditionModalComponent } from '../terms-conditions/terms-conditions.component';\r\n\r\n@Component({\r\n selector: 'app-home-footer',\r\n templateUrl: './home-footer.component.html',\r\n styleUrls: ['./home-footer.component.css']\r\n})\r\nexport class HomeFooterComponent implements OnInit {\r\n isContactUsSubmited=false\r\n filterModel: DynamicFilterModel = new DynamicFilterModel();\r\n allPages:any;\r\n organizationEmailAddress: string=\"info@smartdatainc.net\";\r\n getOrganizationEmailAddressUrl=\"api/Organization/GetOrganizationEmailAddress\";\r\n sendContactUsEmailUrl=\"api/Organization/SendContactUsEmail\";\r\n getAllURL: string = 'DynamicPage/GetAll';\r\n contactUsText= new FormControl(\"\",[Validators.email,Validators.required]);\r\n constructor(private commonService: CommonService, private dialogModal: MatDialog,\r\n private notifier: NotifierService) { \r\n this.getOrganizationEmailAddress();\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.getAllStaticPages();\r\n }\r\n\r\n getOrganizationEmailAddress(){\r\n this.commonService.get(this.getOrganizationEmailAddressUrl).subscribe( res => this.organizationEmailAddress = res.data);\r\n }\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width:'70%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n \r\n }\r\n });\r\n }\r\n\r\n get mailToAddress() :string{\r\n if(this.organizationEmailAddress){\r\n return \"mailto:\"+this.organizationEmailAddress+\"?Subject=Hello%20again\";\r\n } else {\r\n return \"mailto:info@smartdatainc.net?Subject=Hello%20again\";\r\n }\r\n \r\n }\r\n\r\n sendContactUsEmail(){\r\n //////\r\n this.isContactUsSubmited= true;\r\n if(this.contactUsText.invalid){\r\n return;\r\n }\r\n const model = {EmailAddress:this.contactUsText.value};\r\n this.commonService.post(this.sendContactUsEmailUrl,model,true).subscribe(res => {\r\n if(res.data){\r\n this.notifier.notify('success','Submitted Successfully');\r\n this.contactUsText.setValue('');\r\n this.isContactUsSubmited= false;\r\n }\r\n });\r\n \r\n }\r\n\r\n getAllStaticPages() {\r\n this.filterModel.pageSize = 10;\r\n this.filterModel.isActiveRequired = true;\r\n var url = `${this.getAllURL}?sortOrder=${this.filterModel.sortOrder}&sortColumn=${this.filterModel.sortColumn}&pageNumber=${this.filterModel.pageNumber}&pageSize=${this.filterModel.pageSize}`;\r\n this.commonService.get(url).subscribe(res => {\r\n this.allPages = [];\r\n if (res != null && res.statusCode == 200) {\r\n this.allPages = res.data;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n","module.exports = \"/* header .user-dropdown button {\\r\\n border: 0px;\\r\\n background-color: transparent;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n}\\r\\n\\r\\n.user-dropdown button img {\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 100px;\\r\\n}\\r\\n\\r\\n.center-con {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n transform: rotate(90deg);\\r\\n background: #000;\\r\\n top: 4px;\\r\\n position: relative;\\r\\n z-index: 1;\\r\\n left: 31px;\\r\\n}\\r\\n\\r\\n.round {\\r\\n position: absolute;\\r\\n border: 2px solid #fff0;\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.arrow i.fa.fa-angle-down {\\r\\n font-size: 17px;\\r\\n transform: rotate(-93deg);\\r\\n}\\r\\n\\r\\n#cta {\\r\\n width: 100%;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\n#cta .arrow {\\r\\n left: 30%;\\r\\n}\\r\\n\\r\\n.arrow {\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n margin-left: 0px;\\r\\n width: 12px;\\r\\n height: 12px;\\r\\n background-size: contain;\\r\\n top: 15px;\\r\\n}\\r\\n\\r\\n.segunda {\\r\\n margin-left: 8px;\\r\\n}\\r\\n\\r\\n.next {\\r\\n background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHN0eWxlPi5zdDB7ZmlsbDojZmZmfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTMxOS4xIDIxN2MyMC4yIDIwLjIgMTkuOSA1My4yLS42IDczLjdzLTUzLjUgMjAuOC03My43LjZsLTE5MC0xOTBjLTIwLjEtMjAuMi0xOS44LTUzLjIuNy03My43UzEwOSA2LjggMTI5LjEgMjdsMTkwIDE5MHoiLz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzE5LjEgMjkwLjVjMjAuMi0yMC4yIDE5LjktNTMuMi0uNi03My43cy01My41LTIwLjgtNzMuNy0uNmwtMTkwIDE5MGMtMjAuMiAyMC4yLTE5LjkgNTMuMi42IDczLjdzNTMuNSAyMC44IDczLjcuNmwxOTAtMTkweiIvPjwvc3ZnPg==);\\r\\n}\\r\\n\\r\\n@keyframes bounceAlpha {\\r\\n 0% {\\r\\n opacity: 1;\\r\\n transform: translateX(0px) scale(1);\\r\\n }\\r\\n 25% {\\r\\n opacity: 0;\\r\\n transform: translateX(10px) scale(0.9);\\r\\n }\\r\\n 26% {\\r\\n opacity: 0;\\r\\n transform: translateX(-10px) scale(0.9);\\r\\n }\\r\\n 55% {\\r\\n opacity: 1;\\r\\n transform: translateX(0px) scale(1);\\r\\n }\\r\\n}\\r\\n\\r\\n.bounceAlpha {\\r\\n animation-name: bounceAlpha;\\r\\n animation-duration: 1.4s;\\r\\n animation-iteration-count: infinite;\\r\\n animation-timing-function: linear;\\r\\n}\\r\\n\\r\\n.arrow.primera.bounceAlpha {\\r\\n animation-name: bounceAlpha;\\r\\n animation-duration: 1.4s;\\r\\n animation-delay: 0.2s;\\r\\n animation-iteration-count: infinite;\\r\\n animation-timing-function: linear;\\r\\n}\\r\\n\\r\\n.round:hover .arrow {\\r\\n animation-name: bounceAlpha;\\r\\n animation-duration: 1.4s;\\r\\n animation-iteration-count: infinite;\\r\\n animation-timing-function: linear;\\r\\n}\\r\\n\\r\\n.round:hover .arrow.primera {\\r\\n animation-name: bounceAlpha;\\r\\n animation-duration: 1.4s;\\r\\n animation-delay: 0.2s;\\r\\n animation-iteration-count: infinite;\\r\\n animation-timing-function: linear;\\r\\n}\\r\\n\\r\\n\\r\\n/**********************User Image ripple effect*********************/\\r\\n\\r\\n/*.request-loader {\\r\\n position: relative;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 150px;\\r\\n width: 150px;\\r\\n border-radius: 100%;\\r\\n /* background: #fff; */\\r\\n\\r\\n/* box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25); */\\r\\n\\r\\n/*}\\r\\n\\r\\n\\r\\n/* .request-loader img {\\r\\n position: relative;\\r\\n font-size: 72px;\\r\\n top: 5px;\\r\\n left: -5px;\\r\\n} */\\r\\n\\r\\n/*\\r\\n.request-loader::after {\\r\\n opacity: 0;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n left: 0px;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n content: \\\"\\\";\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n border: 8px solid rgba(0, 0, 0, 0.2);\\r\\n border-radius: 100%;\\r\\n animation-name: ripple;\\r\\n animation-duration: 3s;\\r\\n animation-delay: 0s;\\r\\n animation-iteration-count: infinite;\\r\\n animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1);\\r\\n /* z-index: -1; */\\r\\n\\r\\n/*}\\r\\n\\r\\n.request-loader::before {\\r\\n opacity: 0;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n left: 0px;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n content: \\\"\\\";\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n border: 8px solid rgba(0, 0, 0, 0.2);\\r\\n border-radius: 100%;\\r\\n animation-name: ripple;\\r\\n animation-duration: 3s;\\r\\n animation-delay: 0.5s;\\r\\n animation-iteration-count: infinite;\\r\\n animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1);\\r\\n /* z-index: -1; */\\r\\n\\r\\n/*} */\\r\\n\\r\\n.registerLoginSec ul.dropdown-menu {\\r\\n padding: 0;\\r\\n border-radius: 8px;\\r\\n top: 24px !important;\\r\\n left: -68px !important;\\r\\n border: none;\\r\\n box-shadow: 0px 24px 24px rgb(1 73 113 / 30%);\\r\\n}\\r\\n\\r\\n.registerLoginSec ul.dropdown-menu li {\\r\\n font-size: 15px;\\r\\n padding: 5px;\\r\\n}\\r\\n\\r\\n.registerLoginSec ul.dropdown-menu li:hover li a {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.registerLoginSec ul.dropdown-menu li button {\\r\\n color: #17a2b8;\\r\\n font-weight: 600;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.registerLoginSec ul.dropdown-menu li button i {\\r\\n color: #17a2b8;\\r\\n font-size: 26px;\\r\\n margin-right: 1rem;\\r\\n}\\r\\n\\r\\n.registerLoginSec ul.dropdown-menu li:hover button i,\\r\\n.registerLoginSec ul.dropdown-menu li:hover button {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.registerLoginSec ul.dropdown-menu li:first-child {\\r\\n border-bottom: 1px solid #ddd;\\r\\n}\\r\\n\\r\\n.registerLoginSec ul.dropdown-menu::after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: 50px;\\r\\n width: 14px;\\r\\n height: 14px;\\r\\n background: #fff;\\r\\n -webkit-transform: rotate(45deg);\\r\\n transform: rotate(45deg);\\r\\n}\\r\\n\\r\\n.login-btn {\\r\\n background: #01385f;\\r\\n box-shadow: 0px 24px 24px rgba(1, 73, 113, 0.3);\\r\\n border: 0;\\r\\n color: #fff !important;\\r\\n font-weight: bold;\\r\\n font-size: 14px;\\r\\n padding: 10px 25px;\\r\\n border-radius: 3px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.register-btn span,\\r\\n.login-btn span {\\r\\n /* font-family: 'Jost', sans-serif; */\\r\\n}\\r\\n\\r\\n.login-btn {\\r\\n background: #013d5e;\\r\\n}\\r\\n\\r\\n.register-btn {\\r\\n background: #17a2b8;\\r\\n box-shadow: 0px 24px 24px rgba(2, 156, 182, 0.4);\\r\\n border: 0;\\r\\n color: #fff;\\r\\n font-size: 14px;\\r\\n font-weight: bold;\\r\\n padding: 10px 25px;\\r\\n margin-right: 20px;\\r\\n border-radius: 3px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.register-btn:hover {\\r\\n background: #00b1bd;\\r\\n}\\r\\n\\r\\n.site-logo {\\r\\n max-width: 200px;\\r\\n width: 100%;\\r\\n min-width: 140px;\\r\\n}\\r\\n\\r\\nheader ul li a {\\r\\n font-weight: bold;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\nheader {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n padding: 10px 0px;\\r\\n font-size: 16px;\\r\\n background-color: #fff;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n position: fixed;\\r\\n width: 100%;\\r\\n z-index: 999;\\r\\n top: 0;\\r\\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\\r\\n box-shadow: 0 8px 17px 2px rgb(0 0 0 / 14%), 0 3px 14px 2px rgb(0 0 0 / 12%), 0 5px 5px -3px rgb(0 0 0 / 20%);\\r\\n}\\r\\n\\r\\nheader h1,\\r\\nheader h1 a {\\r\\n line-height: 0.5;\\r\\n}\\r\\n\\r\\n.navbar-light .navbar-nav .nav-link {\\r\\n color: #01385f;\\r\\n padding: 0.5rem .7rem;\\r\\n font-weight: 500;\\r\\n /* font-family: 'Jost', sans-serif; */\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.navbar-light .navbar-nav .nav-link#dropdownMenuButton i {\\r\\n padding-left: 5px;\\r\\n}\\r\\n\\r\\n.navbar-light .navbar-nav .nav-link#dropdownMenuButton .dropdown .dropdown-menu {\\r\\n padding: 0;\\r\\n border-radius: 4px;\\r\\n overflow: hidden;\\r\\n top: 27px;\\r\\n}\\r\\n\\r\\n.navbar-light .navbar-nav .nav-link#dropdownMenuButton .dropdown .dropdown-menu .dropdown-item {\\r\\n display: block;\\r\\n width: 100%;\\r\\n padding: 0.4rem 1.5rem;\\r\\n}\\r\\n\\r\\nspan.welcomeName {\\r\\n font-weight: 600;\\r\\n margin-right: 8px;\\r\\n border-right: 1px solid #ccc;\\r\\n padding-right: 10px;\\r\\n color: #17a2b8;\\r\\n font-size: 12px;\\r\\n max-width: 80px;\\r\\n}\\r\\n\\r\\nheader .navbar-light .navbar-nav .nav-link:hover,\\r\\nheader .navbar-light .navbar-nav .nav-link:focus,\\r\\nheader .navbar-light .navbar-nav .nav-link.active {\\r\\n color: #17a2b8;\\r\\n}\\r\\n\\r\\n.lang-btn {\\r\\n background: #fff;\\r\\n /* box-shadow: 0px 20px 20px rgb(1 73 113 / 30%); */\\r\\n border: none;\\r\\n /* color: #fff !important; */\\r\\n font-size: 14px;\\r\\n padding: 2px;\\r\\n border-radius: 3px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.tool-tip-btn {\\r\\n background-color: #ccc;\\r\\n}\\r\\n\\r\\n.lang-img {\\r\\n max-width: 40px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.fa-chevron-down {\\r\\n font-size: 12px;\\r\\n color: #929292;\\r\\n padding-left: 7px;\\r\\n}\\r\\n\\r\\n.brdr-lght {\\r\\n /* border-right: 1px solid #cccccc; */\\r\\n}\\r\\n\\r\\n.bell-icon i {\\r\\n font-size: 20px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.no_noti {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n background: #189bed;\\r\\n z-index: 1;\\r\\n position: absolute;\\r\\n border-radius: 50%;\\r\\n right: 5px;\\r\\n top: 0px;\\r\\n color: #fff;\\r\\n font-size: 10px;\\r\\n line-height: 15px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.natification_box .mat-menu-item>div {\\r\\n width: 90%;\\r\\n white-space: normal;\\r\\n}\\r\\n\\r\\n.natification_box .mat-menu-item div span {\\r\\n font-size: 11px;\\r\\n color: rgba(0, 0, 0, 0.6);\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.natification_box.mat-menu-panel {\\r\\n overflow: hidden;\\r\\n width: 250px;\\r\\n}\\r\\n\\r\\n.natification_box .mat-menu-content {\\r\\n margin: -8px 0;\\r\\n}\\r\\n\\r\\n.natification_box .main-head {\\r\\n background: #01385f;\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding: 8px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.natification_box h3 {\\r\\n margin: 0;\\r\\n color: #fff;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.natification_box button {\\r\\n background: none;\\r\\n border: 0;\\r\\n padding: 0;\\r\\n color: #fff;\\r\\n font-size: 20px;\\r\\n font-weight: 500;\\r\\n line-height: 18px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.natification_box .mat-menu-item {\\r\\n line-height: normal !important;\\r\\n min-height: auto !important;\\r\\n border-bottom: 1px solid #ddd !important;\\r\\n height: auto;\\r\\n padding: 10px 8px;\\r\\n font-size: 14px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.natification_box .unread-noti {\\r\\n background-color: #f5f7f9 !important;\\r\\n}\\r\\n\\r\\n.natification_box i.fa.fa-clock-o {\\r\\n float: right;\\r\\n right: 9px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.main-head.show-all {\\r\\n background: #f5f7f9;\\r\\n text-align: center;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.main-head.show-all button {\\r\\n background: 0 0;\\r\\n padding: 0;\\r\\n border: 0;\\r\\n color: #000;\\r\\n cursor: pointer;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n@media (max-width: 1200px) {\\r\\n header .navbar-light .navbar-nav .nav-link {\\r\\n padding: 5px;\\r\\n font-size: 13px;\\r\\n }\\r\\n .register-btn {\\r\\n font-size: 12px;\\r\\n padding: 10px 15px;\\r\\n margin-right: 10px;\\r\\n }\\r\\n .login-btn {\\r\\n font-size: 12px;\\r\\n padding: 10px 15px;\\r\\n }\\r\\n .lang-btn {\\r\\n font-size: 12px;\\r\\n margin-left: 10px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n header .navbar-light .navbar-nav .nav-link {\\r\\n padding: 5px;\\r\\n font-size: 10px;\\r\\n }\\r\\n .login-btn {\\r\\n font-size: 10px;\\r\\n padding: 10px 5px;\\r\\n }\\r\\n .register-btn {\\r\\n font-size: 10px;\\r\\n margin-right: 5px;\\r\\n padding: 10px 5px;\\r\\n min-width: auto;\\r\\n }\\r\\n \\r\\n header .container {\\r\\n padding: 0;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n header .navbar {\\r\\n position: inherit;\\r\\n }\\r\\n\\r\\n header .navbar-toggler {\\r\\n padding: 2px;\\r\\n }\\r\\n\\r\\n header .navbar-collapse {\\r\\n position: absolute;\\r\\n top: 80px;\\r\\n background: #fff;\\r\\n width: 100%;\\r\\n left: 0px;\\r\\n z-index: 2;\\r\\n }\\r\\n\\r\\n .header-right {\\r\\n position: inherit;\\r\\n }\\r\\n\\r\\n .register-btn {\\r\\n min-width: auto;\\r\\n }\\r\\n\\r\\n header .container {\\r\\n padding: 0 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .category-item {\\r\\n -webkit-transform: scale(0.8);\\r\\n transform: scale(0.8);\\r\\n }\\r\\n header .navbar-collapse {\\r\\n top: 55px;\\r\\n }\\r\\n .lang-btn {\\r\\n font-size: 12px;\\r\\n margin-left: 4px !important;\\r\\n }\\r\\n .lang-img {\\r\\n max-width: 30px;\\r\\n width: 100%;\\r\\n }\\r\\n .login-btn {\\r\\n font-size: 10px;\\r\\n padding: 5px;\\r\\n }\\r\\n .register-btn {\\r\\n padding: 5px !important;\\r\\n margin-right: 5px;\\r\\n }\\r\\n \\r\\n.navbar-light .navbar-nav .nav-link#dropdownMenuButton .dropdown .dropdown-menu .dropdown-item {\\r\\n padding: 0.2rem 1.5rem;\\r\\n font-size: 11px;\\r\\n}\\r\\n\\r\\n header .mat-raised-button {\\r\\n min-width: 50px;\\r\\n }\\r\\n\\r\\n header .mat-raised-button i {\\r\\n line-height: 36px;\\r\\n font-size: 20px;\\r\\n }\\r\\n \\r\\n header .navbar-toggler {\\r\\n margin-right: 5px !important;\\r\\n font-size: 0.80rem;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 480px) {\\r\\n header .mat-raised-button {\\r\\n min-width: 35px;\\r\\n padding: 0px 5px;\\r\\n }\\r\\n\\r\\n span.welcomeName {\\r\\n display: none;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 1200px) {\\r\\n .container1 {\\r\\n max-width: 1195px;\\r\\n }\\r\\n}\\r\\n\\r\\nheader .user-dropdown button {\\r\\n border: 0px;\\r\\n background-color: transparent;\\r\\n width: 70px;\\r\\n height: 50px;\\r\\n}\\r\\n\\r\\n.user-dropdown button img {\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 100px;\\r\\n}\\r\\n\\r\\n@media screen and (max-width:500px) {\\r\\n .no_noti {\\r\\n right: 5px;\\r\\n top: 0px;\\r\\n font-size: 8px;\\r\\n line-height: 12px;\\r\\n font-weight: 600;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\\"logo\\\"\\r\\n \\r\\n

\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{\\r\\n userInfo.firstName +\\r\\n \\\" \\\" +\\r\\n (userInfo.middleName || \\\"\\\") +\\r\\n \\\" \\\" +\\r\\n userInfo.lastName\\r\\n }}\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

{{\\\"notifications\\\"|translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ doc.message }}\\r\\n \\r\\n  {{ doc.timeStamp | date:'MMM d, y, h:mm a' }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{\\\"no_notifications\\\"|translate}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\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 {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectorRef,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { MediaMatcher } from \"@angular/cdk/layout\";\r\nimport { Subscription } from \"rxjs\";\r\nimport {\r\n HeaderInfo,\r\n MessageNotificationModel,\r\n NavItem,\r\n UserDocumentNotificationModel,\r\n} from \"src/app/shared/models\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n Router,\r\n RouteConfigLoadStart,\r\n RouteConfigLoadEnd,\r\n NavigationEnd,\r\n} from \"@angular/router\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { ChangePasswordComponent } from \"src/app/platform/modules/agency-portal/change-password/change-password.component\";\r\nimport { SecurityQuestionModelComponent } from \"src/app/shared/security-question-model/security-question-model.component\";\r\nimport { SubDomainService } from \"src/app/subDomain.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ResponseModel } from \"src/app/super-admin-portal/core/modals/common-model\";\r\nimport * as moment from \"moment\";\r\n\r\n@Component({\r\n selector: \"app-home-header\",\r\n templateUrl: \"./home-header.component.html\",\r\n styleUrls: [\"./home-header.component.css\"],\r\n providers: [SubDomainService],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class HomeHeaderComponent implements OnInit, OnDestroy {\r\n documentNotifications: Array = [];\r\n notificationsURL = \"api/Notification/GetHeaderNotification\";\r\n changeMessageStatusURL = \"api/Message/ChangeMessageStatus\";\r\n totalUnreadNotificationCount: number;\r\n mobileQuery: MediaQueryList;\r\n private _mobileQueryListener: () => void;\r\n private subscription: Subscription;\r\n headerInfo: HeaderInfo;\r\n IsLogin: boolean = false;\r\n IsSignUp: boolean = false;\r\n userInfo: any;\r\n loading: boolean = false;\r\n loaderImage = \"../..//assets/loader.gif\";\r\n loginResponse: any = null;\r\n isPatient: boolean = false;\r\n //loginState: boolean = false;\r\n organizationModel: string;\r\n issession: boolean = false;\r\n userRoleName: any;\r\n userId: any;\r\n messageNotifications: Array = [];\r\n notificationRead: number[] = [];\r\n MarkNotificationById = \"api/Notification/MarkNotificationById\";\r\n pageNumber: number = 1;\r\n constructor(\r\n media: MediaMatcher,\r\n changeDetectorRef: ChangeDetectorRef,\r\n private dialogModal: MatDialog,\r\n private commonService: CommonService,\r\n private subDomainService: SubDomainService,\r\n private translate: TranslateService,\r\n private router: Router //private homeService: HomeService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.mobileQuery = media.matchMedia(\"(min-width: 992px)\");\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n this.subDomainService.subjectlogo.subscribe((res) => {\r\n if (res) {\r\n setTimeout(() => {\r\n this.organizationModel = sessionStorage.getItem(\"logo\");\r\n }, 500);\r\n }\r\n });\r\n }\r\n checkUserLogin() {\r\n this.subscription = this.commonService.loginUser.subscribe(\r\n (user: LoginUser) => {\r\n if (user && user.data) {\r\n this.IsLogin = true;\r\n this.loading = false;\r\n this.userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((this.userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n // console.log(\"UserName\", this.userRoleName);\r\n this.isPatient = true;\r\n this.userInfo = user.patientData;\r\n this.headerInfo = {\r\n user: user.data,\r\n userLocations: user.userLocations || [],\r\n userNavigations: this.getUserNaviagations(user),\r\n };\r\n\r\n this.getHeaderNotifications();\r\n } else {\r\n this.isPatient = false;\r\n this.userInfo = user.data;\r\n this.headerInfo = {\r\n user: user.data,\r\n userLocations: user.userLocations || [],\r\n userNavigations: this.getUserNaviagations(user),\r\n };\r\n\r\n switch ((this.userRoleName || \"\").toUpperCase()) {\r\n case \"CLIENT\":\r\n this.router.navigateByUrl(\"/web/client/dashboard\");\r\n break;\r\n case \"LAB\":\r\n this.router.navigateByUrl(\"/web/lab/dashboard\");\r\n break;\r\n case \"RADIOLOGY\":\r\n this.router.navigateByUrl(\"/web/radiology/dashboard\");\r\n break;\r\n case \"PHARMACY\":\r\n this.router.navigateByUrl(\"/web/pharmacy/dashboard\");\r\n break;\r\n default:\r\n this.router.navigateByUrl(\"/web/dashboard\");\r\n break;\r\n }\r\n\r\n //this.isPatient = false;\r\n //this.redirectToDashboard(\"/web\");\r\n }\r\n\r\n // this.sidebarInfo = {\r\n // navigations: this.getSideNavigations(user),\r\n // };\r\n\r\n // if (!this.isPatient) {\r\n // this.allNavigations = this.sidebarInfo;\r\n // this.updateClientRoutes(null, null);\r\n // }\r\n } else {\r\n }\r\n }\r\n );\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (sessionStorage.getItem(\"logo\")) {\r\n this.organizationModel = sessionStorage.getItem(\"logo\");\r\n }\r\n }\r\n ngOnInit() {\r\n if (sessionStorage.getItem(\"logo\")) {\r\n this.issession = true;\r\n this.organizationModel = sessionStorage.getItem(\"logo\");\r\n }\r\n if (localStorage.getItem(\"access_token\")) {\r\n this.loading = true;\r\n this.IsLogin = true;\r\n } else {\r\n this.IsLogin = false;\r\n }\r\n this.checkUserLogin();\r\n\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.userId = user.userID;\r\n }\r\n });\r\n var asyncLoadCount = 0;\r\n this.redirectToDashboard(this.router.url);\r\n this.router.events.subscribe((event: any) => {\r\n if (event instanceof NavigationEnd) {\r\n this.redirectToDashboard(event.url);\r\n\r\n // on route change toggle sidebar...\r\n //if (window.innerWidth < 991) this.layoutService.toggleSideNav(false);\r\n }\r\n if (event instanceof RouteConfigLoadStart) {\r\n asyncLoadCount++;\r\n } else if (event instanceof RouteConfigLoadEnd) {\r\n asyncLoadCount--;\r\n }\r\n this.loading = !!asyncLoadCount;\r\n });\r\n }\r\n\r\n registerClick() {\r\n let url = \"/web/sign-up\";\r\n this.redirect(url);\r\n // this.IsSignUp = true;\r\n }\r\n\r\n loginClick() {\r\n this.redirect(\"/web/login\");\r\n }\r\n reDirectTo(type: string) {\r\n let url = \"\";\r\n if (this.IsSignUp) {\r\n url = type === \"patient\" ? \"/web/client-signup\" : \"/web/provider-signup\";\r\n }\r\n this.redirect(url);\r\n }\r\n redirect(path) {\r\n this.router.navigate([path]);\r\n }\r\n // setispateintlogin(){\r\n // this.IsLogin=true;\r\n // }\r\n\r\n onSelectUserMenu(item: NavItem) {\r\n switch (item.route) {\r\n case \"/web/sign-out\":\r\n this.commonService.logout();\r\n sessionStorage.setItem(\"redirectTo\", \"\");\r\n this.IsLogin = false;\r\n this.router.navigateByUrl(\"\");\r\n // location.reload();\r\n break;\r\n case \"\":\r\n this.createChangePasswordModal();\r\n break;\r\n default:\r\n if (item.route) this.router.navigateByUrl(item.route); //this.router.navigate([item.route]);\r\n break;\r\n }\r\n }\r\n getUserNaviagations(user: LoginUser) {\r\n let navigations: NavItem[] = [];\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"ADMIN\") {\r\n navigations = [\r\n {\r\n displayName: this.translate.instant('My Profile'),\r\n iconName: '',\r\n route: \"/web/manage-users/user-profile\",\r\n },\r\n // {\r\n // displayName: \"Change Password\",\r\n // iconName: '',\r\n // route: \"\"\r\n // },\r\n {\r\n displayName: this.translate.instant('Settings'),\r\n iconName: '',\r\n route: \"/web/app-config\",\r\n },\r\n {\r\n displayName: this.translate.instant('Sign Out'),\r\n iconName: '',\r\n route: \"/web/sign-out\",\r\n },\r\n ];\r\n } else if ((userRoleName || \"\").toUpperCase() === \"STAFF\") {\r\n navigations = [\r\n {\r\n displayName: this.translate.instant('Dashboard'),\r\n iconName: '',\r\n route: \"/web/dashboard\",\r\n },\r\n {\r\n displayName: this.translate.instant('My Profile'),\r\n iconName: '',\r\n route: \"/web/manage-users/user-profile\",\r\n },\r\n // {\r\n // displayName: \"Change Password\",\r\n // iconName: '',\r\n // route: \"\"\r\n // },\r\n {\r\n displayName: this.translate.instant('Sign Out'),\r\n iconName: '',\r\n route: \"/web/sign-out\",\r\n },\r\n ];\r\n } else if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n navigations = [\r\n // {\r\n // displayName: \"Change Password\",\r\n // iconName: '',\r\n // route: \"\"\r\n // },\r\n {\r\n displayName: this.translate.instant('Dashboard'),\r\n iconName: '',\r\n route: \"/web/client/dashboard\",\r\n },\r\n {\r\n displayName: this.translate.instant('My Profile'),\r\n iconName: '',\r\n route: \"/web/client/my-profile\",\r\n },\r\n {\r\n displayName: this.translate.instant('Sign Out'),\r\n iconName: '',\r\n route: \"/web/sign-out\",\r\n },\r\n ];\r\n } else if ((userRoleName || \"\").toUpperCase() === \"RADIOLOGY\") {\r\n navigations = [\r\n {\r\n displayName: this.translate.instant('Dashboard'),\r\n iconName: '',\r\n route: \"/web/radiology/dashboard\",\r\n },\r\n {\r\n displayName: this.translate.instant('My Profile'),\r\n iconName: '',\r\n route: \"web/manage-users/user-profile\",\r\n },\r\n // {\r\n // displayName: \"Change Password\",\r\n // iconName: '',\r\n // route: \"\"\r\n // },\r\n {\r\n displayName: this.translate.instant('Sign Out'),\r\n iconName: '',\r\n route: \"/web/sign-out\",\r\n },\r\n ];\r\n } else if ((userRoleName || \"\").toUpperCase() === \"LAB\") {\r\n navigations = [\r\n {\r\n displayName: this.translate.instant('Dashboard'),\r\n iconName: '',\r\n route: \"/web/lab/dashboard\",\r\n },\r\n {\r\n displayName: this.translate.instant('My Profile'),\r\n iconName: '',\r\n route: \"web/manage-users/user-profile\",\r\n },\r\n // {\r\n // displayName: \"Change Password\",\r\n // iconName: '',\r\n // route: \"\"\r\n // },\r\n {\r\n displayName: this.translate.instant('Sign Out'),\r\n iconName: '',\r\n route: \"/web/sign-out\",\r\n },\r\n ];\r\n } else if ((userRoleName || \"\").toUpperCase() === \"PROVIDER\") {\r\n navigations = [\r\n {\r\n displayName: this.translate.instant('Dashboard'),\r\n iconName: '',\r\n route: \"/web/dashboard\",\r\n },\r\n {\r\n displayName: this.translate.instant('My Profile'),\r\n iconName: '',\r\n route: \"web/manage-users/user-profile\",\r\n },\r\n // {\r\n // displayName: \"Change Password\",\r\n // iconName: '',\r\n // route: \"\"\r\n // },\r\n {\r\n displayName: this.translate.instant('Sign Out'),\r\n iconName: '',\r\n route: \"/web/sign-out\",\r\n },\r\n ];\r\n } else if ((userRoleName || \"\").toUpperCase() === \"PHARMACY\") {\r\n navigations = [\r\n {\r\n displayName: this.translate.instant('Dashboard'),\r\n iconName: '',\r\n route: \"/web/pharmacy/dashboard\",\r\n },\r\n {\r\n displayName: this.translate.instant('My Profile'),\r\n iconName: '',\r\n route: \"/web/pharmacy/my-profile\",\r\n },\r\n // {\r\n // displayName: \"Change Password\",\r\n // iconName: '',\r\n // route: \"\"\r\n // },\r\n {\r\n displayName: this.translate.instant('Sign Out'),\r\n iconName: '',\r\n route: \"/web/sign-out\",\r\n },\r\n ];\r\n }\r\n return navigations;\r\n }\r\n ourCareClick() {\r\n this.router.navigate([\"/\"], { fragment: \"specialities\" });\r\n }\r\n createChangePasswordModal() {\r\n let chnagePasswordModal;\r\n chnagePasswordModal = this.dialogModal.open(ChangePasswordComponent, {\r\n hasBackdrop: true,\r\n data: {},\r\n });\r\n }\r\n\r\n useLanguage(language: string): void {\r\n localStorage.setItem(\"language\", language);\r\n this.translate.use(language);\r\n window.location.reload();\r\n }\r\n redirectToDashboard(url: string) {\r\n if (url == \"/web\") {\r\n const redirectUrl = this.isPatient\r\n ? \"/web/client/dashboard\"\r\n : this.getDashboardPathBasedOnRoleForProviders();\r\n this.router.navigate([redirectUrl]);\r\n }\r\n }\r\n\r\n getDashboardPathBasedOnRoleForProviders() {\r\n switch ((this.userRoleName || \"\").toUpperCase()) {\r\n case \"LAB\":\r\n return \"/web/lab/dashboard\";\r\n case \"RADIOLOGY\":\r\n return \"/web/radiology/dashboard\";\r\n case \"PHARMACY\":\r\n return \"/web/pharmacy/dashboard\";\r\n default:\r\n return \"/web/dashboard\";\r\n }\r\n }\r\n\r\n openDialogSecurityQuestion() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(SecurityQuestionModelComponent, {\r\n hasBackdrop: true,\r\n data: {},\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n if (result == \"save\") {\r\n location.reload();\r\n // this.checkUserLogin();\r\n // this.IsLogin = true;\r\n }\r\n }\r\n });\r\n }\r\n \r\n ngOnDestroy() {\r\n if (this.subscription && !this.subscription.closed)\r\n this.subscription.unsubscribe();\r\n }\r\n btnClick = function () {\r\n this.router.navigateByUrl(\"/web/client/favourite\");\r\n };\r\n getHeaderNotifications() {\r\n // //////\r\n this.commonService\r\n .getAll(this.notificationsURL+ `?pageNumber=${this.pageNumber}`, {}, false)\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response &&\r\n response.data != undefined &&\r\n response.statusCode == 200\r\n ) {\r\n this.onReceiveNotification(response.data);\r\n this.pageNumber++;\r\n }\r\n });\r\n }\r\n onReceiveNotification(notificationResponse: any) {\r\n if (notificationResponse.userId == this.userId) {\r\n this.messageNotifications =\r\n notificationResponse.messageNotification != undefined\r\n ? notificationResponse.messageNotification\r\n : [];\r\n\r\n const newDocumentNotifications =\r\n notificationResponse.userDocumentNotification != undefined\r\n ? notificationResponse.userDocumentNotification\r\n : notificationResponse.message != undefined\r\n ? [notificationResponse]\r\n : [];\r\n\r\n this.totalUnreadNotificationCount =\r\n notificationResponse.userDocumentNotification &&\r\n notificationResponse.userDocumentNotification.length > 0\r\n ? notificationResponse.userDocumentNotification[0]\r\n .unReadNotificationCount\r\n : 0;\r\n this.documentNotifications = [\r\n ...this.documentNotifications,\r\n ...newDocumentNotifications,\r\n ];\r\n\r\n this.documentNotifications.forEach((v) => {\r\n v.timeStamp = moment\r\n .utc(v.timeStamp)\r\n .local()\r\n .format(\"YYYY-MM-DD, h:mm a\");\r\n switch (v.type) {\r\n case \"UserInvitation\":\r\n v.notificationAction = v.type;\r\n v.message = v.message;\r\n\r\n // v.message = v.patientName + \" has requested appointment at \";\r\n break;\r\n\r\n case \"ChatMessage\":\r\n v.message = v.message;\r\n break;\r\n }\r\n });\r\n }\r\n }\r\n\r\n onScroll(event: any) {\r\n // console.log(\"loading outer.....\");\r\n const element = event.target;\r\n const scrollTop = element.scrollTop;\r\n const clientHeight = element.clientHeight;\r\n const scrollHeight = element.scrollHeight;\r\n\r\n if (scrollTop + clientHeight >= scrollHeight - 2) {\r\n // console.log(\r\n // \"event.target.scrollTop-->\",\r\n // event.target.scrollTop,\r\n // \"event.target.clientHeight-->\",\r\n // event.target.clientHeight,\r\n // \"event.target.scrollHeight\",\r\n // event.target.scrollHeight\r\n // );\r\n // console.log(\"loading inner.....\");\r\n this.loading = true;\r\n this.getHeaderNotifications();\r\n //this.loading=false;\r\n }\r\n }\r\n\r\n markRead(notification: any) {\r\n // console.log(\"readarray\",this.notificationRead)\r\n setTimeout(() => {\r\n if (!this.notificationRead.includes(notification.notificationId)) {\r\n if (notification.notificationId && notification.isActive === true) {\r\n this.commonService\r\n .postWithNoLoader(\r\n this.MarkNotificationById + \"?id=\" + notification.notificationId,\r\n {},\r\n false\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response &&\r\n response.data != undefined &&\r\n response.statusCode == 200\r\n ) {\r\n this.notificationRead.push(notification.notificationId);\r\n }\r\n });\r\n }\r\n }\r\n }, 1);\r\n }\r\n\r\n changeNotificationStatus(messageId: number) {\r\n this.commonService\r\n .post(\r\n this.changeMessageStatusURL +\r\n \"?MessageId=\" +\r\n messageId +\r\n \"&Unread=\" +\r\n false,\r\n {}\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n // //////\r\n // if (response != null && response.statusCode == 200) {\r\n // this.getHeaderNotifications();\r\n // }\r\n });\r\n }\r\n}\r\n","module.exports = \"ul,\\r\\nli {\\r\\n margin: 0px;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n:focus {\\r\\n outline: none;\\r\\n}\\r\\n\\r\\nh3 {\\r\\n font-size: 30px;\\r\\n font-weight: 500;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\nsmall {\\r\\n font-size: 14px;\\r\\n color: #565656;\\r\\n margin-bottom: 30px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #17a2b8 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #17a2b8;\\r\\n border-radius: 3px;\\r\\n}\\r\\n\\r\\n.custom-btn {\\r\\n max-width: 140px;\\r\\n height: 40px;\\r\\n}\\r\\n\\r\\nsection.the-benefits,\\r\\n.meet-doctor,\\r\\nsection.categories,\\r\\nsection.book-doctor,\\r\\n.happy-client {\\r\\n padding: 50px 0;\\r\\n}\\r\\n\\r\\nsection.the-benefits {\\r\\n padding-top: 20px !important;\\r\\n padding-bottom: 30px !important;\\r\\n}\\r\\n\\r\\n/* Our Specialities Section Start */\\r\\n\\r\\n.our-specialities {\\r\\n padding: 60px 0px;\\r\\n background: #f6f5fae6;\\r\\n}\\r\\n\\r\\n.our-specialities .sec-head {\\r\\n text-align: center;\\r\\n margin-bottom: 50px;\\r\\n}\\r\\n\\r\\n.our-specialities .sec-head h2 {\\r\\n font-size: 35px;\\r\\n font-weight: 500;\\r\\n margin-bottom: 15px;\\r\\n color: #17a2b8;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.our-specialities .sec-head h3 {\\r\\n font-size: 35px;\\r\\n font-weight: 800;\\r\\n color: #01385f;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n/*** CUSTOM CSS ***/\\r\\n\\r\\n.tab-btn-sec .nav {\\r\\n margin-bottom: 30px;\\r\\n border-bottom: 2px solid #cadae5;\\r\\n}\\r\\n\\r\\n.tab-btn-sec ul li {\\r\\n margin: 0 !important;\\r\\n}\\r\\n\\r\\n.tab-btn-sec ul li a.nav-link {\\r\\n padding: 10px 20px !important;\\r\\n font-size: 18px !important;\\r\\n border-radius: 10px 10px 0 0 !important;\\r\\n border-color: transparent !important;\\r\\n background: #e6f9fa !important;\\r\\n margin: 0 3px;\\r\\n}\\r\\n\\r\\n.tab-btn-sec ul li a.nav-link i {\\r\\n font-size: 18px !important;\\r\\n}\\r\\n\\r\\n.tab-btn-sec ul li a.nav-link.active {\\r\\n border-radius: 10px 10px 0 0 !important;\\r\\n background: #01385f !important;\\r\\n border: 2px solid #01385f !important;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.tab-btn-sec ul li a.nav-link.active {\\r\\n background: #01385f !important;\\r\\n border: 2px solid #01385f !important;\\r\\n}\\r\\n\\r\\n.tab-btn-sec ul li a.nav-link:hover {\\r\\n color: #03BECA !important;\\r\\n}\\r\\n\\r\\n.our-specialities .sec-head h3 span {\\r\\n color: #01385f;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.our-specialities .link-text {\\r\\n margin-top: 30px;\\r\\n}\\r\\n\\r\\n.our-specialities .link-text a {\\r\\n color: #01385f;\\r\\n font-size: 20px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.spec-card {\\r\\n border-radius: 15px;\\r\\n overflow: hidden;\\r\\n position: relative;\\r\\n box-shadow: 0px 24px 32px -3px rgb(3 9 50 / 4%);\\r\\n margin-bottom: 30px;\\r\\n height: 300px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.spec-card.spec-card::after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 100%;\\r\\n right: 0px;\\r\\n bottom: 0px;\\r\\n background-color: #01385fad;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n transition: 0.5s ease-in-out;\\r\\n}\\r\\n\\r\\n.spec-card:hover.spec-card::after {\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.spec-card .card-img {\\r\\n background-repeat: no-repeat;\\r\\n background-size: cover;\\r\\n background-position: center;\\r\\n width: 100%;\\r\\n height: 230px;\\r\\n border-radius: 22px;\\r\\n}\\r\\n\\r\\n.spec-card:hover .card-img {\\r\\n height: 300px;\\r\\n}\\r\\n\\r\\n.spec-card .card-cont {\\r\\n position: absolute;\\r\\n bottom: 0px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n width: auto;\\r\\n text-align: center;\\r\\n padding: 15px;\\r\\n background: #fff;\\r\\n border-radius: 0px 0px 20px 20px;\\r\\n}\\r\\n\\r\\n.spec-card:hover .card-cont {\\r\\n top: 10vh;\\r\\n color: #fff;\\r\\n background: transparent;\\r\\n z-index: 2;\\r\\n}\\r\\n\\r\\n.spec-card .card-cont h2 {\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n color: #01385f;\\r\\n margin: 10px 0px;\\r\\n -webkit-line-clamp: 2;\\r\\n height: 50px;\\r\\n}\\r\\n\\r\\n.spec-card:hover .card-cont h2 {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.spec-card .card-cont p {\\r\\n display: none;\\r\\n transition: 0.5s;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.spec-card:hover .card-cont p {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.spec-card .card-cont .small-icon {\\r\\n background: #01385f;\\r\\n color: #fff;\\r\\n width: 70px;\\r\\n height: 70px;\\r\\n padding: 10px;\\r\\n border-radius: 50%;\\r\\n box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);\\r\\n margin: auto;\\r\\n margin-top: -17%;\\r\\n line-height: 45px;\\r\\n}\\r\\n\\r\\n.spec-card .small-icon i:before {\\r\\n font-size: 2.3rem;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.spec-card:hover .card-cont .small-icon {\\r\\n background-color: #fff;\\r\\n -webkit-transform: rotateY(360deg);\\r\\n transform: rotateY(360deg);\\r\\n transition: 0.5s ease-in-out;\\r\\n}\\r\\n\\r\\n.spec-card:hover .card-cont .small-icon i::before {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.spec-card:hover .card-cont .icon-icon-women .path2:before {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n/* Our Specialities Section end */\\r\\n\\r\\n/* Our Services Section Start */\\r\\n\\r\\n.our-services {\\r\\n position: relative;\\r\\n padding: 80px 0px;\\r\\n background: #fff;\\r\\n}\\r\\n\\r\\n.our-services::after {\\r\\n content: \\\"\\\";\\r\\n background-image: url('element-1.svg');\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: -4vh;\\r\\n width: 150px;\\r\\n height: 100%;\\r\\n background-repeat: no-repeat;\\r\\n opacity: 0.5;\\r\\n}\\r\\n\\r\\n.our-services::before {\\r\\n content: \\\"\\\";\\r\\n background-image: url('element-2.png');\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: -16vh;\\r\\n width: 150px;\\r\\n height: 100%;\\r\\n background-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.our-services .sec-head {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.our-services .sec-head h2 {\\r\\n font-size: 37px;\\r\\n color: #17a2b8;\\r\\n font-weight: 500;\\r\\n text-transform: uppercase;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.our-services .sec-head h3 {\\r\\n font-size: 38px;\\r\\n font-weight: 700;\\r\\n color: #01385f;\\r\\n margin-bottom: 35px;\\r\\n}\\r\\n\\r\\n.tab-btn-sec {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.tab-btn-sec .nav {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.tab-btn-sec ul li {\\r\\n display: inline-block;\\r\\n margin: 25px;\\r\\n}\\r\\n\\r\\n.tab-btn-sec ul li a.nav-link {\\r\\n padding: 15px 35px;\\r\\n border: 2px solid #03BECA;\\r\\n color: #03BECA;\\r\\n border-radius: 6px !important;\\r\\n font-weight: 500;\\r\\n letter-spacing: 1px;\\r\\n font-size: 22px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.tab-btn-sec ul li a.nav-link:hover {\\r\\n background: #01385f;\\r\\n color: #fff;\\r\\n border-color: #01385f;\\r\\n}\\r\\n\\r\\n.tab-btn-sec ul li a.nav-link i {\\r\\n font-size: 32px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.tab-btn-sec ul li a.nav-link.active {\\r\\n background: #01385f;\\r\\n border: 2px solid #01385f;\\r\\n color: #fff;\\r\\n cursor: pointer;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.serv-card {\\r\\n background: #fff;\\r\\n /* background: #3ac3d636;\\r\\n background: linear-gradient(319.11deg, #AFDFE1 2.11%, #FFFFFF 60.94%); */\\r\\n padding: 20px 20px;\\r\\n border-radius: 15px;\\r\\n min-height: 265px;\\r\\n /* box-shadow: 0px 14px 24px -3px rgb(3 9 50 / 4%); */\\r\\n box-shadow: 0px 0px 12px 0px #00000026;\\r\\n}\\r\\n\\r\\n.serv-card .serv-icon-sec {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin-left: -23px;\\r\\n}\\r\\n\\r\\n/* .serv-card.bg-red {\\r\\n background: linear-gradient(319.11deg, #E0D8BF 2.11%, #FFFFFF 60.94%);\\r\\n}\\r\\n\\r\\n.serv-card.bg-green {\\r\\n background: linear-gradient(319.11deg, #C4DDA0 2.11%, #FFFFFF 60.94%);\\r\\n} */\\r\\n\\r\\n.serv-card img {\\r\\n width: 120px !important;\\r\\n /*margin: auto;*/\\r\\n height: 120px;\\r\\n}\\r\\n\\r\\n.serv-card h3 {\\r\\n font-size: 18px;\\r\\n margin: -15px 0 15px 0px;\\r\\n color: #01385f;\\r\\n font-weight: 700;\\r\\n text-align: left;\\r\\n /* min-height: 45px; */\\r\\n}\\r\\n\\r\\n.serv-card p {\\r\\n font-size: 16px;\\r\\n margin: 0px;\\r\\n line-height: 22px;\\r\\n color: #456ea0;\\r\\n min-height: 105px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.our-services .owl-carousel.owl-drag .owl-item {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n/* Our Services Section End */\\r\\n\\r\\n.home-banner {\\r\\n /* background-image: url(\\\"../../../assets/img/hero-banner.png\\\"); */\\r\\n background-repeat: no-repeat;\\r\\n background-position: top-right;\\r\\n width: 100%;\\r\\n position: relative;\\r\\n /* background-size: auto 100%; */\\r\\n background-size: cover;\\r\\n padding: 10rem 0 5rem 0;\\r\\n margin-top: 4.5rem;\\r\\n}\\r\\n\\r\\n.home-banner .banner-content video {\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n z-index: -1;\\r\\n}\\r\\n\\r\\n.home-banner:before {\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#01385f+0,0fd8ef+100&1+0,0+100 */\\r\\n /* FF3.6-15 */\\r\\n /* Chrome10-25,Safari5.1-6 */\\r\\n background: linear-gradient(to right, #01385fbd 50%, #01385fbd 50%);\\r\\n content: \\\"\\\";\\r\\n top: 0;\\r\\n left: 0;\\r\\n}\\r\\n\\r\\n.banner-content h2 {\\r\\n font-weight: bold;\\r\\n font-size: 70px;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.banner-content h4 {\\r\\n font-size: 42px;\\r\\n color: #fff;\\r\\n margin-bottom: 5%;\\r\\n font-weight: 300;\\r\\n}\\r\\n\\r\\n.banner-content p {\\r\\n font-weight: 300;\\r\\n font-size: 24px;\\r\\n color: #fff;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.banner-content .or_sec h5 {\\r\\n position: relative;\\r\\n text-align: center;\\r\\n align-items: center;\\r\\n vertical-align: middle;\\r\\n margin: 40px 0px;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.banner-content .or_sec h5::after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n left: 50%;\\r\\n top: -40px;\\r\\n height: 35px;\\r\\n width: 2px;\\r\\n background: #fff;\\r\\n}\\r\\n\\r\\n.banner-content .or_sec h5::before {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n left: 50%;\\r\\n bottom: -40px;\\r\\n height: 35px;\\r\\n width: 2px;\\r\\n background: #fff;\\r\\n}\\r\\n\\r\\n.content-area h4 {\\r\\n color: #01385f;\\r\\n font-weight: 600;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.content-area p {\\r\\n font-weight: 500;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.banner-content .white-btn {\\r\\n cursor: pointer;\\r\\n font-size: 20px;\\r\\n width: 100%;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.banner-content .need-sec p {\\r\\n font-size: 20px;\\r\\n text-align: center;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.white-btn input[type=\\\"checkbox\\\"] {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.banner-content h2 span {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.banner-content h3 {\\r\\n color: #fff;\\r\\n font-weight: 500;\\r\\n font-size: 25px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.banner-content form {\\r\\n display: flex;\\r\\n margin: 30px 0px 30px 0px;\\r\\n}\\r\\n\\r\\n.banner-content .form-group {\\r\\n width: 255px;\\r\\n height: 60px;\\r\\n background: #fff;\\r\\n display: flex;\\r\\n color: #000;\\r\\n align-items: center;\\r\\n font-size: 18px;\\r\\n position: relative;\\r\\n margin-right: 30px;\\r\\n box-shadow: 0px 11px 27px rgb(0 0 0 / 16%);\\r\\n border-radius: 3px;\\r\\n}\\r\\n\\r\\n.banner-content .form-group img {\\r\\n position: absolute;\\r\\n left: 15px;\\r\\n max-width: 20px;\\r\\n max-height: 20px;\\r\\n}\\r\\n\\r\\nbutton.search-btn {\\r\\n height: 60px !important;\\r\\n /* min-width: 60px; */\\r\\n font-size: 22px !important;\\r\\n padding: 5px 40px !important;\\r\\n background: #17a2b8;\\r\\n color: #fff;\\r\\n border-radius: 3px !important;\\r\\n box-shadow: 0px 11px 27px rgb(0 0 0 / 16%);\\r\\n}\\r\\n\\r\\nbutton.search-btn:hover {\\r\\n background: #00b1bd;\\r\\n}\\r\\n\\r\\nbutton.search-btn i {\\r\\n font-size: 18px;\\r\\n margin-top: -5px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.white-btn {\\r\\n color: #fff;\\r\\n border: 3px solid #fff;\\r\\n padding: 15px 15px;\\r\\n font-weight: 300;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.banner-content .need-sec p.no_emergency {\\r\\n color: #fff;\\r\\n font-size: 20px;\\r\\n font-weight: 300;\\r\\n margin-top: 10px;\\r\\n font-style: italic;\\r\\n}\\r\\n\\r\\n.white-btn:hover {\\r\\n background: #fff;\\r\\n box-shadow: 0px 11px 27px rgb(0 0 0 / 16%);\\r\\n color: #114971;\\r\\n}\\r\\n\\r\\n.home-banner .ng-select.custom-ng-select {\\r\\n width: 100%;\\r\\n /* padding-left: 32px; */\\r\\n padding-left: 35px;\\r\\n height: 60px;\\r\\n}\\r\\n\\r\\n.home-banner .ng-select.custom-ng-select .ng-select-container {\\r\\n border: 0px;\\r\\n height: 100%;\\r\\n border-radius: 16px !important;\\r\\n}\\r\\n\\r\\n.home-banner .ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input {\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.home-banner .ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 60px;\\r\\n}\\r\\n\\r\\n.home-banner .ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container {\\r\\n border: 0px;\\r\\n box-shadow: none;\\r\\n -webkit-box-shadow: none;\\r\\n}\\r\\n\\r\\n.custom-ng-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\\r\\n font-size: 15px;\\r\\n white-space: normal;\\r\\n}\\r\\n\\r\\n.category-item {\\r\\n padding-top: 3px;\\r\\n display: inline-block;\\r\\n background: #fff;\\r\\n box-shadow: 0px 3px 50px rgb(0 0 0 / 16%);\\r\\n width: 170px;\\r\\n margin: 5%;\\r\\n border-radius: 100%;\\r\\n height: 170px;\\r\\n padding: 20px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.category-items {\\r\\n margin-top: 40px;\\r\\n}\\r\\n\\r\\n.owl-carousel .owl-item .category-circle-icons img {\\r\\n display: inline-block;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.category-circle-icons {\\r\\n width: 90px;\\r\\n height: 90px;\\r\\n line-height: 90px;\\r\\n border-radius: 100px;\\r\\n margin: 0px auto;\\r\\n background: #01385f;\\r\\n}\\r\\n\\r\\n.category-circle-icons img {\\r\\n -webkit-filter: brightness(0) invert(1);\\r\\n filter: brightness(0) invert(1);\\r\\n max-height: 60px;\\r\\n}\\r\\n\\r\\n.category-item label {\\r\\n font-size: 16px;\\r\\n font-weight: 700;\\r\\n margin-top: 13px;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.book-item h5 {\\r\\n font-weight: 600;\\r\\n font-size: 24px;\\r\\n margin: 10px 0px;\\r\\n}\\r\\n\\r\\n.book-doctor-content.book-item h5 {\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n margin: 0;\\r\\n padding-bottom: 12px;\\r\\n}\\r\\n\\r\\n.book-doctor-content p {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.pt-0 {\\r\\n padding-top: 0 !important;\\r\\n}\\r\\n\\r\\n.book-item ul {\\r\\n margin: 0px 0px 20px 0px;\\r\\n padding: 0px;\\r\\n list-style-type: none;\\r\\n}\\r\\n\\r\\n.book-item ul li {\\r\\n position: relative;\\r\\n line-height: 40px;\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-item ul li img {\\r\\n max-width: 16px;\\r\\n display: inline-block !important;\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.book-item li i {\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 8px;\\r\\n color: #565656;\\r\\n}\\r\\n\\r\\n.clini-infos li i {\\r\\n position: relative;\\r\\n font-size: 20px;\\r\\n margin-right: 10px;\\r\\n top: 0;\\r\\n}\\r\\n\\r\\n.profile-btns {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.profile-btns .mat-raised-button {\\r\\n box-shadow: none !important;\\r\\n width: 140px;\\r\\n height: 40px;\\r\\n margin-top: 10px;\\r\\n border-radius: 8px;\\r\\n}\\r\\n\\r\\n.profile-btns button.mat-accent {\\r\\n background-color: transparent;\\r\\n color: #01385f;\\r\\n width: 140px;\\r\\n border: 2px solid #01385f;\\r\\n border-radius: 8px;\\r\\n margin-right: 15px;\\r\\n box-shadow: none !important;\\r\\n}\\r\\n\\r\\n.owl-theme .owl-nav [class*=\\\"owl-\\\"] {\\r\\n border-radius: 100px;\\r\\n font-size: 50px;\\r\\n background-color: transparent;\\r\\n color: #333;\\r\\n position: absolute;\\r\\n top: 32%;\\r\\n}\\r\\n\\r\\n.owl-prev {\\r\\n left: -8%;\\r\\n}\\r\\n\\r\\n.owl-next {\\r\\n right: -8%;\\r\\n}\\r\\n\\r\\n.owl-theme .owl-nav {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.owl-theme .owl-nav [class*=\\\"owl-\\\"]:hover {\\r\\n background: transparent;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\nsection.happy-client {\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.book-doctor-content,\\r\\n.meet-doctor-content {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.book-doctor-content .doc-name a {\\r\\n font-size: 26px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.video-frame {\\r\\n height: 305px;\\r\\n}\\r\\n\\r\\n.meet-doctor-content p {\\r\\n font-weight: 600;\\r\\n margin-left: 7%;\\r\\n}\\r\\n\\r\\n.meet-doctor {\\r\\n background: rgb(24 155 237 / 20%);\\r\\n}\\r\\n\\r\\n.benefit-box {\\r\\n background-image: url('benefit-banner.png');\\r\\n background-size: cover;\\r\\n height: 410px;\\r\\n margin-bottom: 12%;\\r\\n}\\r\\n\\r\\n.content-area {\\r\\n max-width: 740px;\\r\\n margin: auto;\\r\\n background: #fff;\\r\\n padding: 30px;\\r\\n border-radius: 30px;\\r\\n position: relative;\\r\\n top: 70%;\\r\\n box-shadow: 0px 3px 50px rgb(0 0 0 / 16%);\\r\\n}\\r\\n\\r\\n.ssuccessful-bookings {\\r\\n background: #2f2660;\\r\\n padding: 40px 0;\\r\\n margin-top: 60px;\\r\\n}\\r\\n\\r\\n.shape-box {\\r\\n text-align: center;\\r\\n padding: 20px;\\r\\n border-radius: 0 30%;\\r\\n color: #fff;\\r\\n transition: 0.26s all;\\r\\n max-width: 160px;\\r\\n}\\r\\n\\r\\n.shape-box img {\\r\\n max-width: 50px;\\r\\n -webkit-filter: brightness(0) invert(1);\\r\\n filter: brightness(0) invert(1);\\r\\n transition: 0.26s all;\\r\\n}\\r\\n\\r\\n.shape-box:hover img {\\r\\n -webkit-filter: brightness(0%);\\r\\n filter: brightness(0%);\\r\\n}\\r\\n\\r\\n.shape-box:hover {\\r\\n background: #fff;\\r\\n color: #242424;\\r\\n}\\r\\n\\r\\n.contact-outer {\\r\\n background: #e8e8e8;\\r\\n padding: 20px;\\r\\n border-radius: 16px;\\r\\n}\\r\\n\\r\\n.contact-outer h4 {\\r\\n text-transform: capitalize;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.contact-outer p {\\r\\n font-weight: 500;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.cont-search {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n background: #fff;\\r\\n padding: 20px;\\r\\n border-radius: 20px;\\r\\n}\\r\\n\\r\\n.cont-search input {\\r\\n border: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.cont-search button {\\r\\n border-radius: 16px;\\r\\n box-shadow: none !important;\\r\\n width: 140px;\\r\\n font-size: 18px;\\r\\n line-height: 44px;\\r\\n}\\r\\n\\r\\n.banner-contact {\\r\\n min-height: 530px;\\r\\n}\\r\\n\\r\\n/*datepicker css*/\\r\\n\\r\\n.banner-content .form-group ng-datepicker.custom-ng-datepicker .ngx-datepicker-container {\\r\\n padding-left: 34px;\\r\\n}\\r\\n\\r\\n.banner-content .form-group ng-datepicker.custom-ng-datepicker .ngx-datepicker-input {\\r\\n height: 60px;\\r\\n width: 100%;\\r\\n border: 0px;\\r\\n font-size: 18px;\\r\\n padding-left: 18px;\\r\\n border-radius: 16px;\\r\\n}\\r\\n\\r\\n.banner-content .form-group ng-datepicker.custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-calendar-container {\\r\\n top: inherit;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-selected,\\r\\n.main-calendar-days .day-unit:hover {\\r\\n background: #01385f !important;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-today {\\r\\n background: #63d891 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.ng-select .ng-clear-wrapper .ng-clear {\\r\\n padding-top: 8px;\\r\\n}\\r\\n\\r\\n/* .clinic-btn .link-btn{\\r\\n border: 2px solid #01385f;\\r\\n color: #000;\\r\\n font-size: 16px;\\r\\n padding: 9px 25px;\\r\\n border-radius: 10px;\\r\\n cursor: pointer;\\r\\n font-weight: 500;\\r\\n} */\\r\\n\\r\\n.clinic-booking button.mat-raised-button.mat-primary {\\r\\n padding: 3px 10px;\\r\\n box-shadow: none;\\r\\n border-radius: 10px;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mr-5 {\\r\\n margin-right: 50px;\\r\\n}\\r\\n\\r\\n.clini-infos a {\\r\\n color: inherit;\\r\\n}\\r\\n\\r\\n/*datepicker css*/\\r\\n\\r\\n/* .star{\\r\\n font-size: 32px !important;\\r\\n} */\\r\\n\\r\\n/* Checkbox is styled via import */\\r\\n\\r\\n/* .trigger input[type=checkbox] + span {\\r\\n visibility: hidden;\\r\\n opacity: 0;\\r\\n transition: cubic-bezier(0.175, 0.885, 0.32, 1.275);\\r\\n position: absolute;\\r\\n }\\r\\n .trigger input[type=checkbox]:checked + span {\\r\\n visibility: visible;\\r\\n opacity: 1;\\r\\n transition-delay: 0.15s;\\r\\n position: absolute;\\r\\n background-color: rgba(47, 38, 96, .70);\\r\\n border:none;\\r\\n color: #fff;\\r\\n }\\r\\n\\r\\n .msg {\\r\\n display: block;\\r\\n margin-top: 8px;\\r\\n padding: 8px 12px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 3px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n transition: all 300ms cubic-bezier(0.335, 0.01, 0.03, 1.36);\\r\\n }\\r\\n .bounce{\\r\\n position: relative;\\r\\n -webkit-animation: bounce 0.5s linear 2s;\\r\\n -moz-animation: bounce 0.5s linear 0s infinite alternate;\\r\\n -ms-animation: bounce 0.5s linear 0s infinite alternate;\\r\\n -o-animation: bounce 0.5s linear 0s infinite alternate;\\r\\n animation: bounce 0.5s linear 2s;\\r\\n }\\r\\n\\r\\n @-webkit-keyframes bounce {\\r\\n 0% {\\r\\n bottom: 0;\\r\\n }\\r\\n 100% {\\r\\n bottom: 5px;\\r\\n }\\r\\n }\\r\\n @-moz-keyframes bounce {\\r\\n 0% {\\r\\n bottom: 0;\\r\\n }\\r\\n 100% {\\r\\n bottom: 5px;\\r\\n }\\r\\n }\\r\\n @-ms-keyframes bounce {\\r\\n 0% {\\r\\n bottom: 0;\\r\\n }\\r\\n 100% {\\r\\n bottom: 5px;\\r\\n }\\r\\n }\\r\\n @-o-keyframes bounce {\\r\\n 0% {\\r\\n bottom: 0;\\r\\n }\\r\\n 100% {\\r\\n bottom: 5px;\\r\\n }\\r\\n }\\r\\n @keyframes bounce {\\r\\n 0% {\\r\\n bottom: 0;\\r\\n }\\r\\n 100% {\\r\\n bottom: 5px;\\r\\n }\\r\\n }\\r\\n\\r\\n @keyframes bounceAround {\\r\\n 0% {transform:translateY(0);}\\r\\n 20% {transform:translateY(-60px) rotate(0deg);}\\r\\n 25%{transform:translateY(20px) rotate(0deg);}\\r\\n 35%, 55%{transform:translateY(0px) rotate(0deg);}\\r\\n 60% {transform: translateY(-20px) rotate(0deg);}\\r\\n 100%{transform: translateY(-20px) rotate(360deg);}\\r\\n } */\\r\\n\\r\\n.img-hvr.hvr-6 {\\r\\n position: relative;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.img-hvr.hvr-6 .text {\\r\\n opacity: 0;\\r\\n text-align: center;\\r\\n position: absolute;\\r\\n top: 9px;\\r\\n left: 3px;\\r\\n border-radius: 15px;\\r\\n padding: 15px 24px 15px;\\r\\n background-color: #2f2660;\\r\\n transition: opacity 0.3s linear 0s, top 0.3s linear;\\r\\n}\\r\\n\\r\\n.img-hvr.hvr-6 .text h4 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n color: #ffff;\\r\\n width: auto;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.img-hvr.hvr-6:hover .text {\\r\\n opacity: 1;\\r\\n top: 9px;\\r\\n left: 3px;\\r\\n border-radius: 15px;\\r\\n padding: 15px 24px 15px;\\r\\n}\\r\\n\\r\\n.learn-more-btn {\\r\\n position: absolute;\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n.book-doctor {\\r\\n background-image: url('doctor-meet-bg.jpg');\\r\\n background-repeat: no-repeat;\\r\\n background-position: center center;\\r\\n background-size: cover;\\r\\n background-attachment: fixed;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.book-doctor::before {\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#01385f+0,0fd8ef+100&1+0,0+100 */\\r\\n /* FF3.6-15 */\\r\\n /* Chrome10-25,Safari5.1-6 */\\r\\n background: linear-gradient(to right,\\r\\n rgb(190 192 192 / 30%) 14%,\\r\\n rgb(235 235 235 / 70%) 35%,\\r\\n rgb(239 239 239 / 88%) 55%);\\r\\n /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */\\r\\n filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#01385f', endColorstr='#000fd8ef', GradientType=1);\\r\\n /* IE6-9 */\\r\\n content: \\\"\\\";\\r\\n z-index: 0;\\r\\n top: 0;\\r\\n left: 0;\\r\\n}\\r\\n\\r\\n.switch_t {\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n width: 60px;\\r\\n height: 28px;\\r\\n}\\r\\n\\r\\n.switch_t input {\\r\\n opacity: 0;\\r\\n width: 0;\\r\\n height: 0;\\r\\n}\\r\\n\\r\\n.slider_t {\\r\\n position: absolute;\\r\\n cursor: pointer;\\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n background-color: #fff;\\r\\n transition: 0.4s;\\r\\n}\\r\\n\\r\\n.slider_t:before {\\r\\n position: absolute;\\r\\n content: \\\"\\\";\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n left: 8px;\\r\\n bottom: 4px;\\r\\n background-color: #01385f;\\r\\n transition: 0.4s;\\r\\n}\\r\\n\\r\\ninput:checked+.slider_t {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\ninput:focus+.slider_t {\\r\\n box-shadow: 0 0 1px #fff;\\r\\n}\\r\\n\\r\\ninput:checked+.slider_t:before {\\r\\n -webkit-transform: translateX(26px);\\r\\n transform: translateX(26px);\\r\\n}\\r\\n\\r\\n/* Rounded sliders */\\r\\n\\r\\n.slider_t.round {\\r\\n border-radius: 34px;\\r\\n}\\r\\n\\r\\n.slider_t.round:before {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n.meet_doctors {\\r\\n position: relative;\\r\\n padding: 5rem 0;\\r\\n background: #fff;\\r\\n}\\r\\n\\r\\n.meet_doctors::after {\\r\\n content: \\\"\\\";\\r\\n background-image: url('element-1.svg');\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 14vh;\\r\\n width: 240px;\\r\\n height: 100%;\\r\\n background-repeat: no-repeat;\\r\\n opacity: 0.5;\\r\\n}\\r\\n\\r\\n.meet_doctors::before {\\r\\n content: \\\"\\\";\\r\\n background-image: url('element-2.png');\\r\\n position: absolute;\\r\\n right: 0;\\r\\n bottom: -57vh;\\r\\n width: 150px;\\r\\n height: 100%;\\r\\n background-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.meet_doctors .sub_heading {\\r\\n margin-bottom: 3rem;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.meet_doctors .sub_heading h2 {\\r\\n text-transform: uppercase;\\r\\n font-size: 40px;\\r\\n font-weight: 700;\\r\\n color: #17a2b8;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n\\r\\n.meet_doctors .sub_heading h2 span {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.meet_doctors .sub_heading p {\\r\\n color: #3d5a80;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.meet_doctors .doctors_area .doctor_card {\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n\\r\\n.meet_doctors .doctors_area .doctor_card img {\\r\\n width: 100%;\\r\\n margin-bottom: 1rem;\\r\\n height: 380px;\\r\\n -o-object-fit: none;\\r\\n object-fit: none;\\r\\n -o-object-position: top;\\r\\n object-position: top;\\r\\n}\\r\\n\\r\\n.meet_doctors .doctors_area .doctor_card h3 {\\r\\n font-size: 20px;\\r\\n font-weight: 700;\\r\\n color: #1d2b4f;\\r\\n margin-bottom: 0.5rem;\\r\\n}\\r\\n\\r\\n.image-container {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n align-content: center;\\r\\n}\\r\\n\\r\\n#doctor-image {\\r\\n -o-object-fit: contain;\\r\\n object-fit: contain;\\r\\n -o-object-position: center;\\r\\n object-position: center;\\r\\n\\r\\n}\\r\\n\\r\\n.meet_doctors .doctors_area .doctor_card p {\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n color: #5e5e5e;\\r\\n}\\r\\n\\r\\n.member_plan {\\r\\n padding: 5rem 0;\\r\\n background-color: #01385f;\\r\\n background-image: url('member-plan-bg.png');\\r\\n background-repeat: no-repeat;\\r\\n background-position: center center;\\r\\n background-size: cover;\\r\\n}\\r\\n\\r\\n.member_plan .sub_heading {\\r\\n text-align: center;\\r\\n margin-bottom: 3rem;\\r\\n}\\r\\n\\r\\n.member_plan .sub_heading h2 {\\r\\n text-transform: uppercase;\\r\\n font-size: 42px;\\r\\n font-weight: 500;\\r\\n color: #fff;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n\\r\\n.member_plan .sub_heading p {\\r\\n color: rgba(255, 255, 255, 0.6);\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.member_plan .sub_heading .toggle_left_text {\\r\\n margin-left: -4rem;\\r\\n color: #fff;\\r\\n font-weight: 500;\\r\\n font-size: 1rem;\\r\\n position: absolute;\\r\\n left: -3rem;\\r\\n top: 0.25rem;\\r\\n}\\r\\n\\r\\n.member_plan .sub_heading .toggle_right_text {\\r\\n margin-left: 4rem;\\r\\n color: #fff;\\r\\n font-weight: 500;\\r\\n font-size: 1rem;\\r\\n position: absolute;\\r\\n right: -7rem;\\r\\n top: 0.25rem;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .member_card {\\r\\n background-color: #fff;\\r\\n border-radius: 20px;\\r\\n padding: 1.5rem;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .member_card h3 {\\r\\n color: #181059;\\r\\n font-size: 24px;\\r\\n font-weight: 700;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .member_card ul {\\r\\n list-style-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAAAB3RJTUUH5gYRBjQGPei9FQAAAb1JREFUSMdjYBjpgJleFkl94q0Mn6ymxvWO67bepzlzePU42fQkhIRYaG6xI69C9FN19X9dTDL/VPfvZ9zI8JPBX1KSQenf3v9GLi5MNLfYmqn0n+r+/QxzGKsZ/CUlYfL/0xk+/xfq76e+xdCglpjOvywy7+lTCQkBgcjI//9htPhRgZLImT09cA1ycvz8UVGCgpKS/PxRUcbGlPoYl8USXgIXIzd2dmJoFH/D3xu5/do1uAtdBWQim2BBw8hIM4uhACMNMF5m+MJwvaBA4jH//4jHuB0Cj+MwprZ/nfv2MTQyZjG8lpKCKzBiOMgQ0dX1YtsH/eX+5eU4HcB4i/E7o7ynJwMzAxOD4YMHcBlTRkHGsvx88SkC1yOdp0+HOQQWx7gs/r+WIYXBobeXkMVwD8MYoh/5FoQfVVZmusFozbR9/35Gf0ZThruysnCVfAyc/00WLGAo/N/L+NDNjVwf43QADEgcE2iJuiYvzxDK0Pd/y4EDDH8Z/jGcV1DAZQDMxy+tP/QsTy8pIdZiggDmEAlpAaHIrvv3CWYnWgGxafz8UVFKSuJrBdwiTqxdK1HDPzWSq7iY5haPGAAAyMzPB2VWDJ0AAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDYtMTdUMDY6NTI6MDYrMDA6MDBz2AHPAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTA2LTE3VDA2OjUyOjA2KzAwOjAwAoW5cwAAAABJRU5ErkJggg==\\\");\\r\\n min-height: 475px;\\r\\n padding-left: 1.5rem;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .member_card ul li {\\r\\n font-size: 1rem;\\r\\n color: #181059;\\r\\n margin-bottom: 0.75rem;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .member_card ul li span {\\r\\n color: #767676;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .member_card .plan_cost {\\r\\n font-size: 20px;\\r\\n font-weight: 700;\\r\\n text-align: center;\\r\\n color: #181059;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .member_card .plan_cost span {\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .member_card .btn-green {\\r\\n font-size: 18px;\\r\\n background-color: #1ac7cf;\\r\\n color: #fff;\\r\\n border-radius: 3px;\\r\\n border-color: #1ac7cf;\\r\\n padding: 10px;\\r\\n font-size: 500;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .member_card .btn-dark-green {\\r\\n font-size: 20px;\\r\\n background-color: #01385f;\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n border-radius: 3px;\\r\\n padding: 10px;\\r\\n font-weight: 700;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .best-plan {\\r\\n background-color: #03BECA;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .best-plan h3 {\\r\\n color: #fff;\\r\\n font-size: 30px;\\r\\n font-weight: 400;\\r\\n padding-top: 0.5rem;\\r\\n margin-bottom: 0.5rem;\\r\\n line-height: 40px;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .best-plan h3 span {\\r\\n display: block;\\r\\n color: #fff;\\r\\n font-size: 30px;\\r\\n font-weight: 700;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .best-plan p {\\r\\n color: #fff;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n min-height: 16vh;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .best-plan img {\\r\\n position: relative;\\r\\n width: 100%;\\r\\n left: -25px;\\r\\n bottom: -30px;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .best-plan .arrow-sec {\\r\\n width: 100%;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.member_plan .member_area .best-plan .arrow-sec img {\\r\\n width: 25px;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n left: auto;\\r\\n top: 60px;\\r\\n}\\r\\n\\r\\n.review_section {\\r\\n padding: 5rem 0;\\r\\n background: #fff;\\r\\n}\\r\\n\\r\\n.review_section .sub_heading {\\r\\n margin-bottom: 3rem;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.review_section .sub_heading h2 {\\r\\n text-transform: uppercase;\\r\\n font-size: 40px;\\r\\n font-weight: 600;\\r\\n color: #17a2b8;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n\\r\\n.review_section .sub_heading h2 span {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.review_section .sub_heading p {\\r\\n color: #3d5a80;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.review_section .review_area .review_card {\\r\\n margin-bottom: 1.5rem;\\r\\n background: #ffffff;\\r\\n box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.07);\\r\\n border-radius: 12px;\\r\\n padding: 1rem;\\r\\n min-height: 200px;\\r\\n}\\r\\n\\r\\n.review_section .review_area .review_card .review_detail h3 {\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n color: #1d2b4f;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.review_section .review_area .review_card .review_detail p {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n color: #5e5e5e;\\r\\n margin: 0;\\r\\n word-break: break-all;\\r\\n\\r\\n @media screen and (max-width: 767px) {\\r\\n word-break: break-all;\\r\\n }\\r\\n}\\r\\n\\r\\n.review_card .review_detail {\\r\\n display: flex;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n\\r\\n.review_card .review_detail img {\\r\\n width: 44px;\\r\\n height: 44px;\\r\\n border-radius: 30px;\\r\\n margin-right: 1rem;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n.review_card p.review_msg {\\r\\n font-size: 17px;\\r\\n font-weight: 500;\\r\\n line-height: 1.8;\\r\\n color: #5e5e5e;\\r\\n}\\r\\n\\r\\n.book_appoint {\\r\\n background-color: #fff;\\r\\n box-shadow: 0px 4px 34px rgba(0, 0, 0, 0.25);\\r\\n}\\r\\n\\r\\n.book_appoint .border-right {\\r\\n border-right: 1px solid rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n\\r\\n.book_appoint .btn-book-appoint {\\r\\n background: #01385f;\\r\\n border-color: #01385f;\\r\\n box-shadow: 0px 14px 24px rgba(1, 73, 113, 0.4);\\r\\n border-radius: 8px;\\r\\n color: #fff;\\r\\n font-weight: 700;\\r\\n font-size: 20px;\\r\\n width: 80%;\\r\\n margin: 1.5rem auto;\\r\\n display: block;\\r\\n padding: 14px;\\r\\n}\\r\\n\\r\\n.book_appoint .btn-book-appoint:hover {\\r\\n background: #014164;\\r\\n border-color: #014164;\\r\\n}\\r\\n\\r\\n.book_appoint .btn-book-appoint:focus {\\r\\n box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 50%);\\r\\n}\\r\\n\\r\\n.book_appoint .btn-start-membership {\\r\\n background: #01385f;\\r\\n border-color: #01385f;\\r\\n box-shadow: 0px 14px 24px rgba(1, 73, 113, 0.4);\\r\\n border-radius: 8px;\\r\\n color: #fff;\\r\\n font-weight: 700;\\r\\n font-size: 20px;\\r\\n width: 80%;\\r\\n margin: 1.5rem auto;\\r\\n display: block;\\r\\n padding: 14px;\\r\\n}\\r\\n\\r\\n.book_appoint .btn-start-membership:hover {\\r\\n background: #014164;\\r\\n border-color: #014164;\\r\\n}\\r\\n\\r\\n/* button:hover{\\r\\n filter: brightness(85%) !important;\\r\\n color: #fff !important;\\r\\n} */\\r\\n\\r\\nbutton:focus {\\r\\n box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 50%) !important;\\r\\n}\\r\\n\\r\\n.how_it_work {\\r\\n padding: 5rem 0 4rem 0;\\r\\n background-image: url('how-it-work.png');\\r\\n background-size: cover;\\r\\n}\\r\\n\\r\\n.how_it_work .sub_heading {\\r\\n text-align: center;\\r\\n margin-bottom: 3rem;\\r\\n}\\r\\n\\r\\n.how_it_work .sub_heading h2 {\\r\\n text-transform: uppercase;\\r\\n font-size: 40px;\\r\\n font-weight: 600;\\r\\n color: #fff;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n\\r\\n.how_it_work .sub_heading h3 {\\r\\n font-size: 20px;\\r\\n font-weight: 400;\\r\\n color: #03BECA;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n\\r\\n.how_it_work .sub_heading p {\\r\\n color: rgba(255, 255, 255);\\r\\n font-weight: 300;\\r\\n}\\r\\n\\r\\n.how_left_area {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.how_left_area .how_card {\\r\\n display: flex;\\r\\n margin-bottom: 2rem;\\r\\n}\\r\\n\\r\\n.how_left_area .how_card h3 {\\r\\n font-size: 22px;\\r\\n margin-bottom: 1rem;\\r\\n font-weight: 600;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.how_left_area .how_card p {\\r\\n font-size: 16px;\\r\\n color: #fff;\\r\\n margin: 0;\\r\\n line-height: 2.0;\\r\\n font-weight: 300;\\r\\n}\\r\\n\\r\\n.how_left_area .how_card h4 {\\r\\n background-color: #17a2b8;\\r\\n color: #fff;\\r\\n font-size: 26px;\\r\\n width: 55px;\\r\\n min-width: 55px;\\r\\n height: 55px;\\r\\n text-align: center;\\r\\n line-height: 54px;\\r\\n margin: 0;\\r\\n font-weight: 700;\\r\\n border-radius: 30px;\\r\\n margin-left: 1rem;\\r\\n}\\r\\n\\r\\n.how_right_area {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.how_right_area .how_card {\\r\\n display: flex;\\r\\n margin-bottom: 3rem;\\r\\n}\\r\\n\\r\\n.how_right_area .how_card h3 {\\r\\n font-size: 22px;\\r\\n margin-bottom: 1rem;\\r\\n font-weight: 600;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.how_right_area .how_card p {\\r\\n font-size: 16px;\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n line-height: 2.0;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.how_right_area .how_card h4 {\\r\\n background-color: #17a2b8;\\r\\n color: #fff;\\r\\n font-size: 26px;\\r\\n width: 55px;\\r\\n min-width: 55px;\\r\\n height: 55px;\\r\\n text-align: center;\\r\\n line-height: 54px;\\r\\n margin: 0;\\r\\n font-weight: 700;\\r\\n border-radius: 30px;\\r\\n margin-right: 1rem;\\r\\n}\\r\\n\\r\\n.how_mobile img {\\r\\n width: 95%;\\r\\n display: block;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.provider_text {\\r\\n text-align: center;\\r\\n font-weight: 600;\\r\\n font-size: 22px;\\r\\n color: #fff;\\r\\n margin: 22px 0px;\\r\\n}\\r\\n\\r\\n.how_it_work .btn-green {\\r\\n background-color: #1ac7cf;\\r\\n border-color: #1ac7cf;\\r\\n color: #fff;\\r\\n text-align: center;\\r\\n border-radius: 30px;\\r\\n min-width: 195px;\\r\\n display: block;\\r\\n padding: 15px;\\r\\n margin: auto;\\r\\n box-shadow: 0px 44px 54px rgba(2, 156, 182, 0.3);\\r\\n}\\r\\n\\r\\n.how_it_work .btn-green:hover {\\r\\n background-color: #003c5c !important;\\r\\n border-color: #003c5c !important;\\r\\n}\\r\\n\\r\\n.how_it_work .btn-green span {\\r\\n font-family: monospace;\\r\\n}\\r\\n\\r\\n.provider_btm {\\r\\n margin-bottom: -5rem;\\r\\n}\\r\\n\\r\\n.brand_logo {\\r\\n padding: 5rem 0 3rem 0;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.brand_logo ul {\\r\\n display: flex;\\r\\n list-style-type: none;\\r\\n justify-content: space-around;\\r\\n}\\r\\n\\r\\n.brand_logo img {\\r\\n height: 44px;\\r\\n}\\r\\n\\r\\n.owl-theme .owl-dots .owl-dot span {\\r\\n width: 36px;\\r\\n height: 6px;\\r\\n border-radius: 30px;\\r\\n}\\r\\n\\r\\n.owl-theme .owl-dots .owl-dot.active span,\\r\\n.owl-theme .owl-dots .owl-dot:hover span {\\r\\n background: #01385f;\\r\\n}\\r\\n\\r\\n.owl-theme .owl-nav.disabled+.owl-dots {\\r\\n margin-top: 40px;\\r\\n}\\r\\n\\r\\n.rectangle_ad {\\r\\n margin: 2rem 0;\\r\\n}\\r\\n\\r\\n.square_ad {\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.rectangle_ad img {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.square_ad img {\\r\\n width: 100%;\\r\\n height: 250px;\\r\\n}\\r\\n\\r\\n/* .tab-pane .owl-carousel .owl-item {\\r\\n width: 280px !important;\\r\\n margin-left: -20px;\\r\\n}\\r\\n.review_area .owl-carousel .owl-item {\\r\\n width: 370px !important;\\r\\n margin-left: -15px;\\r\\n} */\\r\\n\\r\\n.iphone-container {\\r\\n position: relative;\\r\\n width: 280px;\\r\\n height: 600px;\\r\\n margin: 0 auto;\\r\\n background-color: #1c1c1e;\\r\\n border-radius: 55px;\\r\\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);\\r\\n overflow: hidden;\\r\\n padding: 12px;\\r\\n}\\r\\n\\r\\n.iphone-screen {\\r\\n position: relative;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background-color: #fff;\\r\\n border-radius: 45px;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.dynamic-island {\\r\\n position: absolute;\\r\\n top: 12px;\\r\\n left: 50%;\\r\\n -webkit-transform: translateX(-50%);\\r\\n transform: translateX(-50%);\\r\\n width: 75px;\\r\\n height: 15px;\\r\\n background-color: #000;\\r\\n border-radius: 20px;\\r\\n z-index: 10;\\r\\n}\\r\\n\\r\\n.app-screenshot {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n /* object-fit: cover; */\\r\\n -o-object-fit: fill;\\r\\n object-fit: fill;\\r\\n -o-object-position: top;\\r\\n object-position: top;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n@media screen and (max-width:1200px) {\\r\\n .banner-content h2 {\\r\\n font-size: 50px;\\r\\n }\\r\\n\\r\\n .banner-content h4 {\\r\\n font-size: 32px;\\r\\n margin-bottom: 2%;\\r\\n }\\r\\n\\r\\n .banner-content .form-group {\\r\\n width: 180px;\\r\\n height: auto;\\r\\n font-size: 16px;\\r\\n margin-right: 20px;\\r\\n }\\r\\n\\r\\n .home-banner .ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: auto;\\r\\n }\\r\\n\\r\\n button.search-btn {\\r\\n font-size: 18px !important;\\r\\n padding: 5px 30px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n h3 {\\r\\n font-size: 25px;\\r\\n margin-bottom: 20px;\\r\\n }\\r\\n\\r\\n .banner-content form {\\r\\n margin: 30px auto 20px;\\r\\n }\\r\\n\\r\\n .banner-content .form-group {\\r\\n width: 25%;\\r\\n margin-right: 15px;\\r\\n }\\r\\n\\r\\n button.search-btn {\\r\\n max-width: 25%;\\r\\n padding: 5px 10px !important;\\r\\n font-size: 18px;\\r\\n }\\r\\n\\r\\n .member_plan .member_area .member_card .btn-dark-green,\\r\\n .member_plan .member_area .member_card .btn-green,\\r\\n .member_plan .member_area .member_card ul li,\\r\\n .spec-card .card-cont h2 {\\r\\n font-size: 14px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width:991px) {\\r\\n .banner-content .form-group img {\\r\\n left: 10px;\\r\\n }\\r\\n\\r\\n .home-banner .ng-select.custom-ng-select {\\r\\n padding-left: 27px;\\r\\n height: auto;\\r\\n }\\r\\n\\r\\n .banner-content .form-group {\\r\\n width: 160px;\\r\\n font-size: 14px;\\r\\n }\\r\\n\\r\\n .banner-content .form-group ng-datepicker.custom-ng-datepicker .ngx-datepicker-input {\\r\\n height: auto;\\r\\n font-size: 14px;\\r\\n padding-left: 0;\\r\\n }\\r\\n\\r\\n button.search-btn {\\r\\n font-size: 14px !important;\\r\\n padding: 5px 20px !important;\\r\\n height: 36px !important;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n button.search-btn i {\\r\\n font-size: 11px !important;\\r\\n margin-top: 0;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 767px) {\\r\\n .our-specialities .sec-head h3 {\\r\\n font-size: 25px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width:767px) {\\r\\n .banner-content form {\\r\\n width: 100%;\\r\\n margin: 10px 0px;\\r\\n flex-direction: column;\\r\\n align-items: start;\\r\\n}\\r\\n.banner-content .form-group {\\r\\n width: 210px;\\r\\n}\\r\\nbutton.search-btn {\\r\\n padding: 5px 30px !important;\\r\\n}\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n section {\\r\\n padding-top: 30px;\\r\\n padding-bottom: 30px;\\r\\n }\\r\\n/* \\r\\n .banner-content form {\\r\\n width: 95%;\\r\\n margin: 30px auto 20px;\\r\\n } */\\r\\n\\r\\n .banner-content .form-group,\\r\\n .banner-content .form-group ng-datepicker.custom-ng-datepicker .ngx-datepicker-input {\\r\\n font-size: 16px;\\r\\n }\\r\\n\\r\\n .book-doctor-content,\\r\\n .meet-doctor-content {\\r\\n margin-top: 30px;\\r\\n }\\r\\n\\r\\n .meet-doctor-content p {\\r\\n margin: 0px;\\r\\n }\\r\\n\\r\\n .meet-doctor-content p,\\r\\n .explore-service p,\\r\\n .book-doctor-content p {\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n\\r\\n .content-area {\\r\\n top: 50%;\\r\\n }\\r\\n\\r\\n .owl-theme .owl-nav [class*=\\\"owl-\\\"] {\\r\\n font-size: 45px;\\r\\n background: #fff;\\r\\n width: 40px;\\r\\n opacity: 0.6;\\r\\n box-shadow: 0 0 20px rgb(0 0 0 / 5%);\\r\\n }\\r\\n\\r\\n .owl-prev {\\r\\n left: -15px;\\r\\n }\\r\\n\\r\\n .owl-next {\\r\\n right: 30px;\\r\\n }\\r\\n\\r\\n .owl-theme .owl-nav [class*=\\\"owl-\\\"]:hover {\\r\\n opacity: 1;\\r\\n background: #fff;\\r\\n }\\r\\n\\r\\n body {\\r\\n font-size: 16px;\\r\\n }\\r\\n\\r\\n .meet_doctors {\\r\\n padding: 2rem 0;\\r\\n }\\r\\n\\r\\n .brand_logo {\\r\\n padding: 3rem 0 0;\\r\\n }\\r\\n\\r\\n .meet_doctors .sub_heading h2 {\\r\\n font-size: 25px;\\r\\n margin-bottom: 0.5rem;\\r\\n }\\r\\n\\r\\n .owl-theme .owl-nav.disabled+.owl-dots {\\r\\n margin-top: 10px;\\r\\n }\\r\\n\\r\\n .review_section .sub_heading h2 {\\r\\n font-size: 30px;\\r\\n margin-bottom: 0.5rem;\\r\\n }\\r\\n\\r\\n .review_section {\\r\\n padding: 3rem 0;\\r\\n }\\r\\n\\r\\n .book_appoint .btn-book-appoint {\\r\\n margin: 0.5rem auto;\\r\\n font-size: 20px;\\r\\n }\\r\\n\\r\\n .member_plan .sub_heading h2 {\\r\\n font-size: 30px;\\r\\n margin-bottom: 0.5rem;\\r\\n }\\r\\n\\r\\n .our-specialities {\\r\\n padding: 20px 0px 40px;\\r\\n }\\r\\n\\r\\n .our-services {\\r\\n padding: 30px 0px;\\r\\n }\\r\\n\\r\\n .member_plan .member_area .member_card ul {\\r\\n min-height: auto;\\r\\n }\\r\\n\\r\\n .member_plan .member_area .member_card {\\r\\n margin-bottom: 1.5rem;\\r\\n }\\r\\n\\r\\n footer ul {\\r\\n text-align: center !important;\\r\\n }\\r\\n\\r\\n .our-specialities .sec-head h3 span::after {\\r\\n bottom: -43px;\\r\\n left: 23px;\\r\\n }\\r\\n\\r\\n .how_it_work .sub_heading h2 {\\r\\n font-size: 34px;\\r\\n margin-bottom: 0.5rem;\\r\\n }\\r\\n\\r\\n .tab-btn-sec ul li {\\r\\n display: inline-block;\\r\\n /* margin: 7px; */\\r\\n margin-bottom: 5px !important;\\r\\n }\\r\\n\\r\\n .tab-btn-sec ul li a {\\r\\n padding: 10px 20px;\\r\\n font-size: 20px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 575px) {\\r\\n .category-item {\\r\\n -webkit-transform: scale(0.8);\\r\\n transform: scale(0.8);\\r\\n }\\r\\n .banner-content h4 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0.5%;\\r\\n}\\r\\n.our-specialities .sec-head h2 {\\r\\n font-size: 25px;\\r\\n}\\r\\n.our-services .sec-head h3 {\\r\\n font-size: 18px;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n.our-services .sec-head h2 {\\r\\n font-size: 20px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.tab-btn-sec ul li a.nav-link {\\r\\n padding: 6px !important;\\r\\n font-size: 14px !important;\\r\\n }\\r\\n.how_it_work .sub_heading h2 {\\r\\n font-size: 20px;\\r\\n margin-bottom: 0.5rem;\\r\\n}\\r\\n.how_left_area .how_card h4 {\\r\\n font-size: 26px;\\r\\n width: 45px;\\r\\n min-width: 45px;\\r\\n height: 45px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n.book_appoint .btn-start-membership {\\r\\n margin: 0.7rem auto;\\r\\n font-size: 14px;\\r\\n padding: 8px;\\r\\n}\\r\\n.book_appoint .btn-book-appoint {\\r\\n margin: 0rem auto;\\r\\n font-size: 14px;\\r\\n padding: 8px;\\r\\n}\\r\\n .register-btn {\\r\\n width: auto;\\r\\n }\\r\\n .how_it_work .btn-green {\\r\\n min-width: 155px;\\r\\n padding: 7px;\\r\\n}\\r\\n\\r\\n /* .banner-content {\\r\\n position: inherit;\\r\\n } */\\r\\n\\r\\n .banner-content h2 {\\r\\n font-size: 18px;\\r\\n margin-bottom: 0.5%;\\r\\n line-height: 22px;\\r\\n }\\r\\n .our-specialities .link-text {\\r\\n margin-top: 10px;\\r\\n }\\r\\n\\r\\n\\r\\n .banner-content .form-group {\\r\\n width: 100%;\\r\\n margin: 0px 0px 10px;\\r\\n }\\r\\n\\r\\n button.search-btn {\\r\\n max-width: 100%;\\r\\n margin: 0;\\r\\n }\\r\\n\\r\\n .banner-content h3 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n\\r\\n .social-link {\\r\\n flex-direction: column;\\r\\n padding-top: 15px;\\r\\n }\\r\\n\\r\\n .social-link p {\\r\\n margin-bottom: 0;\\r\\n padding: 0;\\r\\n font-size: 11px;\\r\\n }\\r\\n\\r\\n .contact-links {\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n .content-area {\\r\\n top: 10%;\\r\\n }\\r\\n\\r\\n .shape-box h3,\\r\\n .shape-box h4 {\\r\\n font-size: 22px;\\r\\n }\\r\\n.contented {\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n section.book-doctor {\\r\\n padding: 0px 0;\\r\\n }\\r\\n\\r\\n .banner-content p {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0.5%;\\r\\n line-height: 20px;\\r\\n }\\r\\n .our-specialities .sec-head h3 {\\r\\n font-size: 20px;\\r\\n}\\r\\n.our-specialities .sec-head h2 {\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n .home-banner {\\r\\n background-position: center;\\r\\n }\\r\\n\\r\\n .learn-more-btn {\\r\\n bottom: -55px;\\r\\n left: 0;\\r\\n right: inherit;\\r\\n }\\r\\n\\r\\n .tab-mrg {\\r\\n margin-bottom: 30px;\\r\\n }\\r\\n .how_it_work {\\r\\n padding: 2rem 0 2rem 0;\\r\\n }\\r\\n .how_it_work .sub_heading {\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.how_it_work .sub_heading h3 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0.5rem;\\r\\n}\\r\\n.how_left_area {\\r\\n text-align: left;\\r\\n}\\r\\n.how_left_area .how_card {\\r\\n margin-bottom: 1rem;\\r\\n flex-direction: row-reverse;\\r\\n gap: 20px;\\r\\n}\\r\\n.how_left_area .how_card h3 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0.5rem;\\r\\n}\\r\\n.how_left_area .how_card p {\\r\\n font-size: 13px;\\r\\n}\\r\\n.how_right_area .how_card h3 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0.5rem;\\r\\n}\\r\\n.how_right_area .how_card p {\\r\\n font-size: 13px;\\r\\n}\\r\\n.how_right_area .how_card {\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.provider_text {\\r\\n font-size: 18px;\\r\\n margin: 16px 0px;\\r\\n}\\r\\n.meet_doctors .sub_heading h2 {\\r\\n font-size: 20px;\\r\\n margin-bottom: 0.5rem;\\r\\n}\\r\\n.how_right_area {\\r\\n margin-top: 2rem;\\r\\n}\\r\\n.serv-card img {\\r\\n width: 90px !important;\\r\\n margin: auto;\\r\\n height: 90px;\\r\\n}\\r\\n}\\r\\n\\r\\n@media screen and (max-width:376px) {\\r\\n .home-banner {\\r\\n padding: 5rem 0 5rem 0;\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"your_gate_to_health\\\"|translate}}

\\r\\n

{{'wherever_you_are'|translate}}

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

{{'connect_to_expert_sof_yourc_hoice'|translate}}

\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'check_our_specialities'|translate}}

\\r\\n

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • {{'physicians' |\\r\\n translate}}
  • \\r\\n
  • {{'Nutritionists'\\r\\n |translate}}
  • \\r\\n
  • {{'Paediatrics' |\\r\\n translate}}
  • \\r\\n
  • {{'psychiatrist'\\r\\n |translate}}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n

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

{{'internal_medicine_family_doctor'|translate }}

\\r\\n

{{'internal_medicine_family_doctor_description'|translate }}

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

{{'nose_ears_and_throat_ent'|translate }}

\\r\\n

{{'nose_ears_and_throat_description'|translate }}

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

{{'paediatrics'|translate }}

\\r\\n

{{'paediatrics_description'|translate }}

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

{{'respiratory_chest'|translate }}

\\r\\n

{{'respiratory_chest_description'|translate }}

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

{{'Nutritionist'|translate }}

\\r\\n

{{'nutritionist_description'|translate }}

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

{{'psychology_psychiatry'|translate }}

\\r\\n

{{'psychology_psychiatry_description'|translate }}

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

{{'skin_care'|translate }}

\\r\\n

{{'skin_care_description'|translate }}

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

{{'speech_therapy'|translate }}

\\r\\n

{{'speech_therapy_description'|translate }}

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

{{'our_services'|translate }}

\\r\\n

{{'we_made_it_easy_n_convenient'|translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{'my_healthy_wallet'|translate}}

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

{{'manage_all_your_records_n_app'|translate}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{'appointement_booking'|translate}}

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

\\r\\n {{'book_your_video_home'|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{'privacy'|translate}}

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

\\r\\n {{'attend_you_appointement'|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{\\\"beyond_treatment\\\"|translate}}

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

\\r\\n {{\\\"A_gateway_beyond_medical_treatment_such_as_weight_management_mental_health_counseling\\\"|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{\\\"convenience\\\"|translate}}

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

\\r\\n {{\\\"prescriptions_requests_sents_directly_to_your_pharmacies_labs_or_radiology_centers\\\" |translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{'personalized_dashboard'|translate}}

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

{{'dashboard_that_summerize'|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{'plan_you_schedule'|translate}}

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

{{'set_your_availability'|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{'your_digital_transformation'|translate}}

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

\\r\\n {{'electronics_forms_and_prescriptions_predefined_templates_with_your_own_personal_video_and_logo'|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{\\\"worldwide_access\\\"|translate}}

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

{{\\\"Patient_accesibility_worldwide\\\"|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{\\\"easy_record_management\\\"|translate}}

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

{{\\\"Manage_your_patient_records_history_previous_visits_and_your_saved_notes\\\"|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n

{{\\\"mobile_electronic_medical_records\\\"|translate}}

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

EMR/ EHR : manage patients details and follow ups wherever you are

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n

{{\\\"digital_booking\\\"|translate}}

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

Ability to accept, decline or reschedule\\r\\n\\r\\n Home visits, face to face and Online

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n

{{\\\"multiple_locations_multiple_doctors\\\"|translate}}

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

Manage multiple staff in multiple locations using your master key

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n

{{\\\"manage_clinic_hours_ans_scheduling\\\"|translate}}

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

Set availability for each doctor and block unavailable days

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

{{'how_it_works'|translate}}

\\r\\n

{{'easy_quick_convenient'|translate}}

\\r\\n

{{'Web_App'|translate}}

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

{{'Sign_up'|translate}}

\\r\\n

{{\\\"Browse_the_multifeatured_platform_and_join_free_membership_for_booking\\\" | translate}}

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

01

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

{{'select_your_care'|translate}}

\\r\\n

{{\\\"Select_the_type_of_treatment_you_are_looking_for\\\" | translate}}

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

02

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

{{'choose_a_doctor_specialist'|translate}}

\\r\\n

\\r\\n {{\\\"You_can_check_doctors_profile_and_review_and_make_you_preferred_selection\\\"|translate}}\\r\\n

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

03

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Healthcare\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

04

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

{{'book_your_appointment'|translate}}

\\r\\n

{{\\\"You_can_choose_to_book_a_home_visit_online_or_face_to_face_where_available_at_a_click_of_a_button\\\"\\r\\n |translate}}\\r\\n

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

05

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

{{'save_n_manage_your_records'|translate}}

\\r\\n

{{\\\"All_your_health_documents_results_and_appointments_are_saved_in_My_Care_Library\\\"\\r\\n |translate}}\\r\\n

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

{{'for_providers_n_clinics'|translate}}

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

{{\\\"meet_our_great_doctors\\\"|translate}}

\\r\\n

\\r\\n {{'multiple_health_services'|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\\"Doctor\\r\\n
\\r\\n\\r\\n

{{topPros.firstName}}

\\r\\n

{{topPros.staffSpeciality?topPros.staffSpeciality:'Not Mentioned'}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'book_an_appointment'|translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'start_my_membership'|translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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 { SubDomainService } from \"src/app/subDomain.service\";\r\nimport { HomeService } from \"./home.service\";\r\nimport { Component, OnInit, ViewEncapsulation, ViewChild, ElementRef, OnDestroy } from \"@angular/core\";\r\nimport { OwlOptions } from \"ngx-owl-carousel-o\";\r\nimport { DatepickerOptions } from \"ng2-datepicker\";\r\nimport * as enLocale from \"date-fns/locale/en\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ProviderSearchFilterModel, ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport { HomeHeaderComponent } from \"../home-header/home-header.component\";\r\nimport { SpecialityService } from \"src/app/platform/modules/agency-portal/masters/speciality/speciality.service\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { FilterModel } from \"src/app/super-admin-portal/core/modals/common-model\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { RegisterModelComponent } from \"src/app/shared/register-model/register.component\";\r\nimport { ManageProvidersService } from \"src/app/super-admin-portal/manage-providers/manage-providers.service\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-home\",\r\n templateUrl: \"./home.component.html\",\r\n styleUrls: [\"./home.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HomeComponent implements OnInit, OnDestroy {\r\n @ViewChild(\"myVideo\") readonly myVideo: ElementRef;\r\n myVideoInterval: any = null;\r\n\r\n selectedConsultationType: any[] = [\"Home Visit\", \"Face to Face\", \"Online\"];\r\n selectedSpeciality: any;\r\n selectedService: any;\r\n selectedLocation: any;\r\n selectedDate: any;\r\n membershipAd: any[] = [];\r\n topProviders: any[] = [];\r\n footerAd: any[] = [];\r\n returnUrl: string;\r\n isMemberShipRectangle: boolean = false;\r\n isFooterRectangle: boolean = false;\r\n memberRecPath: string;\r\n footerRecPath: string;\r\n filterModel: ProviderSearchFilterModel;\r\n subcriptionFilterModel: FilterModel;\r\n basicPlan: any = [];\r\n premiumPlan: any = [];\r\n providers: any = [];\r\n totalRecords: number = 0;\r\n metaData: any;\r\n options: DatepickerOptions;\r\n taxonomies: any[] = [];\r\n speciality: any[] = [];\r\n services: any[] = [];\r\n location: any[] = [];\r\n specialityIconName: any;\r\n imageData: any[] = [];\r\n responseSpecialityIconName: any;\r\n tab1Active: boolean = true;\r\n tab2Active: boolean = false;\r\n tab3Active: boolean = false;\r\n showOnView: boolean = false;\r\n customOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: false,\r\n dots: false,//true,\r\n navSpeed: 700,\r\n center: false,\r\n margin: 20,\r\n navText: [\r\n '',\r\n ''\r\n ],\r\n\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 3\r\n },\r\n 940: {\r\n items: 3\r\n }\r\n },\r\n nav: true\r\n };\r\n customOptionsTwo: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: false,\r\n dots: false,//true,\r\n navSpeed: 700,\r\n center: false,\r\n margin: 20,\r\n navText: [\r\n '',\r\n ''\r\n ],\r\n\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 3\r\n },\r\n 940: {\r\n items: 3\r\n }\r\n },\r\n nav: true\r\n };\r\n customOptionsThree: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: false,\r\n dots: false,//true,\r\n margin: 20,\r\n navSpeed: 700,\r\n center: false,\r\n autoplay: true,\r\n navText: [\r\n '',\r\n ''\r\n ],\r\n\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 3\r\n },\r\n 940: {\r\n items: 3\r\n }\r\n },\r\n nav: true\r\n };\r\n\r\n customDoctorOptions: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: false,\r\n dots: true,\r\n autoplay: true,\r\n margin: 20,\r\n navSpeed: 700,\r\n navText: [\r\n '',\r\n ''\r\n ],\r\n\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 3\r\n },\r\n 940: {\r\n items: 3\r\n }\r\n },\r\n nav: true\r\n };\r\n customTestiOptions: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: false,\r\n dots: true,\r\n margin: 20,\r\n autoplay: true,\r\n navSpeed: 700,\r\n center: false,\r\n navText: [\r\n '',\r\n ''\r\n ],\r\n\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 3\r\n },\r\n 940: {\r\n items: 3\r\n }\r\n },\r\n nav: true\r\n };\r\n customLogoOptions: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: false,\r\n dots: false,\r\n autoplay: true,\r\n margin: 20,\r\n navSpeed: 300,\r\n autoplayTimeout: 3000,\r\n navText: [\r\n '',\r\n ''\r\n ],\r\n\r\n responsive: {\r\n 0: {\r\n items: 2\r\n },\r\n 400: {\r\n items: 2\r\n },\r\n 740: {\r\n items: 6\r\n },\r\n 940: {\r\n items: 6\r\n }\r\n },\r\n nav: false\r\n };\r\n carouselSlide: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: true,\r\n navSpeed: 700,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplayHoverPause: true,\r\n\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 3\r\n },\r\n 740: {\r\n items: 5\r\n },\r\n 940: {\r\n items: 5\r\n }\r\n }\r\n };\r\n allTestimonial: any[] = [];\r\n constructor(\r\n private usersService: UsersService,\r\n private domSanitizer: DomSanitizer,\r\n private homeService: HomeService,\r\n private router: Router,\r\n private datepipe: DatePipe,\r\n private commonService: CommonService,\r\n private subDomainService: SubDomainService,\r\n private dialogModal: MatDialog,\r\n private headerComp: HomeHeaderComponent,\r\n private specialityService: SpecialityService,\r\n private translate: TranslateService,\r\n private providerService: ManageProvidersService,\r\n\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.taxonomies = [];\r\n this.speciality = [];\r\n this.location = [];\r\n\r\n let dte = new Date();\r\n dte.setDate(dte.getDate() - 1);\r\n\r\n this.translate.get('select_date')\r\n .subscribe((translatedPlaceholder: string) => {\r\n\r\n this.options = {\r\n minYear: 1970,\r\n maxYear: 2030,\r\n displayFormat: \"MMM D[,] YYYY\",\r\n barTitleFormat: \"MMMM YYYY\",\r\n dayNamesFormat: \"dd\",\r\n firstCalendarDay: 0, // 0 - Sunday, 1 - Monday\r\n locale: enLocale,\r\n minDate: dte, // Minimal selectable date\r\n //maxDate: new Date(Date.now()), // Maximal selectable date\r\n barTitleIfEmpty: \"Click to select a date\",\r\n placeholder: translatedPlaceholder, // HTML input placeholder attribute (default: '')\r\n fieldId: \"my-date-picker\", // ID to assign to the input field. Defaults to datepicker-\r\n useEmptyBarTitle: false // Defaults to true. If set to false then barTitleIfEmpty will be disregarded and a date will always be shown\r\n };\r\n });\r\n\r\n this.filterModel = new ProviderSearchFilterModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.getAdsHome();\r\n this.applyFilter();\r\n this.getSpeciality();\r\n this.getAllSubcriptionPlans();\r\n this.getAllTestimonial();\r\n this.getTopProviders();\r\n this.setupVideoPlay();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (localStorage.getItem(\"business_token\")) {\r\n this.getMasterData(null);\r\n }\r\n else {\r\n const subDomainUrl = this.subDomainService.getSubDomainUrl();\r\n if (subDomainUrl) {\r\n this.subDomainService.verifyBusinessName(subDomainUrl).subscribe();\r\n // this.subDomainService.setupVerifyBusinessResponse(response);\r\n setTimeout(() => {\r\n this.getMasterData(null);\r\n }, 3000);\r\n /* setTimeout(()=>{ // <<<---using ()=> syntax\r\n this.subDomainService.getSubDomainInfo().subscribe(domainInfo => {\r\n if (domainInfo) {\r\n console.log('Home >> ngAfterViewInit 8');\r\n ///localStorage.setItem(\"logo\",\"data:image/png;base64,\" +domainInfo.organization.logoBase64)\r\n this.subDomainService.updateFavicon(\r\n \"data:image/png;base64,\" + domainInfo.organization.faviconBase64\r\n );\r\n \r\n }\r\n });\r\n }, 3000);*/\r\n\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myVideoInterval)\r\n window.clearInterval(this.myVideoInterval);\r\n }\r\n\r\n getTopProviders() {\r\n\r\n this.providerService\r\n .getTopProviders(this.filterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.topProviders = response.data;\r\n } else {\r\n this.topProviders = [];\r\n this.metaData = null;\r\n }\r\n\r\n this.metaData = this.metaData || {};\r\n this.metaData.pageSizeOptions = [5, 10];\r\n });\r\n }\r\n\r\n getAllTestimonial() {\r\n this.homeService\r\n .getAllTestimonial(this.filterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.allTestimonial = response.data;\r\n } else {\r\n this.allTestimonial = [];\r\n }\r\n });\r\n }\r\n Speciality(sin) {\r\n this.router.navigate(['/doctor-list'], { queryParams: { 'searchTerm': sin.globalCodeName } });\r\n }\r\n RedirectToDoctorsList(sp) {\r\n this.router.navigate(['/doctor-list'], { queryParams: { 'searchTerm': sp } });\r\n }\r\n changeSpeciality(evt) {\r\n this.getMasterData(this.selectedSpeciality);\r\n }\r\n getMasterData(globalCodeId: any) {\r\n this.homeService\r\n .getMasterData(\"masterLocation,MASTERTAXONOMY,MASTERSPECIALITY,MASTERSTAFFSERVICE\", true, globalCodeId)\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n this.taxonomies =\r\n response.masterTaxonomy != null ? response.masterTaxonomy : [];\r\n this.speciality =\r\n response.masterSpeciality != null ? response.masterSpeciality : [];\r\n this.location =\r\n response.masterLocation != null ? response.masterLocation : [];\r\n this.services =\r\n response.masterStaffServices != null\r\n ? response.masterStaffServices\r\n : [];\r\n\r\n //this.speciality.push({ id: 0, value: \"More specialties can be populated on request\", disabled: true });\r\n this.speciality.push({ id: 0, value: \"More specialities can be added\", disabled: true });\r\n this.services.push({ id: 0, value: \"More services can be populated on request\", disabled: true });\r\n }\r\n });\r\n }\r\n doctorListingRedirection() {\r\n ////\r\n let spl = this.commonService.encryptValue(this.selectedSpeciality, true);\r\n let srvc = this.commonService.encryptValue(this.selectedService, true);\r\n\r\n // let srvc= this.commonService.encryptValue(this.selectedService, true);\r\n let location = this.commonService.encryptValue(this.selectedLocation, true); //agencyremove\r\n // let location = this.commonService.encryptValue(101, true);\r\n let date = this.datepipe.transform(this.selectedDate, \"yyyy-MM-dd\");\r\n this.router.navigate([\"/doctor-list\"], {\r\n queryParams: { sp: spl, loc: location, d: date, srvc: srvc }\r\n });\r\n }\r\n\r\n openDialogLogin() {\r\n this.router.navigate([\"/web/login-selection\"]);\r\n }\r\n\r\n\r\n\r\n applyFilter() {\r\n\r\n this.setPaginatorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder\r\n );\r\n this.getProviderList(this.filterModel);\r\n }\r\n\r\n getProviderList(\r\n filterModel: ProviderSearchFilterModel,\r\n\r\n ) {\r\n\r\n this.filterModel.Rates = \"\";\r\n this.filterModel.ReviewRating = \"\";\r\n this.homeService.getProviderList(filterModel).subscribe((response: any) => {\r\n\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n\r\n this.providers = response.data;\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords;\r\n } else {\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n // this.showLoader = false;\r\n\r\n });\r\n }\r\n\r\n openSymptomChecker() {\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 0 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n\r\n if (localStorage.getItem(\"access_token\")) {\r\n this.router.navigate(['/symptom-checker']);\r\n return false;\r\n }\r\n });\r\n }\r\n else {\r\n this.router.navigate(['/symptom-checker']);\r\n return false;\r\n }\r\n }\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n\r\n //this.filterModel.Genders.push(\"0\");\r\n //this.filterModel.Specialities.push(this.selectedSpeciality);\r\n }\r\n\r\n redirectToProfilePage(providerId: string) {\r\n\r\n this.router.navigate([\"/doctor-profile\"], {\r\n queryParams: {\r\n id: providerId\r\n }\r\n });\r\n }\r\n\r\n redirectToListing(providerId: string) {\r\n\r\n this.router.navigate([\"/doctor-list\"], {\r\n queryParams: {\r\n providerId: providerId\r\n }\r\n });\r\n }\r\n\r\n bookAppointment(staffId: number, providerId: string) {\r\n\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n // this.headerComp.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // this.headerComp.redirectToDashboard(\"/web\");\r\n // } else {\r\n\r\n //this.headerComp.IsLogin = true;\r\n //this.headerComp.checkUserLogin();\r\n location.reload();\r\n //}\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n // if (result != null && result.response.access_token != \"\") {\r\n\r\n // this.headerComp.IsLogin == true;\r\n // this.headerComp.checkUserLogin();\r\n // }\r\n });\r\n } else {\r\n //this.openDialogBookAppointment(staffId, providerId);\r\n }\r\n //let staffId = this.commonService.encryptValue(id);\r\n }\r\n\r\n getSpeciality() {\r\n\r\n this.specialityService.getSpecialityIconName().subscribe((response: any) => {\r\n if (response != null) {\r\n\r\n this.responseSpecialityIconName = response.data;\r\n if (this.responseSpecialityIconName != null && this.responseSpecialityIconName.length > 0) {\r\n this.responseSpecialityIconName.forEach(app => {\r\n\r\n app.specialityIcon = this.domSanitizer.bypassSecurityTrustUrl(app.specialityIcon);\r\n });\r\n\r\n this.specialityIconName = this.responseSpecialityIconName;\r\n }\r\n\r\n // console.log(this.specialityIconName);\r\n\r\n // this.imagePreview = this.specialityModel.photoThumbnailPath;\r\n }\r\n });\r\n }\r\n\r\n getAdsHome() {\r\n this.homeService.getAdsHome(true).subscribe((response: any) => {\r\n if (response != null && response.data) {\r\n this.imageData = response.data;\r\n this.membershipAd = response.data.filter(d => d.position == \"Membership\");\r\n if (this.membershipAd != null && this.membershipAd.length > 0) {\r\n this.isMemberShipRectangle = this.membershipAd[0].size == \"2\";\r\n this.memberRecPath = this.membershipAd[0].photoPath;\r\n }\r\n this.footerAd = response.data.filter(d => d.position == \"Footer\");\r\n if (this.footerAd != null && this.footerAd.length > 0) {\r\n this.isFooterRectangle = this.footerAd[0].size == \"2\";\r\n this.footerRecPath = this.footerAd[0].photoPath;\r\n }\r\n }\r\n });\r\n }\r\n\r\n tabActiveTwo(eve) {\r\n this.tab1Active = false;\r\n this.tab2Active = false;\r\n this.tab3Active = false;\r\n if (eve == 1) {\r\n this.tab1Active = true;\r\n } else if (eve == 2) {\r\n this.tab2Active = true;\r\n } else {\r\n this.tab3Active = true;\r\n }\r\n }\r\n\r\n showAllServices() {\r\n this.router.navigate([\"/our-speciality\"]);\r\n\r\n }\r\n\r\n\r\n getAllSubcriptionPlans() {\r\n this.homeService.getAllSubscriptionPlans(true).subscribe((response: any) => {\r\n this.basicPlan = response.data.filter(e => e.planType == \"Basic\");\r\n this.premiumPlan = response.data.filter(e => e.planType == \"Premium\");\r\n });\r\n }\r\n registerClick() {\r\n // let url = \"/web/sign-up\";\r\n // this.redirect(url);\r\n // this.IsSignUp = true;\r\n let dbModal;\r\n dbModal = this.dialogModal.open(RegisterModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n\r\n });\r\n }\r\n loginClick() {\r\n let dbModal;\r\n if (localStorage.getItem(\"UserRole\") != \"CLIENT\") {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (response.statusCode >= 400 && response.statusCode < 500 && response.message\r\n ) {\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n this.headerComp.loading = false;\r\n } else {\r\n this.returnUrl = \"web/client/subscriptionplan\";\r\n this.router.navigate([this.returnUrl]);\r\n }\r\n });\r\n }\r\n else {\r\n this.returnUrl = \"web/client/subscriptionplan\";\r\n this.router.navigate([this.returnUrl]);\r\n return false;\r\n }\r\n }\r\n\r\n howItWorksClick() {\r\n let url = \"/providers\";\r\n this.redirect(url);\r\n }\r\n\r\n redirect(path) {\r\n this.router.navigate([path]);\r\n }\r\n\r\n private setupVideoPlay() {\r\n this.myVideoInterval = window.setInterval(() => {\r\n const video = this.myVideo.nativeElement;\r\n\r\n try {\r\n if (video && (video.paused || video.ended))\r\n video.play();\r\n }\r\n catch (ex) { }\r\n }, 2000);\r\n }\r\n}\r\n\r\n","import { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { debug } from \"util\";\r\nimport { HttpHeaders, HttpClient } from \"@angular/common/http\";\r\nimport { Observable, Subject, BehaviorSubject } from \"rxjs\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { FilterModel } from \"src/app/platform/modules/core/modals/common-model\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class HomeService {\r\n private loginSubject = new BehaviorSubject(false);\r\n specialityIcon: any;\r\n loginState = this.loginSubject.asObservable();\r\n private loadingStateSubject = new Subject();\r\n public loadingState = this.loadingStateSubject.asObservable();\r\n private getMasterDataUrl: string = \"Home/MasterDataByName\";\r\n private getLabListUrl: string = \"Home/LabApprovedList\";\r\n private getPharmacyListUrl: string = \"Home/PharmacyApprovedList\";\r\n private getProviderListUrl: string = \"Home/ProviderAvailableList\";\r\n private getRadiolodyListUrl: string = \"Home/RadiologyAvailableList\";\r\n private getSortedProviderListUrl: string = \"Home/SortedProviderAvailableList\";\r\n private getsearchtextProviderListUrl: string =\r\n \"Home/SearchTextProviderAvailableList\";\r\n private getAdsURL: string = \"Pharmacy/GetAdsOnHome\";\r\n //private getProviderListUrl: string = \"Payers/ProviderAvailableListForMobile\";\r\n private getProviderDetailUrl: string = \"Home/ProviderProfile?id=\";\r\n private getRatingReviewsUrl: string =\r\n \"ReviewRatings/ReviewRatingByStaffId?id=\";\r\n private getReviewRatingByStaffIdInProfileUrl: string =\"ReviewRatings/ReviewRatingByStaffIdInProfile?id=\";\r\n private getAllSubscriptionPlansUrl: string =\r\n \"SubcriptionPlan/GetAllSubscriptionPlans\";\r\n private getProviderLocationsAndAvailibilityDetailUrl: string =\r\n \"Home/GetStaffLocationWithAvailability?id=\";\r\n private checkIsValidAppointmentURL =\r\n \"Home/CheckIsValidAppointmentWithLocation\";\r\n private getOrganizationDetailUrl = \"Home/GetOrganizationDetail\";\r\n private getOTSessionUrl: string = \"Home/GetOTSession?invitationId=\";\r\n private getAverageRatingDetailUrl: string =\r\n \"ReviewRatings/ReviewRatingAverage?id=\";\r\n private getVideoArchiveDetailUrl: string =\r\n \"Home/GetVideoRecording?archiveId=\";\r\n private getByGlobalCodeIdURL: String =\r\n \"Home/GetMasterServicesByGlobalCodeId?globalCodeId=\";\r\n private getUrgentCareProviderListUrl: string =\r\n \"Home/UrgentCareProviderAvailableList\";\r\n private getsearchtextUrgentCareProviderListUrl: string =\r\n \"Home/SearchTextUrgentCareProviderAvailableList\";\r\n private getSortedUrgentCareProviderListUrl: string =\r\n \"Home/SortedUrgentCareProviderAvailableList\";\r\n private getAllTestimonialURL = \"Home/GetAllTestimonial\";\r\n getTopProviderURL: string = \"Staffs/GetTopProviders\";\r\n\r\n constructor(private http: HttpClient, private commonService: CommonService) {\r\n //this.loadingStateSubject=this.loadingStateSubject;\r\n }\r\n checkLoginState(value: boolean) {\r\n this.loginSubject.next(value);\r\n }\r\n getAllTestimonial(filterModel: FilterModel) {\r\n let url = `${this.getAllTestimonialURL}?pageNumber=1&pageSize=50&sortColumn=name`;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getMasterData(value: string = \"\",isLoading: boolean = true,globalCodeId: any[] = []): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${\r\n this.getMasterDataUrl + \"?globalCodeId=\" + globalCodeId\r\n }`,\r\n { masterdata: value },\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n\r\n }\r\n getProviderList(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getLabList(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(`${environment.api_url}/${this.getLabListUrl}`, postData, {\r\n headers: headers,\r\n })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getRadiologyList(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getRadiolodyListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getTopProviders(filterModel: FilterModel) {\r\n let url: string = `${this.getTopProviderURL}?pageNumber=${filterModel.pageNumber}&pageSize=10&sortColumn=${filterModel.sortColumn}&sortOrder=${filterModel.sortOrder}&searchText=${filterModel.searchText}`;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getPharmacyList(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getPharmacyListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getSortProviderList(\r\n postData: any,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getSortedProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getSortLabList(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getSortedProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getSortPharmacyList(\r\n postData: any,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getSortedProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getsearchtextProviderList(\r\n postData: any,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getsearchtextProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getsearchtextLabList(\r\n postData: any,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getsearchtextProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getsearchtextPharmacyList(\r\n postData: any,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getsearchtextProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getUrgentCareProviderList(\r\n postData: any,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getUrgentCareProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getsearchtextUrgentCareProviderList(\r\n postData: any,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getsearchtextUrgentCareProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getSortUrgentCareProviderList(\r\n postData: any,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getSortedUrgentCareProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getAdsHome(isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(`${environment.api_url}/${this.getAdsURL}`, {\r\n headers: headers,\r\n })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getProviderDetail(id: string, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(`${environment.api_url}/${this.getProviderDetailUrl}${id}`, {\r\n headers: headers,\r\n })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getAverageRating(id: string, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getAverageRatingDetailUrl}${id}`,\r\n {\r\n headers: headers,\r\n }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getProviderLocationAndAvailibilityDetail(\r\n id: string,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getProviderLocationsAndAvailibilityDetailUrl}${id}`,\r\n {\r\n headers: headers,\r\n }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n checkIsValidAppointment(\r\n appointmentData: any,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const postJson = appointmentData;\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.checkIsValidAppointmentURL}`,\r\n postJson,\r\n {\r\n headers: headers,\r\n }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getOrganizationDetail(isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(`${environment.api_url}/${this.getOrganizationDetailUrl}`, {\r\n headers: headers,\r\n })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getOTSessionDetail(\r\n invitationId: string,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getOTSessionUrl}${invitationId}`,\r\n {\r\n headers: headers,\r\n }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n\r\n getRatingReviews(\r\n id: string,\r\n isLoading: boolean = true,\r\n pageNumber: number,\r\n pageSize: number\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getRatingReviewsUrl}${id}&pageNumber=${pageNumber}&pageSize=${pageSize}`,\r\n {\r\n headers: headers,\r\n }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getRatingReviewsInProfile(\r\n id: string,\r\n isLoading: boolean = true,\r\n pageNumber: number,\r\n pageSize: number\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getReviewRatingByStaffIdInProfileUrl}${id}&pageNumber=${pageNumber}&pageSize=${pageSize}`,\r\n {\r\n headers: headers,\r\n }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getVideoArchiveDetail(\r\n archiveId: string = \"\",\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getVideoArchiveDetailUrl}${archiveId}`,\r\n {\r\n headers: headers,\r\n }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getAllSubscriptionPlans(isLoading: boolean = true) {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getAllSubscriptionPlansUrl}`,\r\n // postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n}\r\n","module.exports = \".lds-facebook {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n height: 70vh;\\r\\n /* background-color: #014a712a; */\\r\\n /* background-color: linear-gradient(#01385ffc,#17a2b8); */\\r\\n}\\r\\n\\r\\n.lds-facebook div {\\r\\n display: inline-block;\\r\\n margin-left: 2px;\\r\\n width: 12px;\\r\\n /* background: linear-gradient(#01385ffc,#17a2b8); */\\r\\n background: #17a2b8;\\r\\n -webkit-animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;\\r\\n animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;\\r\\n}\\r\\n\\r\\n.lds-facebook div:nth-child(1) {\\r\\n -webkit-animation-delay: -0.24s;\\r\\n animation-delay: -0.24s;\\r\\n}\\r\\n\\r\\n.lds-facebook div:nth-child(2) {\\r\\n -webkit-animation-delay: -0.12s;\\r\\n animation-delay: -0.12s;\\r\\n}\\r\\n\\r\\n.lds-facebook div:nth-child(3) {\\r\\n -webkit-animation-delay: 0;\\r\\n animation-delay: 0;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes lds-facebook {\\r\\n 0% {\\r\\n top: 8px;\\r\\n height: 64px;\\r\\n }\\r\\n\\r\\n 50%,\\r\\n 100% {\\r\\n top: 24px;\\r\\n height: 32px;\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes lds-facebook {\\r\\n 0% {\\r\\n top: 8px;\\r\\n height: 64px;\\r\\n }\\r\\n\\r\\n 50%,\\r\\n 100% {\\r\\n top: 24px;\\r\\n height: 32px;\\r\\n }\\r\\n}\\r\\n\\r\\n.lab_book_appoint .appointment-panel {\\r\\n overflow-y: scroll;\\r\\n height: 80vh;\\r\\n}\\r\\n\\r\\n.img-fluid {\\r\\n max-width: 100%;\\r\\n /* height: auto; */\\r\\n height: 100%;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n}\\r\\n\\r\\n::ng-deep .date-with-dot {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n::ng-deep .date-with-dot::after {\\r\\n content: '' !important;\\r\\n position: absolute !important;\\r\\n bottom: 2px !important;\\r\\n left: 50% !important;\\r\\n -webkit-transform: translateX(-50%) !important;\\r\\n transform: translateX(-50%) !important;\\r\\n height: 4px !important;\\r\\n width: 4px !important;\\r\\n background-color: red !important;\\r\\n border-radius: 50% !important;\\r\\n display: block !important;\\r\\n z-index: 9999 !important; \\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"home\\r\\n
\\r\\n

\\r\\n {{ labData.clinicName?labData.clinicName:labData.fullName }}\\r\\n

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

{{ 'book_an_appointement' | translate }}

\\r\\n

\\r\\n {{ 'please_select_a_date_and_time_and_then_pay_to_confirm_your_appointment' | translate }}\\r\\n

\\r\\n
\\r\\n
{{\\\"appointment_booked\\\"| translate}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{\\\"select_date_and_time\\\"|translate}}\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ type === 'New' ? ('new' | translate) : type }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ mode === 'Face to Face' ? ('face_to_face' | translate) : mode &&\\r\\n mode === 'Home Visit' ? ('home_visit' | translate) : mode }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{\\r\\n labData.ftFpayRate | currency: \\\"JOD\\\":\\\"symbol-narrow\\\"\\r\\n }}\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\r\\n labData.homeVisitPayRate | currency: \\\"JOD\\\":\\\"symbol-narrow\\\"\\r\\n }}\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Home service is not available on this date. Please choose\\r\\n another date.\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{\\\"book_and_pay\\\"|translate}}\\r\\n
\\r\\n {{\\\"Please select appointment slot first to book in previous step, then pay here\\\"|translate}}.\\r\\n
\\r\\n
\\r\\n

\\r\\n {{\\\"you_are_requesting_booking_for\\\"|translate}}  {{ labData.fullName }}\\r\\n
\\r\\n {{ confirmation.date | date: \\\"fullDate\\\" }} between\\r\\n {{ selectedSlotTime.startTime }} to\\r\\n {{ selectedSlotTime.endTime }}\\r\\n

\\r\\n \\r\\n
\\r\\n {{\\\"we_will_send_you_an_email\\\"|translate}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n {{ file.fileName }}\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ fts.label }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n By ticking you have agreed to our {{'terms_and_conditions'|translate}} and read our {{'privacy_policy'|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n You don't have any previous appointment with this provider\\r\\n within allowed days.\\r\\n \\r\\n {{\\\"please_select_terms_and_conditions\\\"|translate}}\\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\\\" | translate}}

\\r\\n

\\r\\n \\r\\n Your request for Appointment has been successfully submitted.\\r\\n
\\r\\n\\r\\n Appointment Date:  {{ confirmation.date | date: \\\"fullDate\\\" }} between\\r\\n {{ selectedSlotTime.startTime }} to\\r\\n {{ selectedSlotTime.endTime }}.\\r\\n

\\r\\n

\\r\\n You will get a mail for further updates.\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\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, DOCUMENT } from \"@angular/common\";\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n Inject,\r\n OnInit,\r\n Renderer2,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport {\r\n MatAutocomplete,\r\n MatAutocompleteSelectedEvent,\r\n MatChipInputEvent,\r\n MatDialog,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n MatCalendar,\r\n} from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\nimport { Observable } from \"rxjs\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services/common.service\";\r\nimport { SchedulerService } from \"src/app/platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { FollowupAppointmentComponent } from \"src/app/shared/followup-appointment/followup-appointment.component\";\r\nimport { HyperPayComponent } from \"src/app/shared/hyper-pay/hyper-pay.component\";\r\nimport { ResponseModel } from \"src/app/super-admin-portal/core/modals/common-model\";\r\nimport { LoginUser } from \"src/app/super-admin-portal/core/modals/loginUser.modal\";\r\nimport { HomeService } from \"../../home/home.service\";\r\nimport { SaveDocumentComponent } from \"../../save-document/save-document.component\";\r\nimport { TermsConditionModalComponent } from \"../../terms-conditions/terms-conditions.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\nconst getDateTimeString = (date: string, time: string): string => {\r\n const y = new Date(date).getFullYear(),\r\n m = new Date(date).getMonth(),\r\n d = new Date(date).getDate(),\r\n splitTime = time.split(\":\"),\r\n hours = parseInt(splitTime[0] || \"0\", 10),\r\n minutes = parseInt(splitTime[1].substring(0, 2) || \"0\", 10),\r\n meridiem = splitTime[1].substring(3, 5) || \"\",\r\n updatedHours =\r\n (meridiem || \"\").toUpperCase() === \"PM\" && hours != 12\r\n ? hours + 12\r\n : hours;\r\n\r\n const startDateTime = new Date(y, m, d, updatedHours, minutes);\r\n\r\n return format(startDateTime, \"YYYY-MM-DDTHH:mm:ss\");\r\n};\r\n\r\n@Component({\r\n selector: \"app-lab-book-appointment-modal\",\r\n templateUrl: \"./lab-book-appointment-modal.component.html\",\r\n styleUrls: [\"./lab-book-appointment-modal.component.css\"],\r\n})\r\nexport class LabBookAppointmentModalComponent implements OnInit, AfterViewInit {\r\n isProfileLoaded: boolean = true;\r\n isNotBooked: boolean;\r\n isLinear = false;\r\n labData: any;\r\n showLoader: boolean = false;\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n thirdFormGroup: FormGroup;\r\n appointmenType: any = [\"New\"];\r\n confirmation: any = { type: \"New\", mode: \"Face to Face\" };\r\n IsPreviousFollowup: boolean = false;\r\n appointmentMode: any = [\"Face to Face\", \"Home Visit\"];\r\n providerAvailiabilitySlots: any = [];\r\n locationId: number;\r\n staffAvailability: any;\r\n patientAppointments: any[];\r\n userData: any;\r\n providerAvailableDates: any = [];\r\n providerNotAvailableDates: any = [];\r\n uploadImageData;\r\n fileList: any = [];\r\n documentNotes: { documentTitle: string, documentTypeId: string }[] = [];\r\n userControl = new FormControl();\r\n @ViewChild(\"userInput\") userInput: ElementRef;\r\n @ViewChild(\"auto\") matAutocomplete: MatAutocomplete;\r\n symptoms: any = [];\r\n filteredSymptoms$: Observable;\r\n istermsconditionchecked: boolean = false;\r\n showselecttermscondition: boolean = false;\r\n isNotify = false;\r\n lastFollowupData: any;\r\n submitted: boolean = false;\r\n newfollowupfees: boolean = false;\r\n Message: any;\r\n local_apptid: number;\r\n Organization: any;\r\n appointmentModeId: number;\r\n selectedDate: string;\r\n selectedSlotTime: { startTime: string, endTime: string } = { startTime: \"\", endTime: \"\" };\r\n isRadiologyLogin: boolean;\r\n currentSelectedDate: Date = new Date();\r\n startDateTimes: any[] = [];\r\n initialized: boolean;\r\n currentMonth: number = this.currentSelectedDate.getMonth();\r\n currentYear: number = this.currentSelectedDate.getFullYear();\r\n @ViewChild('calendar') calendar: MatCalendar;\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private notifierService: NotifierService,\r\n private datePipe: DatePipe,\r\n private _formBuilder: FormBuilder,\r\n private usersService: UsersService,\r\n private dialogModal: MatDialog,\r\n private schedulerService: SchedulerService,\r\n private commonService: CommonService,\r\n private userService: UsersService,\r\n private homeService: HomeService,\r\n private renderer2: Renderer2,\r\n private translate: TranslateService,\r\n private router: Router,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n // console.log(this.data);\r\n if (this.data.roleId == 329) {\r\n this.isRadiologyLogin == true;\r\n this.appointmentMode = [\"Face to Face\"];\r\n this.confirmation.mode = \"Face to Face\";\r\n } else if (this.data.roleId == 325) {\r\n this.isRadiologyLogin == false;\r\n this.appointmentMode = [\"Face to Face\", \"Home Visit\"];\r\n this.confirmation.mode = \"Home Visit\";\r\n }\r\n\r\n this.labData = data;\r\n // console.log(\r\n // \"this.labdata from lab book appoinmtnet component\",\r\n // this.labData\r\n // );\r\n this.locationId = data.locationID;\r\n //Initially mode is \"home visit\"\r\n //this.confirmation.mode=\"home visit\"\r\n }\r\n\r\n ngOnInit() {\r\n this.Message = null;\r\n this.homeService.getOrganizationDetail().subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.Organization = response.data;\r\n }\r\n });\r\n\r\n this.commonService.loginUser.subscribe((user) => {\r\n this.userData = user;\r\n //console.log(user);\r\n });\r\n\r\n const s = this.renderer2.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n\r\n this.isNotBooked = true;\r\n this.firstFormGroup = this._formBuilder.group({\r\n appointmentDate: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required],\r\n });\r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: [\"\", Validators.required],\r\n });\r\n this.thirdFormGroup = this._formBuilder.group({\r\n Notes: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required],\r\n });\r\n\r\n this.selectedDate = this.datePipe.transform(new Date(), \"yyyy-MM-dd\");\r\n this.onDateChange(format(Date(), 'MM/DD/YYYY'));\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => this.addDotsToAppointmentDates(), 3000);\r\n\r\n setTimeout(() => this.calendar.stateChanges.subscribe(() => {\r\n //console.log(\"under ngafterviewinit settimeout\")\r\n const today = new Date();\r\n const todayDate = today.getDate();\r\n const todayMonth = today.getMonth();\r\n const todayYear = today.getFullYear();\r\n\r\n\r\n const activeDate = this.calendar.activeDate;\r\n const activeMonth = activeDate.getMonth();\r\n const activeYear = activeDate.getFullYear();\r\n\r\n if (this.calendar.activeDate.getMonth() !== this.currentMonth ||\r\n this.calendar.activeDate.getFullYear() !== this.currentYear) {\r\n this.startDateTimes = [];\r\n this.currentMonth = this.calendar.activeDate.getMonth();\r\n this.currentYear = this.calendar.activeDate.getFullYear();\r\n // console.log(\"This current Month\", this.currentMonth, this.currentYear)\r\n //this.loadAppointmentsForCurrentMonth(null);\r\n if (activeMonth === todayMonth && activeYear === todayYear) {\r\n\r\n this.calendar.activeDate = new Date(todayYear, todayMonth, todayDate);\r\n this.loadAppointmentsForCurrentMonth(new Date());\r\n this.onDateChange(new Date(todayYear, todayMonth, todayDate));\r\n } else {\r\n\r\n this.calendar.activeDate = new Date(activeYear, activeMonth, 1);\r\n this.loadAppointmentsForCurrentMonth(null);\r\n this.onDateChange(new Date(activeYear, activeMonth, 1));\r\n }\r\n }\r\n }), 2000);\r\n setTimeout(() => this.loadAppointmentsForCurrentMonth(new Date()),1000);\r\n }\r\n\r\n loadAppointmentsForCurrentMonth(currentDate: any): void {\r\n\r\n const startDate = currentDate != null ? currentDate : new Date(this.currentYear, this.currentMonth, 1);\r\n const endDate = new Date(this.currentYear, this.currentMonth + 1, 0);\r\n const formatAddedOneDayEndDate = new Date(this.currentYear, this.currentMonth, endDate.getDate() + 1);\r\n //console.log(\"loading loading\")\r\n const formattedStartDate = format(startDate, 'MM/DD/YYYY');\r\n const formattedEndDate = format(formatAddedOneDayEndDate, 'MM/DD/YYYY');\r\n\r\n this.LoadRedDotes(formattedStartDate, formattedEndDate);\r\n }\r\n\r\n\r\n LoadRedDotes(startDate, endDate) {\r\n //this.lastSelectedEvent = event;\r\n // var StartDate = this.datePipe.transform(new Date(startDate), \"yyyy-MM-dd\");\r\n // // var EndDate = this.datePipe.transform(new Date(endDate) + 1, \"yyyy-MM-dd\");\r\n // var EndDate = this.datePipe.transform(new Date(endDate).setDate(new Date(endDate).getDate() + 1), \"yyyy-MM-dd\");\r\n var selDate = null;\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n //this.firstFormGroup.get(\"appointmentDate\").setValue(event);\r\n\r\n // this.staffAvailability = [];\r\n switch (this.confirmation.mode.toLowerCase()) {\r\n case \"online\":\r\n this.appointmentModeId = 1;\r\n break;\r\n case \"face to face\":\r\n this.appointmentModeId = 2;\r\n break;\r\n case \"home visit\":\r\n this.appointmentModeId = 3;\r\n break;\r\n }\r\n // this.usersService\r\n // .getStaffAvailabilityByLocation(\r\n // this.staffId,\r\n // this.locationId,\r\n // selDate,\r\n // this.appointmentModeId,\r\n // startDate,\r\n // endDate\r\n\r\n // )\r\n this.usersService\r\n .getStaffAvailabilityByLocation(\r\n this.labData.labId,\r\n this.locationId,\r\n selDate,\r\n this.appointmentModeId,\r\n startDate,\r\n endDate\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n if (response && response.statusCode === 200) {\r\n //console.log(\"red dot appointments\", response.data)\r\n this.startDateTimes = (response.data || []).map(appointment => new Date(appointment.startTime));\r\n this.addDotsToAppointmentDates();\r\n } else {\r\n this.startDateTimes = [];\r\n }\r\n }, error => {\r\n console.error('Error fetching appointments:', error);\r\n this.startDateTimes = [];\r\n });\r\n }\r\n\r\n addDotsToAppointmentDates(): void {\r\n setTimeout(() => {\r\n const elements = document.getElementsByClassName('mat-calendar-body-cell');\r\n const appointmentSet = new Set(this.startDateTimes.map(date =>\r\n `${date.getFullYear()}-${date.getMonth()}-${date.getDate()}`\r\n ));\r\n\r\n Array.from(elements).forEach((element: Element) => {\r\n const dateText = element.textContent.trim();\r\n if (!dateText || !dateText.match(/^\\d+$/)) return;\r\n\r\n const formattedDateKey = `${this.currentYear}-${this.currentMonth}-${parseInt(dateText)}`;\r\n\r\n if (appointmentSet.has(formattedDateKey)) {\r\n element.classList.add('date-with-dot');\r\n } else {\r\n element.classList.remove('date-with-dot');\r\n }\r\n });\r\n },200);\r\n }\r\n\r\n\r\n get formGroup1() {\r\n return this.firstFormGroup.controls;\r\n }\r\n get formGroup3() {\r\n return this.thirdFormGroup.controls;\r\n }\r\n\r\n termsandconditionchecked(event) {\r\n if (event.checked) {\r\n this.istermsconditionchecked = true;\r\n // this.opentermconditionmodal();\r\n this.showselecttermscondition = false;\r\n } else {\r\n this.istermsconditionchecked = false;\r\n }\r\n }\r\n\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width: \"70%\",\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n //\r\n if (result != null && result != \"close\") {\r\n }\r\n //this.show=true;\r\n });\r\n }\r\n checkboxchecked(event) {\r\n this.isNotify = event.checked;\r\n }\r\n closeDialog(action: string): void {\r\n // this.router.navigate([\"/web/client/my-scheduling\"]);\r\n this.dialogModalRef.close(action);\r\n }\r\n onModeChange(mode: any) {\r\n this.confirmation.mode = mode;\r\n // console.log(mode);\r\n this.loadAppointmentsForCurrentMonth(null);\r\n this.onSelectAppointmentType();\r\n }\r\n getStartEndTime(obj: any) {\r\n let startDate: Date = new Date(obj.startTime),\r\n endDate: Date = new Date(obj.endTime);\r\n\r\n let slotStartHr = startDate.getHours(),\r\n slotStartMin = startDate.getMinutes(),\r\n slotEndHr = endDate.getHours(),\r\n slotEndMin = endDate.getMinutes(),\r\n startTime = this.parseTime(slotStartHr + \":\" + slotStartMin),\r\n endTime = this.parseTime(slotEndHr + \":\" + slotEndMin);\r\n return { startTime: startTime, endTime: endTime };\r\n }\r\n parseTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n calculateTimeSlotRange(\r\n start_time: number,\r\n end_time: number,\r\n interval: number = 30\r\n ) {\r\n let i, formattedStarttime, formattedEndtime;\r\n let time_slots: Array = [];\r\n for (let i = start_time; i <= end_time - interval; i = i + interval) {\r\n formattedStarttime = this.convertHours(i);\r\n formattedEndtime = this.convertHours(i + interval);\r\n time_slots.push({\r\n startTime: formattedStarttime,\r\n endTime: formattedEndtime,\r\n });\r\n }\r\n return time_slots;\r\n }\r\n\r\n convertHours(mins: number) {\r\n let hour = Math.floor(mins / 60);\r\n mins = mins % 60;\r\n let time = \"\";\r\n if (this.pad(hour, 2) < 12) {\r\n time = this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" AM\";\r\n } else {\r\n time =\r\n this.pad(hour, 2) == 12\r\n ? this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" PM\"\r\n : this.pad(hour, 2) - 12 + \":\" + this.pad(mins, 2) + \" PM\";\r\n }\r\n //let converted = this.pad(hour, 2)+':'+this.pad(mins, 2);\r\n return time;\r\n }\r\n\r\n pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? this.pad(\"0\" + str, max) : str;\r\n }\r\n\r\n closeModal() {\r\n this.dialogModal.closeAll();\r\n }\r\n\r\n openLastFollowup() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(FollowupAppointmentComponent, {\r\n hasBackdrop: true,\r\n width: \"70%\",\r\n data: {\r\n id: this.lastFollowupData.id,\r\n lastAppointmentStartTime: this.lastFollowupData.startDateTime,\r\n lastAppointmentEndTime: this.lastFollowupData.endDateTime,\r\n notes: this.lastFollowupData.notes,\r\n bookingMode: this.lastFollowupData.bookingMode,\r\n },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n }\r\n });\r\n }\r\n\r\n // add(event: MatChipInputEvent): void {\r\n // // Add fruit only when MatAutocomplete is not open\r\n // // To make sure this does not conflict with OptionSelected Event\r\n // if (!this.matAutocomplete.isOpen) {\r\n // const input = event.input;\r\n // const value = event.value;\r\n\r\n // // Add our fruit\r\n // if ((value || \"\").trim()) {\r\n // this.symptoms.push(value.trim());\r\n // }\r\n\r\n // // Reset the input value\r\n // if (input) {\r\n // input.value = \"\";\r\n // }\r\n\r\n // this.userControl.setValue(null);\r\n // }\r\n // }\r\n\r\n add(event: MatChipInputEvent): void {\r\n // Add fruit only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n if (!this.matAutocomplete.isOpen) {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n // Add our fruit\r\n if ((value || \"\").trim()) {\r\n this.symptoms.push(value.trim());\r\n }\r\n\r\n // Reset the input value\r\n if (input) {\r\n input.value = \"\";\r\n }\r\n\r\n this.userControl.setValue(null);\r\n }\r\n }\r\n\r\n\r\n // onDateChange(event) {\r\n // var curDate = this.datePipe.transform(new Date(), \"yyyy-MM-dd\");\r\n // var selDate = this.datePipe.transform(event, \"yyyy-MM-dd\");\r\n // this.selectedDate= this.datePipe.transform(event, \"yyyy-MM-dd\");\r\n // if (selDate < curDate) {\r\n // this.notifierService.notify(\r\n // \"error\",\r\n // \"Appointment cannot be set for past date\"\r\n // );\r\n // return null;\r\n // }\r\n // this.confirmation.startTime = null;\r\n // this.confirmation.endTime = null;\r\n // this.showLoader = true;\r\n // this.providerAvailiabilitySlots = [];\r\n // this.firstFormGroup.get(\"appointmentDate\").setValue(event);\r\n // let interval = this.labData.timeInterval;\r\n // const filterModal = {\r\n // locationIds: this.locationId,\r\n // // fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n // // toDate: format(event.value, \"YYYY-MM-DD\"),\r\n // fromDate: format(event, \"YYYY-MM-DD\"),\r\n // toDate: format(event, \"YYYY-MM-DD\"),\r\n // staffIds: this.labData.labId,\r\n // patientIds: (\"\" || []).join(\",\"),\r\n // };\r\n // let clientAppointments: Array = [];\r\n\r\n // let currentAvailabilityDay: any;\r\n // let currentAvailableDates: Array = [];\r\n // let currentUnAvailableDates: Array = [];\r\n // let days = [\r\n // \"Sunday\",\r\n // \"Monday\",\r\n // \"Tuesday\",\r\n // \"Wednesday\",\r\n // \"Thursday\",\r\n // \"Friday\",\r\n // \"Saturday\",\r\n // ];\r\n // let dayName = days[new Date(event).getDay()];\r\n // this.staffAvailability = [];\r\n // switch (this.confirmation.mode.toLowerCase()) {\r\n // case \"online\":\r\n // this.appointmentModeId = 1;\r\n // break;\r\n // case \"face to face\":\r\n // this.appointmentModeId = 2;\r\n // break;\r\n // case \"home visit\":\r\n // this.appointmentModeId = 3;\r\n // break;\r\n // }\r\n // this.usersService\r\n // .getStaffAvailabilityByLocation(\r\n // this.labData.labId,\r\n // this.locationId,\r\n // selDate,\r\n // this.appointmentModeId\r\n // )\r\n // .subscribe((response: ResponseModel) => {\r\n // console.log(response);\r\n // let availibiltyResponse = response;\r\n // if (response) {\r\n // this.schedulerService\r\n // .getListData(filterModal)\r\n // .subscribe((res: any) => {\r\n // this.showLoader = false;\r\n // if (res) {\r\n // this.patientAppointments = res.data;\r\n // this.patientAppointments.forEach((app) => {\r\n // let obj = {\r\n // startTime: app.startDateTime,\r\n // endTime: app.endDateTime,\r\n // };\r\n // let timeObj = this.getStartEndTime(obj),\r\n // startTime = timeObj.startTime,\r\n // endTime = timeObj.endTime;\r\n // if (\r\n // !app.cancelTypeId ||\r\n // (app.cancelTypeId == null && app.cancelTypeId == 0)\r\n // ) {\r\n // this.calculateTimeSlotRange(\r\n // startTime,\r\n // endTime,\r\n // interval\r\n // ).forEach((x) => {\r\n // clientAppointments.push({\r\n // startTime: x.startTime,\r\n // endTime: x.endTime,\r\n // statusName: app.statusName,\r\n // });\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n // if (\r\n // availibiltyResponse &&\r\n // availibiltyResponse.data &&\r\n // availibiltyResponse.data.length > 0\r\n // ) {\r\n // availibiltyResponse.data.forEach((x) => {\r\n // let timeObj = this.getStartEndTime(x);\r\n // let currentTime = new Date();\r\n // let _startTime = new Date(x.startTime);\r\n // //let currentTime = this.getCurrentTime(new Date());\r\n\r\n // this.providerAvailiabilitySlots.push({\r\n // startTime: timeObj.startTime, //.replace(\":00\",\"\").replace(\"AM\",\"\").replace(\"PM\",\"\"),\r\n // endTime: timeObj.endTime, //.replace(\":00\",\"\"),\r\n // // startTimeftm: this.convertHours(timeObj.startTime).replace(\":00\", \"\").replace(\"AM\", \"\").replace(\"PM\", \"\").trim(),\r\n // // endTimeftm: this.convertHours(timeObj.endTime).replace(\":00\", \"\").replace(\"AM\", \"\").replace(\"PM\", \"\").trim(),\r\n // startTimeftm: this.convertHours(timeObj.startTime)\r\n // .replace(\":00\", \"\")\r\n // .trim(),\r\n // endTimeftm: this.convertHours(timeObj.endTime)\r\n // .replace(\":00\", \"\")\r\n // .trim(),\r\n // location: \"Max Hospital, Mohali\",\r\n // isAvailable: x.isSelected,\r\n // isSelected: false,\r\n // isPassed: false,\r\n // isReserved: false,\r\n // isHide: this.getIsTimeAvailable(_startTime, currentTime),\r\n // // isHide:timeObj.startTime < currentTime ? true:false,\r\n // });\r\n // });\r\n // //sorted slots in ascending order\r\n // this.providerAvailiabilitySlots.sort(\r\n // (a, b) => a.startTime - b.startTime || a.endTime - b.endTime\r\n // );\r\n // }\r\n\r\n // let currentDate = new Date();\r\n // if (\r\n // this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n // // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n // this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n // ) {\r\n // let currentStartHr = currentDate.getHours(),\r\n // currentStartMin = currentDate.getMinutes(),\r\n // currentTime = currentStartHr * 60 + currentStartMin;\r\n // this.providerAvailiabilitySlots.forEach((slot) => {\r\n // if (slot.isAvailable == true) {\r\n // let selStart = slot.startTime.split(\" \");\r\n // let selStartTime = selStart[0];\r\n // let selStartHr = +selStartTime.split(\":\")[0];\r\n // let selHrMin =\r\n // selStart[1] == \"AM\"\r\n // ? selStartHr * 60\r\n // : selStartHr == 12\r\n // ? selStartHr * 60\r\n // : (selStartHr + 12) * 60;\r\n // let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n // let selEnd = slot.endTime.split(\" \");\r\n // let selEndTime = selEnd[0];\r\n // let selEndHr = +selEndTime.split(\":\")[0];\r\n // let selEndHrMin =\r\n // selEnd[1] == \"AM\"\r\n // ? selEndHr * 60\r\n // : selEndHr == 12\r\n // ? selEndHr * 60\r\n // : (selEndHr + 12) * 60;\r\n // let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n // if (\r\n // currentTime >= selStartMin &&\r\n // (currentTime >= selEndMin || currentTime < selEndMin)\r\n // ) {\r\n // slot.isPassed = true;\r\n // slot.isAvailable = false;\r\n // //slots = slots.filter((_, index) => index !== foundIndex);\r\n // }\r\n // }\r\n // });\r\n // }\r\n // });\r\n // }\r\n // });\r\n // this.confirmation.date = event;\r\n // // this.getFollowUpDetail(selDate)\r\n // }\r\n\r\n onDateChange(event: any) {\r\n // this.lastSelectedEvent = event;\r\n var curDate = this.datePipe.transform(new Date(), \"yyyy-MM-dd\");\r\n var selDate = this.datePipe.transform(event, \"yyyy-MM-dd\");\r\n this.selectedDate = this.datePipe.transform(event, \"yyyy-MM-dd\");\r\n if (selDate < curDate) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Appointment cannot be set for past date\"\r\n );\r\n return null;\r\n }\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n this.firstFormGroup.get(\"appointmentDate\").setValue(event);\r\n //let interval = 30;\r\n // let interval = this.userInfo.timeInterval;\r\n const filterModal = {\r\n locationIds: this.locationId,\r\n // fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n // toDate: format(event.value, \"YYYY-MM-DD\"),\r\n fromDate: format(event, \"YYYY-MM-DD\"),\r\n toDate: format(event, \"YYYY-MM-DD\"),\r\n staffIds: this.labData.labId,\r\n patientIds: (\"\" || []).join(\",\"),\r\n };\r\n let clientAppointments: Array = [];\r\n\r\n let currentAvailabilityDay: any;\r\n let currentAvailableDates: Array = [];\r\n let currentUnAvailableDates: Array = [];\r\n let days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\",\r\n ];\r\n // let dayName = days[new Date(event.value).getDay()];\r\n let dayName = days[new Date(event).getDay()];\r\n // this.staffAvailability = [];\r\n switch (this.confirmation.mode.toLowerCase()) {\r\n case \"online\":\r\n this.appointmentModeId = 1;\r\n break;\r\n case \"face to face\":\r\n this.appointmentModeId = 2;\r\n break;\r\n case \"home visit\":\r\n this.appointmentModeId = 3;\r\n break;\r\n }\r\n this.usersService\r\n .getStaffAvailabilityByLocation(\r\n this.labData.labId,\r\n this.locationId,\r\n selDate,\r\n this.appointmentModeId\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n if (response.statusCode == 200) {\r\n this.schedulerService\r\n .getListData(filterModal)\r\n .subscribe((response: any) => {\r\n // console.log(\"Staff Availability\", availibiltyResponse);\r\n this.showLoader = false;\r\n if (response.statusCode == 200) {\r\n this.patientAppointments = response.data;\r\n this.patientAppointments.forEach((app) => {\r\n let obj = {\r\n startTime: app.startDateTime,\r\n endTime: app.endDateTime,\r\n };\r\n let timeObj = this.getStartEndTime(obj),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n if (\r\n !app.cancelTypeId ||\r\n (app.cancelTypeId == null && app.cancelTypeId == 0)\r\n ) {\r\n clientAppointments.push({\r\n startTime: startTime,\r\n endTime: endTime,\r\n statusName: app.statusName,\r\n });\r\n // console.log(\"clientAppointments\", clientAppointments)\r\n }\r\n });\r\n }\r\n\r\n if (\r\n availibiltyResponse &&\r\n availibiltyResponse.data &&\r\n availibiltyResponse.data.length > 0\r\n ) {\r\n availibiltyResponse.data.forEach((x) => {\r\n let timeObj = this.getStartEndTime(x);\r\n let currentTime = new Date();\r\n let _startTime = new Date(x.startTime);\r\n //let currentTime = this.getCurrentTime(new Date());\r\n\r\n this.providerAvailiabilitySlots.push({\r\n startTime: timeObj.startTime, //.replace(\":00\",\"\").replace(\"AM\",\"\").replace(\"PM\",\"\"),\r\n endTime: timeObj.endTime, //.replace(\":00\",\"\"),\r\n // startTimeftm: this.convertHours(timeObj.startTime).replace(\":00\", \"\").replace(\"AM\", \"\").replace(\"PM\", \"\").trim(),\r\n // endTimeftm: this.convertHours(timeObj.endTime).replace(\":00\", \"\").replace(\"AM\", \"\").replace(\"PM\", \"\").trim(),\r\n startTimeftm: this.convertHours(timeObj.startTime)\r\n .replace(\":00\", \"\")\r\n .trim(),\r\n endTimeftm: this.convertHours(timeObj.endTime)\r\n .replace(\":00\", \"\")\r\n .trim(),\r\n location: \"Max Hospital, Mohali\",\r\n isAvailable: x.isSelected,\r\n isSelected: false,\r\n isPassed: false,\r\n isReserved: false,\r\n isHide: this.getIsTimeAvailable(_startTime, currentTime),\r\n // isHide:timeObj.startTime < currentTime ? true:false,\r\n });\r\n });\r\n //sorted slots in ascending order\r\n this.providerAvailiabilitySlots.sort(\r\n (a, b) => a.startTime - b.startTime || a.endTime - b.endTime\r\n );\r\n }\r\n if (clientAppointments.length > 0) {\r\n clientAppointments.forEach((slot) => {\r\n let status = (slot.statusName as string).toLowerCase();\r\n // console.log(\"status \", status)\r\n if ((slot.statusName as string).toLowerCase() != \"cancel\") {\r\n const foundIndex =\r\n this.providerAvailiabilitySlots.findIndex(\r\n (x) =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n this.providerAvailiabilitySlots[foundIndex].isAvailable =\r\n false;\r\n this.providerAvailiabilitySlots[foundIndex].isReserved =\r\n true;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n let currentDate = new Date();\r\n if (\r\n this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n ) {\r\n let currentStartHr = currentDate.getHours(),\r\n currentStartMin = currentDate.getMinutes(),\r\n currentTime = currentStartHr * 60 + currentStartMin;\r\n this.providerAvailiabilitySlots.forEach((slot) => {\r\n if (slot.isAvailable == true) {\r\n //console.log(\"slot.startTime\", slot.startTime)\r\n let selStart = slot.startTime.split(\" \");\r\n let selStartTime = selStart[0];\r\n let selStartHr = +selStartTime.split(\":\")[0];\r\n let selHrMin =\r\n selStart[1] == \"AM\"\r\n ? selStartHr * 60\r\n : selStartHr == 12\r\n ? selStartHr * 60\r\n : (selStartHr + 12) * 60;\r\n let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n let selEnd = slot.endTime.split(\" \");\r\n let selEndTime = selEnd[0];\r\n let selEndHr = +selEndTime.split(\":\")[0];\r\n let selEndHrMin =\r\n selEnd[1] == \"AM\"\r\n ? selEndHr * 60\r\n : selEndHr == 12\r\n ? selEndHr * 60\r\n : (selEndHr + 12) * 60;\r\n let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n if (\r\n currentTime >= selStartMin &&\r\n (currentTime >= selEndMin || currentTime < selEndMin)\r\n ) {\r\n slot.isPassed = true;\r\n slot.isAvailable = false;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n // this.confirmation.date = event.value;\r\n this.confirmation.date = event;\r\n //this.getFollowUpDetail(selDate);\r\n }\r\n\r\n // onSelectAppointmentType(){\r\n\r\n // var curDate = this.datePipe.transform(new Date(), \"yyyy-MM-dd\");\r\n // var selDate =this.selectedDate;\r\n // // this.selectedDate= this.datePipe.transform(event, \"yyyy-MM-dd\");\r\n // if (selDate < curDate) {\r\n // this.notifierService.notify(\r\n // \"error\",\r\n // \"Appointment cannot be set for past date\"\r\n // );\r\n // return null;\r\n // }\r\n // this.confirmation.startTime = null;\r\n // this.confirmation.endTime = null;\r\n // this.showLoader = true;\r\n // this.providerAvailiabilitySlots = [];\r\n // this.firstFormGroup.get(\"appointmentDate\").setValue(this.selectedDate);\r\n // let interval = this.labData.timeInterval;\r\n // const filterModal = {\r\n // locationIds: this.locationId,\r\n // // fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n // // toDate: format(event.value, \"YYYY-MM-DD\"),\r\n // fromDate: this.selectedDate,\r\n // toDate: this.selectedDate,\r\n // staffIds: this.labData.labId,\r\n // patientIds: (\"\" || []).join(\",\"),\r\n // };\r\n // let clientAppointments: Array = [];\r\n\r\n // let currentAvailabilityDay: any;\r\n // let currentAvailableDates: Array = [];\r\n // let currentUnAvailableDates: Array = [];\r\n // let days = [\r\n // \"Sunday\",\r\n // \"Monday\",\r\n // \"Tuesday\",\r\n // \"Wednesday\",\r\n // \"Thursday\",\r\n // \"Friday\",\r\n // \"Saturday\",\r\n // ];\r\n // let dayName = days[new Date(this.selectedDate).getDay()];\r\n // this.staffAvailability = [];\r\n // switch (this.confirmation.mode.toLowerCase()) {\r\n // case \"online\":\r\n // this.appointmentModeId = 1;\r\n // break;\r\n // case \"face to face\":\r\n // this.appointmentModeId = 2;\r\n // break;\r\n // case \"home visit\":\r\n // this.appointmentModeId = 3;\r\n // break;\r\n // }\r\n // this.usersService\r\n // .getStaffAvailabilityByLocation(\r\n // this.labData.labId,\r\n // this.locationId,\r\n // selDate,\r\n // this.appointmentModeId\r\n // )\r\n // .subscribe((response: ResponseModel) => {\r\n // console.log(response);\r\n // let availibiltyResponse = response;\r\n // if (response) {\r\n // this.schedulerService\r\n // .getListData(filterModal)\r\n // .subscribe((res: any) => {\r\n // this.showLoader = false;\r\n // if (res) {\r\n // this.patientAppointments = res.data;\r\n // this.patientAppointments.forEach((app) => {\r\n // let obj = {\r\n // startTime: app.startDateTime,\r\n // endTime: app.endDateTime,\r\n // };\r\n // let timeObj = this.getStartEndTime(obj),\r\n // startTime = timeObj.startTime,\r\n // endTime = timeObj.endTime;\r\n // if (\r\n // !app.cancelTypeId ||\r\n // (app.cancelTypeId == null && app.cancelTypeId == 0)\r\n // ) {\r\n // this.calculateTimeSlotRange(\r\n // startTime,\r\n // endTime,\r\n // interval\r\n // ).forEach((x) => {\r\n // clientAppointments.push({\r\n // startTime: x.startTime,\r\n // endTime: x.endTime,\r\n // statusName: app.statusName,\r\n // });\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n // if (\r\n // availibiltyResponse &&\r\n // availibiltyResponse.data &&\r\n // availibiltyResponse.data.length > 0\r\n // ) {\r\n // availibiltyResponse.data.forEach((x) => {\r\n // let timeObj = this.getStartEndTime(x);\r\n // let currentTime = new Date();\r\n // let _startTime = new Date(x.startTime);\r\n // //let currentTime = this.getCurrentTime(new Date());\r\n\r\n // this.providerAvailiabilitySlots.push({\r\n // startTime: timeObj.startTime, //.replace(\":00\",\"\").replace(\"AM\",\"\").replace(\"PM\",\"\"),\r\n // endTime: timeObj.endTime, //.replace(\":00\",\"\"),\r\n // // startTimeftm: this.convertHours(timeObj.startTime).replace(\":00\", \"\").replace(\"AM\", \"\").replace(\"PM\", \"\").trim(),\r\n // // endTimeftm: this.convertHours(timeObj.endTime).replace(\":00\", \"\").replace(\"AM\", \"\").replace(\"PM\", \"\").trim(),\r\n // startTimeftm: this.convertHours(timeObj.startTime)\r\n // .replace(\":00\", \"\")\r\n // .trim(),\r\n // endTimeftm: this.convertHours(timeObj.endTime)\r\n // .replace(\":00\", \"\")\r\n // .trim(),\r\n // location: \"Max Hospital, Mohali\",\r\n // isAvailable: x.isSelected,\r\n // isSelected: false,\r\n // isPassed: false,\r\n // isReserved: false,\r\n // isHide: this.getIsTimeAvailable(_startTime, currentTime),\r\n // // isHide:timeObj.startTime < currentTime ? true:false,\r\n // });\r\n // });\r\n // //sorted slots in ascending order\r\n // this.providerAvailiabilitySlots.sort(\r\n // (a, b) => a.startTime - b.startTime || a.endTime - b.endTime\r\n // );\r\n // }\r\n\r\n // let currentDate = new Date();\r\n // if (\r\n // this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n // // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n // this.datePipe.transform(new Date(this.selectedDate), \"yyyyMMdd\")\r\n // ) {\r\n // let currentStartHr = currentDate.getHours(),\r\n // currentStartMin = currentDate.getMinutes(),\r\n // currentTime = currentStartHr * 60 + currentStartMin;\r\n // this.providerAvailiabilitySlots.forEach((slot) => {\r\n // if (slot.isAvailable == true) {\r\n // let selStart = slot.startTime.split(\" \");\r\n // let selStartTime = selStart[0];\r\n // let selStartHr = +selStartTime.split(\":\")[0];\r\n // let selHrMin =\r\n // selStart[1] == \"AM\"\r\n // ? selStartHr * 60\r\n // : selStartHr == 12\r\n // ? selStartHr * 60\r\n // : (selStartHr + 12) * 60;\r\n // let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n // let selEnd = slot.endTime.split(\" \");\r\n // let selEndTime = selEnd[0];\r\n // let selEndHr = +selEndTime.split(\":\")[0];\r\n // let selEndHrMin =\r\n // selEnd[1] == \"AM\"\r\n // ? selEndHr * 60\r\n // : selEndHr == 12\r\n // ? selEndHr * 60\r\n // : (selEndHr + 12) * 60;\r\n // let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n // if (\r\n // currentTime >= selStartMin &&\r\n // (currentTime >= selEndMin || currentTime < selEndMin)\r\n // ) {\r\n // slot.isPassed = true;\r\n // slot.isAvailable = false;\r\n // //slots = slots.filter((_, index) => index !== foundIndex);\r\n // }\r\n // }\r\n // });\r\n // }\r\n // });\r\n // }\r\n // });\r\n // this.confirmation.date = this.selectedDate;\r\n // // this.getFollowUpDetail(selDate)\r\n\r\n // }\r\n\r\n onSelectAppointmentType() {\r\n var curDate = this.datePipe.transform(new Date(), \"yyyy-MM-dd\");\r\n var selDate = this.selectedDate;\r\n if (selDate < curDate) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Appointment cannot be set for past date\"\r\n );\r\n return null;\r\n }\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n this.firstFormGroup.get(\"appointmentDate\").setValue(this.selectedDate);\r\n //let interval = 30;\r\n // let interval = this.userInfo.timeInterval;\r\n const filterModal = {\r\n locationIds: this.locationId,\r\n // fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n // toDate: format(event.value, \"YYYY-MM-DD\"),\r\n fromDate: this.selectedDate,\r\n toDate: this.selectedDate,\r\n staffIds: this.labData.labId,\r\n patientIds: (\"\" || []).join(\",\"),\r\n };\r\n let clientAppointments: Array = [];\r\n\r\n let currentAvailabilityDay: any;\r\n let currentAvailableDates: Array = [];\r\n let currentUnAvailableDates: Array = [];\r\n let days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\",\r\n ];\r\n // let dayName = days[new Date(event.value).getDay()];\r\n let dayName = days[new Date(this.selectedDate).getDay()];\r\n // this.staffAvailability = [];\r\n switch (this.confirmation.mode.toLowerCase()) {\r\n case \"online\":\r\n this.appointmentModeId = 1;\r\n break;\r\n case \"face to face\":\r\n this.appointmentModeId = 2;\r\n break;\r\n case \"home visit\":\r\n this.appointmentModeId = 3;\r\n break;\r\n }\r\n this.usersService\r\n .getStaffAvailabilityByLocation(\r\n this.labData.labId,\r\n this.locationId,\r\n selDate,\r\n this.appointmentModeId\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n if (response.statusCode == 200) {\r\n this.schedulerService\r\n .getListData(filterModal)\r\n .subscribe((response: any) => {\r\n this.showLoader = false;\r\n if (response.statusCode == 200) {\r\n this.patientAppointments = response.data;\r\n this.patientAppointments.forEach((app) => {\r\n let obj = {\r\n startTime: app.startDateTime,\r\n endTime: app.endDateTime,\r\n };\r\n let timeObj = this.getStartEndTime(obj),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n if (\r\n !app.cancelTypeId ||\r\n (app.cancelTypeId == null && app.cancelTypeId == 0)\r\n ) {\r\n clientAppointments.push({\r\n startTime: startTime,\r\n endTime: endTime,\r\n statusName: app.statusName,\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (\r\n availibiltyResponse &&\r\n availibiltyResponse.data &&\r\n availibiltyResponse.data.length > 0\r\n ) {\r\n availibiltyResponse.data.forEach((x) => {\r\n let timeObj = this.getStartEndTime(x);\r\n let currentTime = new Date();\r\n let _startTime = new Date(x.startTime);\r\n //let currentTime = this.getCurrentTime(new Date());\r\n\r\n this.providerAvailiabilitySlots.push({\r\n startTime: timeObj.startTime, //.replace(\":00\",\"\").replace(\"AM\",\"\").replace(\"PM\",\"\"),\r\n endTime: timeObj.endTime, //.replace(\":00\",\"\"),\r\n // startTimeftm: this.convertHours(timeObj.startTime).replace(\":00\", \"\").replace(\"AM\", \"\").replace(\"PM\", \"\").trim(),\r\n // endTimeftm: this.convertHours(timeObj.endTime).replace(\":00\", \"\").replace(\"AM\", \"\").replace(\"PM\", \"\").trim(),\r\n startTimeftm: this.convertHours(timeObj.startTime)\r\n .replace(\":00\", \"\")\r\n .trim(),\r\n endTimeftm: this.convertHours(timeObj.endTime)\r\n .replace(\":00\", \"\")\r\n .trim(),\r\n location: \"Max Hospital, Mohali\",\r\n isAvailable: x.isSelected,\r\n isSelected: false,\r\n isPassed: false,\r\n isReserved: false,\r\n isHide: this.getIsTimeAvailable(_startTime, currentTime),\r\n // isHide:timeObj.startTime < currentTime ? true:false,\r\n });\r\n });\r\n //sorted slots in ascending order\r\n this.providerAvailiabilitySlots.sort(\r\n (a, b) => a.startTime - b.startTime || a.endTime - b.endTime\r\n );\r\n }\r\n if (clientAppointments.length > 0) {\r\n clientAppointments.forEach((slot) => {\r\n let status = (slot.statusName as string).toLowerCase();\r\n if ((slot.statusName as string).toLowerCase() != \"cancel\") {\r\n const foundIndex =\r\n this.providerAvailiabilitySlots.findIndex(\r\n (x) =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n this.providerAvailiabilitySlots[foundIndex].isAvailable =\r\n false;\r\n this.providerAvailiabilitySlots[foundIndex].isReserved =\r\n true;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n let currentDate = new Date();\r\n if (\r\n this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(this.selectedDate), \"yyyyMMdd\")\r\n ) {\r\n let currentStartHr = currentDate.getHours(),\r\n currentStartMin = currentDate.getMinutes(),\r\n currentTime = currentStartHr * 60 + currentStartMin;\r\n this.providerAvailiabilitySlots.forEach((slot) => {\r\n if (slot.isAvailable == true) {\r\n let selStart = slot.startTime.split(\" \");\r\n //console.log(\"slot.startTime\", slot.startTime)\r\n let selStartTime = selStart[0];\r\n let selStartHr = +selStartTime.split(\":\")[0];\r\n let selHrMin =\r\n selStart[1] == \"AM\"\r\n ? selStartHr * 60\r\n : selStartHr == 12\r\n ? selStartHr * 60\r\n : (selStartHr + 12) * 60;\r\n let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n let selEnd = slot.endTime.split(\" \");\r\n let selEndTime = selEnd[0];\r\n let selEndHr = +selEndTime.split(\":\")[0];\r\n let selEndHrMin =\r\n selEnd[1] == \"AM\"\r\n ? selEndHr * 60\r\n : selEndHr == 12\r\n ? selEndHr * 60\r\n : (selEndHr + 12) * 60;\r\n let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n if (\r\n currentTime >= selStartMin &&\r\n (currentTime >= selEndMin || currentTime < selEndMin)\r\n ) {\r\n slot.isPassed = true;\r\n slot.isAvailable = false;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n // this.confirmation.date = event.value;\r\n this.confirmation.date = this.selectedDate;\r\n //this.getFollowUpDetail(selDate);\r\n }\r\n\r\n getIsTimeAvailable(slottime: any, currenttime: any) {\r\n ////;\r\n if (slottime < currenttime) {\r\n if (this.getCurrentTime(slottime) < this.getCurrentTime(currenttime)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n getCurrentTime(obj: any) {\r\n let slotCurrentHr = obj.getHours(),\r\n slotCurrentMin = obj.getMinutes(),\r\n slotCurrentMinTime = this.parseCurrentTime(\r\n slotCurrentHr + \":\" + slotCurrentMin\r\n );\r\n return slotCurrentMinTime;\r\n }\r\n parseCurrentTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n // getFollowUpDetail(appointmentDate: any) {\r\n\r\n // // var appointmentDate= this.datePipe.transform(this.firstFormGroup.get('appointmentDate').value, 'MM/dd/yyyy');\r\n // this.schedulerService.GetLastPatientFollowupWithCurrentPovider(this.patient, this.staffId, appointmentDate, true).subscribe(res => {\r\n\r\n // if (res.statusCode == 200) {\r\n // this.lastFollowup = res.data;\r\n // if (this.lastFollowup) {\r\n // var futureDate = new Date(this.lastFollowup.startDateTime);\r\n // futureDate.setDate(futureDate.getDate() + this.userInfo.followUpDays);\r\n // // futureDate.setDate(futureDate.getDate() + this.userInfo.followUpDays);\r\n // if (futureDate >= new Date())\r\n // this.notifierService.notify(\"warning\", \"You can book a followup appointment between dates \" + this.datePipe.transform(this.lastFollowup.startDateTime, \"MM/dd/yyyy\") + ' and ' + this.datePipe.transform(futureDate, \"MM/dd/yyyy\") + ' with discounted price ' + this.userInfo.followUpPayRate);\r\n // }\r\n // }\r\n // });\r\n // }\r\n\r\n onSlotSelect = (slot: any) => {\r\n this.confirmation.type = \"New\";\r\n var index = this.providerAvailiabilitySlots.findIndex(\r\n (x) => x.isSelected == true\r\n );\r\n if (index != -1) {\r\n this.providerAvailiabilitySlots[index].isSelected = false;\r\n this.providerAvailiabilitySlots[index].isAvailable = true;\r\n }\r\n // this.providerAvailiabilitySlots.forEach(slot => {\r\n // slot.isSelected = false;\r\n\r\n // });\r\n this.confirmation.startTime = slot.startTime;\r\n this.confirmation.endTime = slot.endTime;\r\n this.selectedSlotTime.startTime = slot.startTimeftm;\r\n this.selectedSlotTime.endTime = slot.endTimeftm;\r\n slot.isSelected = true;\r\n slot.isAvailable = false;\r\n };\r\n\r\n createModal() {\r\n let documentModal;\r\n documentModal = this.dialogModal.open(SaveDocumentComponent, { data: 0 });\r\n documentModal.afterClosed().subscribe((result: string) => {\r\n if (result !== \"close\") {\r\n this.uploadImageData = result;\r\n this.handleImageChange();\r\n }\r\n });\r\n }\r\n handleImageChange() {\r\n this.uploadImageData\r\n .base64\r\n .forEach((ele) => {\r\n this.fileList.push(ele);\r\n this.documentNotes.push({\r\n documentTitle: this.uploadImageData.documentTitle,\r\n documentTypeId: this.uploadImageData.documentTypeId\r\n });\r\n });\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n this.documentNotes.splice(index, 1);\r\n }\r\n\r\n onTypeChange(type: any) {\r\n this.confirmation.type = type;\r\n this.IsPreviousFollowup = true;\r\n this.loadAppointmentsForCurrentMonth(null);\r\n if (type.toLowerCase() == \"follow-up\") {\r\n var appointmentDate = this.datePipe.transform(\r\n this.firstFormGroup.get(\"appointmentDate\").value,\r\n \"MM/dd/yyyy\"\r\n );\r\n // this.schedulerService.GetLastPatientFollowupWithCurrentPovider(this.patient, this.staffId, appointmentDate, false).subscribe(res => {\r\n\r\n // if (res.statusCode == 200) {\r\n // this.lastFollowupData = res.data;\r\n // if (this.lastFollowupData) {\r\n // this.IsPreviousFollowup = true;\r\n // }\r\n // else {\r\n // this.IsPreviousFollowup = false;\r\n // }\r\n // }\r\n // });\r\n\r\n this.IsPreviousFollowup = false;\r\n }\r\n }\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n this.symptoms.push({\r\n id: event.option.value.id,\r\n value: event.option.viewValue,\r\n choice_id: \"present\",\r\n });\r\n //this.optionChecked=true;\r\n this.userInput.nativeElement.value = event.option.viewValue;\r\n this.userControl.setValue(event.option.viewValue);\r\n }\r\n\r\n bookNewFreeAppointment(tokenId: string, paymentMode: string): any {\r\n this.submitted = true;\r\n\r\n const patientId = null;\r\n\r\n if (this.locationId == 0 && this.labData.staffLocationList) {\r\n this.locationId = this.labData.staffLocationList.find(\r\n (x) => x.isDefault === true\r\n ).id;\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.labData.labId }],\r\n PatientID: null,\r\n locationId:\r\n this.labData.locationID == 0 || this.labData.locationID == null\r\n ? 101\r\n : this.labData.locationID,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.convertHours(this.confirmation.startTime)\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.convertHours(this.confirmation.endTime)\r\n ),\r\n // IsTelehealthAppointment: true,\r\n IsTelehealthAppointment:\r\n this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n // PayRate: this.userInfo.payRate,\r\n // PayRate: this.confirmation.mode==\"Online\"?this.userInfo.payRate:this.userInfo.ftFpayRate ,\r\n PayRate: 0.0,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n AppointmentBookingFor: \"LAB\",\r\n },\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false,\r\n };\r\n // console.log(\"book appointmnet data\", appointmentData[0])\r\n this.createFreeAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n createFreeAppointmentFromPatientPortal(appointmentData: any) {\r\n this.schedulerService\r\n .bookNewFreeAppointmentFromPatientPortal(appointmentData)\r\n .subscribe((response) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n\r\n if (\r\n localStorage.getItem(\"reportObject\") != null &&\r\n localStorage.getItem(\"reportObject\") != undefined\r\n ) {\r\n var object = JSON.parse(localStorage.getItem(\"reportObject\"));\r\n localStorage.removeItem(\"reportObject\");\r\n if (object != null && object != undefined) {\r\n object.patientId = response.data;\r\n this.schedulerService\r\n .SaveSymptomatePatientReport(JSON.stringify(object))\r\n .subscribe((result: any) => { });\r\n }\r\n }\r\n\r\n //this.dialogModalRef.close(\"SAVE\");\r\n this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n openCheckout() {\r\n if (this.istermsconditionchecked) {\r\n let _amount = 0;\r\n if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Online\"\r\n ) {\r\n _amount = this.labData.payRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Face to Face\"\r\n ) {\r\n _amount = this.labData.ftFpayRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Home Visit\"\r\n ) {\r\n _amount = this.labData.homeVisitPayRate;\r\n } else if (\r\n this.confirmation.type.toLowerCase() == \"follow-up\" &&\r\n this.newfollowupfees == false\r\n ) {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.labData.followUpPayRate;\r\n }\r\n\r\n if (!_amount || _amount === 0 || _amount == 0.0) {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n } else {\r\n this.schedulerService\r\n .checkoutPaymentForAppointment(_amount + \"\")\r\n .subscribe((response: any) => {\r\n // console.log(\"payment = > \", response);\r\n const script = document.createElement(\"script\");\r\n\r\n script.src = `https://test.oppwa.com/v1/paymentWidgets.js?checkoutId=${response.id}`;\r\n script.async = true;\r\n\r\n document.body.appendChild(script);\r\n this.SaveBookNewAppointmentDatainLocalstorage(\"HyperPay\");\r\n this.saveDocuments(null);\r\n\r\n this.openHyperPay(response.id);\r\n });\r\n }\r\n } else {\r\n this.showselecttermscondition = true;\r\n }\r\n }\r\n\r\n openHyperPay(id) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(HyperPayComponent, {\r\n hasBackdrop: true,\r\n width: \"20%\",\r\n data: {\r\n id: id,\r\n isUrgent: false,\r\n },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n }\r\n });\r\n }\r\n\r\n saveDocuments(apptId: number) {\r\n ///Please chnage this API to avoid loops\r\n this.local_apptid = apptId;\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: this.uploadImageData.documentTitle,\r\n documentTypeIdStaff: this.uploadImageData.documentTypeIdStaff,\r\n expiration: this.uploadImageData.expiration,\r\n key: this.uploadImageData.key,\r\n documentTypeId: this.uploadImageData.documentTypeId,\r\n otherDocumentType: this.uploadImageData.otherDocumentType,\r\n userId: 0,\r\n patientAppointmentId: apptId,\r\n documentNotes: this.documentNotes\r\n };\r\n let dic = [];\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(\r\n `\"${element.data.replace(\r\n /^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/,\r\n \"\"\r\n )}\": \"${element.ext}\"`\r\n );\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {});\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.userService\r\n .uploadUserDocuments(formValues)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n localStorage.setItem(\r\n \"preAppointmentDataDocs\",\r\n JSON.stringify(response.data)\r\n );\r\n\r\n //this.notifier.notify('success', response.message);\r\n //this.closeDialog(\"save\");\r\n } else this.notifierService.notify(\"error\", response.message);\r\n });\r\n } else {\r\n //this.notifier.notify('error', \"Please add atleast one file\");\r\n }\r\n }\r\n\r\n SaveBookNewAppointmentDatainLocalstorage(paymentMode: string): any {\r\n //////;\r\n this.submitted = true;\r\n\r\n const patientId = null;\r\n\r\n let _amount = 0;\r\n if (this.confirmation.type == \"New\" && this.confirmation.mode == \"Online\") {\r\n _amount = this.labData.payRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Face to Face\"\r\n ) {\r\n _amount = this.labData.ftFpayRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Home Visit\"\r\n ) {\r\n _amount = this.labData.homeVisitPayRate;\r\n } else if (this.confirmation.type.toLowerCase() == \"follow-up\") {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.labData.followUpPayRate;\r\n }\r\n\r\n this.locationId = this.labData.locationID;\r\n\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.labData.labId }],\r\n PatientID: null,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n //IsTelehealthAppointment: true,\r\n IsTelehealthAppointment:\r\n this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n //Notes: this.formGroup3.Notes.value,\r\n Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n //PayRate: this.userInfo.payRate,\r\n PayRate: _amount,\r\n PaymentToken: \"\",\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n IsNotify: this.isNotify,\r\n AppointmentBookingFor: \"LAB\",\r\n },\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false,\r\n };\r\n localStorage.setItem(\r\n \"preAppointmentData\",\r\n JSON.stringify(appointmentData[0])\r\n );\r\n }\r\n}\r\n","module.exports = \".mb-7 {\\r\\n margin-bottom: 70px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-checkbox {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header {\\r\\n padding: 0px 15px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header-title {\\r\\n align-items: center;\\r\\n color: #01385f;\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\ninput, option {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header-title i {\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n.search-filter .ng-select .ng-clear-wrapper .ng-clear {\\r\\n padding-top: 3px;\\r\\n}\\r\\n\\r\\n.search-filter .ng-select .ng-select-container {\\r\\n border: 1px solid #ccc !important;\\r\\n}\\r\\n\\r\\n.mat-raised-button {\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n border-radius: 10px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.sortBy .ng-select {\\r\\n margin-right: 1rem;\\r\\n min-width: 105px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container {\\r\\n border: 2px solid #17a2b8;\\r\\n color: #17a2b8;\\r\\n border-radius: 8px;\\r\\n}\\r\\n\\r\\n.sortBy .ng-select .ng-arrow-wrapper .ng-arrow {\\r\\n border-color: #17a2b8 transparent transparent; \\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input {\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 36px;\\r\\n}\\r\\n\\r\\n.sortBy .ng-select .ng-select-container .ng-value-container .ng-placeholder {\\r\\n color: #17a2b8;\\r\\n}\\r\\n\\r\\n.search-filter .mat-accordion {\\r\\n background: #fff;\\r\\n box-shadow: 0px 24px 24px rgba(0, 0, 0, 0.06);\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-card {\\r\\n box-shadow: 0px 25px 25px rgba(0, 0, 0, 0.06) !important;\\r\\n}\\r\\n\\r\\n.search-filter .mat-accordion .mat-expansion-panel-header {\\r\\n border-bottom: 1px solid #E0E0E0;\\r\\n}\\r\\n\\r\\n.search-filter .mat-accordion .mat-expansion-panel-spacing {\\r\\n margin: 0;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n.count-list {\\r\\n background: #fff;\\r\\n /* Old browsers */\\r\\n color: #fff;\\r\\n padding: 15px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n margin-bottom: 15px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n margin-top: 5rem;\\r\\n box-shadow: 0px -6px 34px rgb(0 0 0 / 10%);\\r\\n}\\r\\n\\r\\n.sortBy {\\r\\n display: flex;\\r\\n margin-left: 1rem;\\r\\n}\\r\\n\\r\\n.sortBy span {\\r\\n color: #000;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.sortBy .sort_width {\\r\\n min-width: 75px;\\r\\n}\\r\\n\\r\\n.sortBy select {\\r\\n border: 1px solid #17a2b8;\\r\\n color: #17a2b8;\\r\\n margin: 0px 15px;\\r\\n padding: 5px;\\r\\n border-radius: 8px;\\r\\n}\\r\\n\\r\\n.sortBy .thumbnail-icon a {\\r\\n color: #9B9B9B;\\r\\n margin: 0px 6px;\\r\\n}\\r\\n\\r\\n.sort-by {\\r\\n float: left;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.sort-by button {\\r\\n font-size: 18px;\\r\\n padding: 4px 18px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.sort-by button:hover {\\r\\n box-shadow: 0px 10px 20px rgb(0 0 0 / 16%);\\r\\n}\\r\\n\\r\\n.sort-by .mat-raised-button {\\r\\n border: 2px solid #01385f !important;\\r\\n padding: 2px 25px;\\r\\n color: #01385f !important;\\r\\n font-weight: 600;\\r\\n background-color: #fff !important;\\r\\n font-size: 14px;\\r\\n cursor: pointer;\\r\\n border-radius: 7px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.custom-ng-select {\\r\\n width: 135px;\\r\\n display: inline-block;\\r\\n margin-left: 10px;\\r\\n height: 30px;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.ng-select-single .ng-select-container {\\r\\n height: 25px;\\r\\n min-height: 25px;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 25px;\\r\\n}\\r\\n\\r\\n.count-list h3 {\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n margin: 0px;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-input {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-calendar-container {\\r\\n z-index: 1;\\r\\n top: inherit;\\r\\n}\\r\\n\\r\\n.search-filter .ngx-datepicker-container .ngx-datepicker-input {\\r\\n border: 1px solid #ccc !important;\\r\\n border-radius: 4px !important;\\r\\n -webkit-border-radius: 4px !important;\\r\\n min-height: 36px;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-selected,\\r\\n.main-calendar-days .day-unit:hover {\\r\\n background: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-today {\\r\\n background: #63d891 !important;\\r\\n}\\r\\n\\r\\n.filter-widget .mat-checkbox {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.filter-widget .more-widget {\\r\\n color: #17a2b8;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.filter-widget .ng-scrollbar-view {\\r\\n overflow: auto;\\r\\n}\\r\\n\\r\\n.filter-btn {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n/* .doctor-widget {\\r\\n margin-bottom: 30px;\\r\\n} */\\r\\n\\r\\n.doctor-widget .doc-info {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.doctor-widget .mat-card .fa-star-o {\\r\\n position: absolute;\\r\\n right: 10px;\\r\\n top: 10px;\\r\\n font-size: 18px;\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.doc-info-left {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.doctor-img {\\r\\n width: 180px;\\r\\n height: 180px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n overflow: hidden;\\r\\n margin-right: 15px;\\r\\n /* flex: 0 0 180px; */\\r\\n /* display: flex; */\\r\\n}\\r\\n\\r\\n.doctor-widget .doc-name {\\r\\n font-size: 24px;\\r\\n font-weight: 600;\\r\\n margin-bottom: 3px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.doc-name a {\\r\\n color: #01385f;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.doc-name a:hover {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.mat-card-content p.doc-speciality {\\r\\n font-size: 14px;\\r\\n color: #146795;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.doc-department {\\r\\n color: #146795;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n margin-bottom: 5px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.hand{\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 0px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.list-grid-btn {\\r\\n font-size: 20px;\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n\\r\\n.list-grid-btn .active {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.list-grid-btn i {\\r\\n cursor: pointer;\\r\\n color: #9b9b9b;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n color: #146795;\\r\\n}\\r\\n\\r\\n.cfee {\\r\\n margin-bottom: 7px;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n.clinic-services {\\r\\n color: #6AB8E4;\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n flex-wrap: wrap;\\r\\n min-height: 62px;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n border: 1px solid #6AB8E4;\\r\\n border-radius: 4px;\\r\\n display: inline-block;\\r\\n font-size: 12px;\\r\\n padding: 3px 10px;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n margin-right: 5px;\\r\\n margin-bottom: 5px;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.clinic-booking {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n border-top: 1px solid #ddd;\\r\\n padding-top: 15px;\\r\\n margin-top: 15px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.clinic-booking .mat-raised-button {\\r\\n box-shadow: none;\\r\\n -ms-box-shadow: none;\\r\\n min-width: 120px;\\r\\n border-radius: 10px;\\r\\n padding: 3px;\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.clinic-booking button.mat-accent {\\r\\n background-color: transparent;\\r\\n color: #17a2b8;\\r\\n border: 2px solid #17a2b8;\\r\\n}\\r\\n\\r\\na.link-btn {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,\\r\\n.mat-checkbox-checked.mat-accent .mat-checkbox-background {\\r\\n background-color: #fff !important;\\r\\n border: 2px solid #b9b9b9 !important;\\r\\n}\\r\\n\\r\\n.mat-checkbox-frame {\\r\\n border-color: #b9b9b9 !important;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #17a2b8 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 600;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #17a2b8;\\r\\n border-radius: 3px;\\r\\n}\\r\\n\\r\\n.link-btn:hover {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.chk-availability label {\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.chk-availability button {\\r\\n background: #fff;\\r\\n border: 1px solid #b9b9b9;\\r\\n border-radius: 5px;\\r\\n font-size: 13px;\\r\\n color: #b9b9b9;\\r\\n font-weight: 500;\\r\\n margin-right: 10px;\\r\\n margin-bottom: 10px;\\r\\n padding: 5px 10px;\\r\\n line-height: 13px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.chk-availability button:disabled {\\r\\n cursor: not-allowed;\\r\\n border: 1px solid #e5e5e5;\\r\\n}\\r\\n\\r\\n.chk-availability button.active {\\r\\n border-color: #e7d9f8;\\r\\n color: #01385f;\\r\\n background: #e7d9f8;\\r\\n}\\r\\n\\r\\n.chk-availability button:not(:disabled):hover {\\r\\n background: #189bed;\\r\\n color: #fff;\\r\\n border-color: #189bed;\\r\\n}\\r\\n\\r\\n.clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.clini-infos ul li {\\r\\n display: block;\\r\\n line-height: 28px;\\r\\n word-break: break-word;\\r\\n color: #01385f;\\r\\n position: relative;\\r\\n padding-left: 25px;\\r\\n padding-right: 5px;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n min-height: 28px;\\r\\n}\\r\\n\\r\\n.clini-infos ul li a {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.clini-infos ul li .direction {\\r\\n color: #17a2b8;\\r\\n cursor: pointer;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.clini-infos ul li i {\\r\\n font-size: 15px;\\r\\n min-width: 20px;\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 6px;\\r\\n}\\r\\n\\r\\n.doc-info-cont .row {\\r\\n margin-left: 0;\\r\\n}\\r\\n\\r\\n.mat-form-field+.mat-form-field {\\r\\n margin-left: 8px;\\r\\n}\\r\\n\\r\\n/* grid view */\\r\\n\\r\\n/* .grid-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n\\r\\n/* .grid-profile .clinic-services {\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.grid-profile .doc-info,\\r\\n.grid-profile .doc-info-left {\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-img {\\r\\n float: left;\\r\\n height: 160px;\\r\\n width: 160px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n width: 60%;\\r\\n flex-direction: row;\\r\\n margin-top: 0;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn .fee-sec {\\r\\n margin-right: 5px;\\r\\n color: #01385f;\\r\\n font-weight: 600;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn .fee-sec h3 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0px;\\r\\n margin-right: 0.5rem;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn .fee-sec h4 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.grid-profile button {\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-info-right {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-info-right .clini-infos {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.grid-profile .addres {\\r\\n min-height: 28px;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-department {\\r\\n /* min-height: 30px; */\\r\\n word-break: break-all;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-widget .doc-info {\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n/* list view */\\r\\n\\r\\n/* .list-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n\\r\\n.list-profile a {\\r\\n margin-right: 15px;\\r\\n}\\r\\n\\r\\n@media (max-width: 1199px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 160px;\\r\\n height: 160px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n }\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: column;\\r\\n gap: 10px;\\r\\n }\\r\\n .clinic-btn {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n }\\r\\n .list-profile a {\\r\\n margin-right: 0px;\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n /* .list-grid-btn,\\r\\n .sort-by {\\r\\n margin-top: 15px;\\r\\n } */\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n .count-list {\\r\\n justify-content: flex-start;\\r\\n flex-wrap: wrap;\\r\\n align-items: center;\\r\\n }\\r\\n .count-list h3 {\\r\\n margin: 5px 15px 5px 0px;\\r\\n font-size: 18px;\\r\\n }\\r\\n .sort-by {\\r\\n float: none;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .doctor-widget .doc-info {\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n }\\r\\n .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 160px !important;\\r\\n height: 160px !important;\\r\\n float: left;\\r\\n }\\r\\n .clini-infos ul li {\\r\\n display: inline-block;\\r\\n padding-right: 10px;\\r\\n }\\r\\n .clini-infos ul li i {\\r\\n min-width: auto;\\r\\n }\\r\\n .doc-info-left {\\r\\n width: 100%;\\r\\n display: inherit;\\r\\n }\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: row;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 480px) {\\r\\n /* .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n } */\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: column;\\r\\n }\\r\\n .clinic-btn {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n.ngx-datepicker-calendar-container {\\r\\n z-index: 2 !important;\\r\\n}\\r\\n\\r\\n.ngx-slider .ngx-slider-bubble {\\r\\n font-weight: 500;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n line-height: 14px;\\r\\n padding-top: 0;\\r\\n margin-top: 8px;\\r\\n}\\r\\n\\r\\nmat-slider {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.price-range span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.mat-slider-thumb {\\r\\n border: 8px solid transparent !important;\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.mat-slider-track-fill {\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.cancl-pol-txt {\\r\\n color: #17a2b8 !important;\\r\\n cursor: pointer !important;\\r\\n font-weight: 500 !important;\\r\\n line-height: 20px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.mat-expansion-indicator::after {\\r\\n border-color: #17a2b8;\\r\\n}\\r\\n\\r\\n.mat-checkbox-layout .mat-checkbox-label {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.green-outline-btn {\\r\\n border-color: #17a2b8 !important;\\r\\n color: #17a2b8 !important;\\r\\n line-height: 36px;\\r\\n}\\r\\n\\r\\n@media screen and (max-width:575px) {\\r\\n .sortBy {\\r\\n margin-left: 0rem !important;\\r\\n }\\r\\n .sortBy .ng-select {\\r\\n margin-left: 1rem;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n {{'sort_by'|translate}} :\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'search'|translate}}\\r\\n \\r\\n \\r\\n\\r\\n
\\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'|translate}}\\r\\n \\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_speciality'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{'less'|translate}}...\\r\\n {{'more'|translate}}...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Select_services'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{'less'|translate}}...\\r\\n {{'more'|translate}}...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'gender'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{'consultation_fee'|translate}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'client_review'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (5)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (4)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (3)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (2)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (1)\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n {{lab.fullName}}\\r\\n

\\r\\n
\\r\\n \\r\\n {{ lab.labName }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{lab.phone}}\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{lab.email}}\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{ lab.addres }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'view_profile'|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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 { MatDialog } from \"@angular/material\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { LabSerachFilterModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { HomeService } from \"../home/home.service\";\r\nimport { LabBookAppointmentModalComponent } from \"./lab-book-appointment-modal/lab-book-appointment-modal.component\";\r\n\r\n@Component({\r\n selector: \"app-lab-booking-list\",\r\n templateUrl: \"./lab-booking-list.component.html\",\r\n styleUrls: [\"./lab-booking-list.component.css\"],\r\n})\r\nexport class LabBookingListComponent implements OnInit {\r\n showLoader = false;\r\n filterLabModel: LabSerachFilterModel;\r\n labList: any = [];\r\n doctorWidgetClass: string = \"col-sm-6 grid-profile mb-3\";\r\n masterGender: any = [];\r\n location: any[] = [];\r\n searchedLocation: string = \"\";\r\n selectedLocation: any;\r\n selectedDate: any;\r\n\r\n constructor(private dialogModal: MatDialog, private commonService: CommonService,private route: ActivatedRoute,private homeService: HomeService) {\r\n this.filterLabModel = new LabSerachFilterModel();\r\n }\r\n\r\n ngOnInit() {\r\n window.scroll(0,0)\r\n //this.getMasterData();\r\n this.getLabList();\r\n this.getMasterData();\r\n }\r\n\r\n getLabList() {\r\n this.filterLabModel.pageSize = 2000;\r\n this.homeService\r\n .getLabList(this.filterLabModel)\r\n .subscribe((response: any) => {\r\n this.filterLabModel.LabId = \"\";\r\n if (response != null && response.statusCode == 200) {\r\n // console.log(response);\r\n this.labList = response.data;\r\n } else {\r\n }\r\n this.showLoader = false;\r\n });\r\n }\r\n getMasterData(globalCodeId:any[]=[],requestType:any=0) {\r\n \r\n this.route.queryParams.subscribe(params => {\r\n \r\n var prvSelectedValue=this.commonService.encryptValue(params[\"sp\"], false)\r\n var prvSelectedService=this.commonService.encryptValue(params[\"srvc\"], false)\r\n });\r\n \r\n \r\n this.homeService\r\n .getMasterData(\"masterLocation,MASTERTAXONOMY,MASTERSTAFFSERVICE,MASTERSPECIALITY,MASTERGENDER\",true )\r\n .subscribe((response: any) => {\r\n // console.log(response)\r\n if (response != null) {\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n this.location =\r\n response.masterLocation != null ? response.masterLocation : [];\r\n this.route.queryParams.subscribe(params => {\r\n if (\r\n params[\"loc\"] != \"\" &&\r\n params[\"loc\"] != null &&\r\n params[\"loc\"] != undefined\r\n ) {\r\n this.selectedLocation = +this.commonService.encryptValue(\r\n params[\"loc\"],\r\n false\r\n ); //\r\n\r\n this.searchedLocation = this.location.find(\r\n x => (x.id = this.selectedLocation)\r\n ).locationName;\r\n }\r\n this.selectedDate = params[\"d\"]; // this.datePipe.transform(params['d'], 'yyyy-MM-dd');\r\n });\r\n }\r\n });\r\n }\r\n bookAppointment=(lab:any)=>{\r\n let dbModal;\r\n dbModal = this.dialogModal.open(LabBookAppointmentModalComponent, {\r\n hasBackdrop: true,\r\n data: lab,\r\n width:\"80%\"\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n // if (result == \"booked\") {\r\n // }\r\n //location.reload();\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \".mb-7 {\\r\\n margin-bottom: 70px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-checkbox {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header {\\r\\n padding: 0px 15px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header-title {\\r\\n align-items: center;\\r\\n color: #01385f;\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\ninput, option {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header-title i {\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n.search-filter .ng-select .ng-clear-wrapper .ng-clear {\\r\\n padding-top: 3px;\\r\\n}\\r\\n\\r\\n.search-filter .ng-select .ng-select-container {\\r\\n border: 1px solid #ccc !important;\\r\\n}\\r\\n\\r\\n.mat-raised-button {\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n border-radius: 10px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.sortBy .ng-select {\\r\\n margin-right: 1rem;\\r\\n min-width: 105px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container {\\r\\n border: 2px solid #17a2b8;\\r\\n color: #17a2b8;\\r\\n border-radius: 8px;\\r\\n}\\r\\n\\r\\n.sortBy .ng-select .ng-arrow-wrapper .ng-arrow {\\r\\n border-color: #17a2b8 transparent transparent; \\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input {\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 36px;\\r\\n}\\r\\n\\r\\n.sortBy .ng-select .ng-select-container .ng-value-container .ng-placeholder {\\r\\n color: #17a2b8;\\r\\n}\\r\\n\\r\\n.search-filter .mat-accordion {\\r\\n background: #fff;\\r\\n box-shadow: 0px 24px 24px rgba(0, 0, 0, 0.06);\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-card {\\r\\n box-shadow: 0px 25px 25px rgba(0, 0, 0, 0.06) !important;\\r\\n}\\r\\n\\r\\n.search-filter .mat-accordion .mat-expansion-panel-header {\\r\\n border-bottom: 1px solid #E0E0E0;\\r\\n}\\r\\n\\r\\n.search-filter .mat-accordion .mat-expansion-panel-spacing {\\r\\n margin: 0;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n.count-list {\\r\\n background: #fff;\\r\\n /* Old browsers */\\r\\n color: #fff;\\r\\n padding: 15px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n margin-bottom: 15px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n margin-top: 5rem;\\r\\n box-shadow: 0px -6px 34px rgb(0 0 0 / 10%);\\r\\n}\\r\\n\\r\\n.sortBy {\\r\\n display: flex;\\r\\n margin-left: 1rem;\\r\\n}\\r\\n\\r\\n.sortBy span {\\r\\n color: #000;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.sortBy .sort_width {\\r\\n min-width: 75px;\\r\\n}\\r\\n\\r\\n.sortBy select {\\r\\n border: 1px solid #17a2b8;\\r\\n color: #17a2b8;\\r\\n margin: 0px 15px;\\r\\n padding: 5px;\\r\\n border-radius: 8px;\\r\\n}\\r\\n\\r\\n.sortBy .thumbnail-icon a {\\r\\n color: #9B9B9B;\\r\\n margin: 0px 6px;\\r\\n}\\r\\n\\r\\n.sort-by {\\r\\n float: left;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.sort-by button {\\r\\n font-size: 18px;\\r\\n padding: 4px 18px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.sort-by button:hover {\\r\\n box-shadow: 0px 10px 20px rgb(0 0 0 / 16%);\\r\\n}\\r\\n\\r\\n.sort-by .mat-raised-button {\\r\\n border: 2px solid #01385f !important;\\r\\n padding: 2px 25px;\\r\\n color: #01385f !important;\\r\\n font-weight: 600;\\r\\n background-color: #fff !important;\\r\\n font-size: 14px;\\r\\n cursor: pointer;\\r\\n border-radius: 7px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.custom-ng-select {\\r\\n width: 135px;\\r\\n display: inline-block;\\r\\n margin-left: 10px;\\r\\n height: 30px;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.ng-select-single .ng-select-container {\\r\\n height: 25px;\\r\\n min-height: 25px;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 25px;\\r\\n}\\r\\n\\r\\n.count-list h3 {\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n margin: 0px;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-input {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-calendar-container {\\r\\n z-index: 1;\\r\\n top: inherit;\\r\\n}\\r\\n\\r\\n.search-filter .ngx-datepicker-container .ngx-datepicker-input {\\r\\n border: 1px solid #ccc !important;\\r\\n border-radius: 4px !important;\\r\\n -webkit-border-radius: 4px !important;\\r\\n min-height: 36px;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-selected,\\r\\n.main-calendar-days .day-unit:hover {\\r\\n background: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-today {\\r\\n background: #63d891 !important;\\r\\n}\\r\\n\\r\\n.filter-widget .mat-checkbox {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.filter-widget .more-widget {\\r\\n color: #17a2b8;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.filter-widget .ng-scrollbar-view {\\r\\n overflow: auto;\\r\\n}\\r\\n\\r\\n.filter-btn {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n/* .doctor-widget {\\r\\n margin-bottom: 30px;\\r\\n} */\\r\\n\\r\\n.doctor-widget .doc-info {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.doctor-widget .mat-card .fa-star-o {\\r\\n position: absolute;\\r\\n right: 10px;\\r\\n top: 10px;\\r\\n font-size: 18px;\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.doc-info-left {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.doctor-img {\\r\\n width: 180px;\\r\\n height: 180px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n overflow: hidden;\\r\\n margin-right: 15px;\\r\\n /* flex: 0 0 180px; */\\r\\n /* display: flex; */\\r\\n}\\r\\n\\r\\n.doctor-widget .doc-name {\\r\\n font-size: 24px;\\r\\n font-weight: 600;\\r\\n margin-bottom: 3px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.doc-name a {\\r\\n color: #01385f;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.doc-name a:hover {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.mat-card-content p.doc-speciality {\\r\\n font-size: 14px;\\r\\n color: #146795;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.doc-department {\\r\\n color: #146795;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n margin-bottom: 5px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.hand{\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 0px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.list-grid-btn {\\r\\n font-size: 20px;\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n\\r\\n.list-grid-btn .active {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.list-grid-btn i {\\r\\n cursor: pointer;\\r\\n color: #9b9b9b;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n color: #146795;\\r\\n}\\r\\n\\r\\n.cfee {\\r\\n margin-bottom: 7px;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n.clinic-services {\\r\\n color: #6AB8E4;\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n flex-wrap: wrap;\\r\\n min-height: 62px;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n border: 1px solid #6AB8E4;\\r\\n border-radius: 4px;\\r\\n display: inline-block;\\r\\n font-size: 12px;\\r\\n padding: 3px 10px;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n margin-right: 5px;\\r\\n margin-bottom: 5px;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.clinic-booking {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n border-top: 1px solid #ddd;\\r\\n padding-top: 15px;\\r\\n margin-top: 15px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.clinic-booking .mat-raised-button {\\r\\n box-shadow: none;\\r\\n -ms-box-shadow: none;\\r\\n min-width: 120px;\\r\\n border-radius: 10px;\\r\\n padding: 3px;\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.clinic-booking button.mat-accent {\\r\\n background-color: transparent;\\r\\n color: #17a2b8;\\r\\n border: 2px solid #17a2b8;\\r\\n}\\r\\n\\r\\na.link-btn {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,\\r\\n.mat-checkbox-checked.mat-accent .mat-checkbox-background {\\r\\n background-color: #fff !important;\\r\\n border: 2px solid #b9b9b9 !important;\\r\\n}\\r\\n\\r\\n.mat-checkbox-frame {\\r\\n border-color: #b9b9b9 !important;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #17a2b8 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 600;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #17a2b8;\\r\\n border-radius: 3px;\\r\\n}\\r\\n\\r\\n.link-btn:hover {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.chk-availability label {\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.chk-availability button {\\r\\n background: #fff;\\r\\n border: 1px solid #b9b9b9;\\r\\n border-radius: 5px;\\r\\n font-size: 13px;\\r\\n color: #b9b9b9;\\r\\n font-weight: 500;\\r\\n margin-right: 10px;\\r\\n margin-bottom: 10px;\\r\\n padding: 5px 10px;\\r\\n line-height: 13px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.chk-availability button:disabled {\\r\\n cursor: not-allowed;\\r\\n border: 1px solid #e5e5e5;\\r\\n}\\r\\n\\r\\n.chk-availability button.active {\\r\\n border-color: #e7d9f8;\\r\\n color: #01385f;\\r\\n background: #e7d9f8;\\r\\n}\\r\\n\\r\\n.chk-availability button:not(:disabled):hover {\\r\\n background: #189bed;\\r\\n color: #fff;\\r\\n border-color: #189bed;\\r\\n}\\r\\n\\r\\n.clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.clini-infos ul li {\\r\\n display: block;\\r\\n line-height: 28px;\\r\\n word-break: break-word;\\r\\n color: #01385f;\\r\\n position: relative;\\r\\n padding-left: 25px;\\r\\n padding-right: 5px;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n min-height: 28px;\\r\\n}\\r\\n\\r\\n.clini-infos ul li a {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.clini-infos ul li .direction {\\r\\n color: #17a2b8;\\r\\n cursor: pointer;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.clini-infos ul li i {\\r\\n font-size: 15px;\\r\\n min-width: 20px;\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 6px;\\r\\n}\\r\\n\\r\\n.doc-info-cont .row {\\r\\n margin-left: 0;\\r\\n}\\r\\n\\r\\n.mat-form-field+.mat-form-field {\\r\\n margin-left: 8px;\\r\\n}\\r\\n\\r\\n/* grid view */\\r\\n\\r\\n/* .grid-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n\\r\\n/* .grid-profile .clinic-services {\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.grid-profile .doc-info,\\r\\n.grid-profile .doc-info-left {\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-img {\\r\\n float: left;\\r\\n height: 130px;\\r\\n width: 130px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n width: 60%;\\r\\n flex-direction: row;\\r\\n margin-top: 0;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn .fee-sec {\\r\\n margin-right: 5px;\\r\\n color: #01385f;\\r\\n font-weight: 600;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn .fee-sec h3 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0px;\\r\\n margin-right: 0.5rem;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn .fee-sec h4 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.grid-profile button {\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-info-right {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-info-right .clini-infos {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.grid-profile .addres {\\r\\n min-height: 28px;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-department {\\r\\n /* min-height: 30px; */\\r\\n word-break: break-all;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-widget .doc-info {\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n/* list view */\\r\\n\\r\\n/* .list-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n\\r\\n.list-profile a {\\r\\n margin-right: 15px;\\r\\n}\\r\\n\\r\\n.pagination-nav {\\r\\n margin-top: 1.5rem;\\r\\n}\\r\\n\\r\\n.pagination-nav .pagination {\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.pagination-nav .pagination a {\\r\\n color: #01385f;\\r\\n font-weight: 600;\\r\\n border-radius: 4px;\\r\\n margin: 0 2px;\\r\\n border: none;\\r\\n}\\r\\n\\r\\n@media (max-width: 1199px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 130px;\\r\\n height: 130px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n }\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: column;\\r\\n gap: 10px;\\r\\n }\\r\\n .clinic-btn {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n }\\r\\n .list-profile a {\\r\\n margin-right: 0px;\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n /* .list-grid-btn,\\r\\n .sort-by {\\r\\n margin-top: 15px;\\r\\n } */\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n .count-list {\\r\\n justify-content: flex-start;\\r\\n flex-wrap: wrap;\\r\\n align-items: center;\\r\\n }\\r\\n .count-list h3 {\\r\\n margin: 5px 15px 5px 0px;\\r\\n font-size: 18px;\\r\\n }\\r\\n .sort-by {\\r\\n float: none;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .doctor-widget .doc-info {\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n }\\r\\n .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n float: left;\\r\\n }\\r\\n .clini-infos ul li {\\r\\n display: inline-block;\\r\\n padding-right: 10px;\\r\\n }\\r\\n .clini-infos ul li i {\\r\\n min-width: auto;\\r\\n }\\r\\n .doc-info-left {\\r\\n width: 100%;\\r\\n display: inherit;\\r\\n }\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: row;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 480px) {\\r\\n /* .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n } */\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: column;\\r\\n }\\r\\n .clinic-btn {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n.ngx-datepicker-calendar-container {\\r\\n z-index: 2 !important;\\r\\n}\\r\\n\\r\\n.ngx-slider .ngx-slider-bubble {\\r\\n font-weight: 500;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n line-height: 14px;\\r\\n padding-top: 0;\\r\\n margin-top: 8px;\\r\\n}\\r\\n\\r\\nmat-slider {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.price-range span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.mat-slider-thumb {\\r\\n border: 8px solid transparent !important;\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.mat-slider-track-fill {\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.cancl-pol-txt {\\r\\n color: #17a2b8 !important;\\r\\n cursor: pointer !important;\\r\\n font-weight: 500 !important;\\r\\n line-height: 20px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.mat-expansion-indicator::after {\\r\\n border-color: #17a2b8;\\r\\n}\\r\\n\\r\\n.mat-checkbox-layout .mat-checkbox-label {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.green-outline-btn {\\r\\n border-color: #17a2b8 !important;\\r\\n color: #17a2b8 !important;\\r\\n line-height: 36px;\\r\\n}\\r\\n\\r\\n.mrg-tp{\\r\\n margin-top: 95px;\\r\\n}\\r\\n\\r\\n.mrg-tp .sec-head {\\r\\n margin: 2rem 0;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.mrg-tp .sec-head h2 {\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n@media screen and (max-width:575px) {\\r\\n .sortBy {\\r\\n margin-left: 0rem !important;\\r\\n }\\r\\n .sortBy .ng-select {\\r\\n margin-left: 1rem;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{'lab_list'|translate}}

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

\\r\\n \\r\\n {{ lab.labName }}\\r\\n

\\r\\n
{{lab.fullName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{ lab.phone }}\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{ lab.email }}\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{ lab.addres }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

{{'pharmacy_list'|translate}}

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

\\r\\n \\r\\n {{ phar.pharmacyName }}\\r\\n

\\r\\n
{{phar.fullName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{ phar.phone }}\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{ phar.email }}\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{ phar.addres }}\\r\\n
  • \\r\\n
\\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 { MatDialog } from \"@angular/material\";\r\nimport { HomeService } from \"../home/home.service\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { AfterViewInit, Component, ElementRef, OnInit, QueryList, ViewChild, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { DatepickerOptions } from \"ng2-datepicker\";\r\nimport * as enLocale from \"date-fns/locale/en\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { LabSerachFilterModel, PharmacySearchFilterModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\nimport { debounceTime, map, distinctUntilChanged, filter } from \"rxjs/operators\";\r\nimport { fromEvent } from 'rxjs';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: 'app-lab-pharmacy-list',\r\n templateUrl: './lab-pharmacy-list.component.html',\r\n styleUrls: ['./lab-pharmacy-list.component.css']\r\n})\r\nexport class LabPharmacyListComponent implements OnInit {\r\n panelOpenState = false;\r\n specialityIconCheck: any;\r\n data: any[] = [];\r\n specialityIcon: any;\r\n showLoader: boolean = true;\r\n selectedSpeciality: any;\r\n selectedLocation: any;\r\n selectedDate: any;\r\n selectedGender: string;\r\n @ViewChild('tempselectedDate') tempselectedDate: ElementRef;\r\n @ViewChildren('temprating') temprating: QueryList;\r\n pharmacysearchtext: string;\r\n labserachtext: string;\r\n labWidgetClass: string = \"col-sm-6 grid-profile mb-3\";\r\n pharmacyWidgetClass: string = \"col-sm-6 grid-profile mb-3\";\r\n options: DatepickerOptions;\r\n metaData: any;\r\n location: any[] = [];\r\n filterModel: LabSerachFilterModel;\r\n phafilterModel: PharmacySearchFilterModel;\r\n labs: any = [];\r\n pharmacies: any = [];\r\n totalRecords: number = 0;\r\n searchedLocation: string = \"\";\r\n masterGender: any = [];\r\n checkedLocations: string[] = [];\r\n checkedGenders: string[] = [];\r\n staffTaxonomy: any[] = [];\r\n labId: string;\r\n pharmacyId: string;\r\n @ViewChild('prosearchtext') prosearchtext: ElementRef;\r\n constructor(private commonService: CommonService,\r\n private datePipe: DatePipe,\r\n private route: ActivatedRoute,\r\n private homeService: HomeService,\r\n private dialogModal: MatDialog,\r\n private headerComp: HomeHeaderComponent,\r\n private translate: TranslateService,\r\n private router: Router) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.filterModel = new LabSerachFilterModel();\r\n this.phafilterModel = new PharmacySearchFilterModel();\r\n }\r\n\r\n ngOnInit() {\r\n window.scroll(0, 0)\r\n this.getMasterData();\r\n this.getLabList();\r\n this.getPharmacyList();\r\n this.route.queryParams.subscribe(params => {\r\n this.labId = params[\"labId\"];\r\n this.pharmacyId = params[\"pharmacyId\"];\r\n });\r\n }\r\n\r\n getLabList() {\r\n this.filterModel.pageSize = 2000;\r\n this.homeService.getLabList(this.filterModel).subscribe((response: any) => {\r\n this.filterModel.LabId = '';\r\n this.labs = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n\r\n this.labs = response.data;\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords;\r\n } else {\r\n }\r\n this.showLoader = false;\r\n });\r\n }\r\n getPharmacyList() {\r\n this.phafilterModel.pageSize = 2000;\r\n this.homeService.getPharmacyList(this.phafilterModel).subscribe((response: any) => {\r\n this.phafilterModel.PharmacyId = '';\r\n this.pharmacies = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n\r\n this.pharmacies = response.data;\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords;\r\n } else {\r\n }\r\n this.showLoader = false;\r\n });\r\n }\r\n getMasterData(globalCodeId: any[] = [], requestType: any = 0) {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n\r\n var prvSelectedValue = this.commonService.encryptValue(params[\"sp\"], false)\r\n var prvSelectedService = this.commonService.encryptValue(params[\"srvc\"], false)\r\n });\r\n\r\n\r\n this.homeService\r\n .getMasterData(\"masterLocation,MASTERTAXONOMY,MASTERSTAFFSERVICE,MASTERSPECIALITY,MASTERGENDER\", true)\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n this.location =\r\n response.masterLocation != null ? response.masterLocation : [];\r\n this.route.queryParams.subscribe(params => {\r\n if (\r\n params[\"loc\"] != \"\" &&\r\n params[\"loc\"] != null &&\r\n params[\"loc\"] != undefined\r\n ) {\r\n this.selectedLocation = +this.commonService.encryptValue(\r\n params[\"loc\"],\r\n false\r\n ); //\r\n\r\n this.searchedLocation = this.location.find(\r\n x => (x.id = this.selectedLocation)\r\n ).locationName;\r\n }\r\n this.selectedDate = params[\"d\"]; // this.datePipe.transform(params['d'], 'yyyy-MM-dd');\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \".doctor-banner {\\r\\n background-image: url('our-doctor-banner.png');\\r\\n background-repeat: no-repeat;\\r\\n width: 100%;\\r\\n position: relative;\\r\\n background-size: cover;\\r\\n height: 600px;\\r\\n margin-bottom: 60px;\\r\\n}\\r\\n.whatwedo-content {\\r\\n background: rgb(15 216 239 / 30%);\\r\\n color: #fff;\\r\\n text-align: center;\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n width: 100%;\\r\\n padding: 40px 0;\\r\\n}\\r\\n.whatwedo-content h2{\\r\\n font-size: 3rem;\\r\\n}\\r\\nsection.the-benefits, .meet-doctor, section.team-mate{\\r\\n padding: 60px 0;\\r\\n}\\r\\n.team-box {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n.team-box img {\\r\\n width: 23%;\\r\\n margin-left: -40px;\\r\\n}\\r\\n.team-box img:first-child {\\r\\n margin-left: 0;\\r\\n}\\r\\n.team-box img:first-child, .team-box img:nth-child(3), .team-box img:nth-child(5){\\r\\n margin-top: 150px;\\r\\n}\\r\\n.team-box img:nth-child(2), .team-box img:nth-child(4){\\r\\n margin-top: -150px;\\r\\n margin-left: -40px;\\r\\n}\\r\\n.team-mate ul {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n list-style-type: none;\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n.team-mate ul li {\\r\\n width: 23%;\\r\\n margin: 5% 1%;\\r\\n position: relative;\\r\\n overflow: hidden;\\r\\n}\\r\\n.dr-box {\\r\\n background: rgb(47 38 96 / 80%);\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n text-align: center;\\r\\n color: #fff;\\r\\n padding: 20px; \\r\\n opacity: 0;\\r\\n transition: .26s all;\\r\\n height: 0;\\r\\n}\\r\\n.team-mate ul li:hover .dr-box {\\r\\n height: auto;\\r\\n opacity: 1;\\r\\n transition: .26s all;\\r\\n}\\r\\n.dr-box h3 {\\r\\n color: #01385f;\\r\\n font-weight: 600;\\r\\n margin: 0;\\r\\n}\\r\\n.dr-box h3 span {\\r\\n display: block;\\r\\n font-weight: 500;\\r\\n}\\r\\n.click-link {\\r\\n background: #01385f;\\r\\n display: flex;\\r\\n height: 100%;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n color: #01385f;\\r\\n}\\r\\n.click-link a {\\r\\n font-size: 1.75rem;\\r\\n font-weight: 600;\\r\\n color: #01385f;\\r\\n}\\r\\nsection.blue-line {\\r\\n background: #01385f;\\r\\n padding: 30px 0;\\r\\n}\\r\\nsection.blue-line h2, section.blue-line a{\\r\\n color: #ffffff;\\r\\n margin: 0;\\r\\n font-size: 1.6rem;\\r\\n text-align: center;\\r\\n \\r\\n}\\r\\nsection.blue-line a{\\r\\n text-decoration: underline;\\r\\n}\\r\\nsection.unwell {\\r\\n background: #01385f;\\r\\n color: #fff;\\r\\n padding: 30px 0;\\r\\n text-align: center;\\r\\n}\\r\\n.newslatter{\\r\\n background: #01385f;\\r\\n color: #fff;\\r\\n padding: 30px 0;\\r\\n text-align: center;\\r\\n}\\r\\nsection.unwell h2, .newslatter h2{\\r\\n font-size: 2.5rem;\\r\\n}\\r\\n.white-btn {\\r\\n color: #01385f;\\r\\n padding: 13px 30px;\\r\\n font-weight: 500;\\r\\n background: #fff;\\r\\n margin-top: 20px;\\r\\n display: inline-block;\\r\\n}\\r\\n.white-btn:hover {\\r\\n \\r\\n box-shadow: 0px 11px 27px rgb(0 0 0 / 16%);\\r\\n}\\r\\n.value-box {\\r\\n position: relative;\\r\\n margin-bottom: 40px;\\r\\n}\\r\\n.value-box .dr-box {\\r\\n background: rgb(47 38 96 / 60%);\\r\\n text-align: left;\\r\\n color: #fff;\\r\\n opacity: 1; \\r\\n height: auto;\\r\\n}\\r\\n.value-box .dr-box h3{\\r\\n color: #fff;\\r\\n}\\r\\nsection.key-value {\\r\\n padding: 60px 0 100px;\\r\\n}\\r\\n.wedo-box h4 {\\r\\n text-align: center;\\r\\n line-height: 54px;\\r\\n font-size: 2.3rem;\\r\\n color: #000;\\r\\n font-weight: 500;\\r\\n}\\r\\n.p-8{\\r\\n padding:0px 8px;\\r\\n}\\r\\n@media (max-width:767px){\\r\\n.team-mate ul li {\\r\\n width: 31%;\\r\\n}\\r\\n.dr-box h3 {\\r\\n font-size: 1.4rem;\\r\\n}\\r\\nsection.key-value {\\r\\n padding: 60px 0 0;\\r\\n}\\r\\n}\\r\\n@media (max-width:575px){\\r\\n section.blue-line h2, section.blue-line a {\\r\\n font-size: 1.3rem;\\r\\n }\\r\\n section.blue-line{\\r\\n padding: 20px 0;\\r\\n }\\r\\n .wedo-box h4{\\r\\n font-size: 1.3rem;\\r\\n line-height: 34px;\\r\\n }\\r\\n .team-mate ul li {\\r\\n width: 48%;\\r\\n }\\r\\n .dr-box h3 {\\r\\n font-size: 1rem;\\r\\n }\\r\\n .whatwedo-content h2 {\\r\\n font-size: 2rem;\\r\\n }\\r\\n .team-box img {\\r\\n width: 26%;\\r\\n margin-left: -30px;\\r\\n }\\r\\n .team-box img:first-child, .team-box img:nth-child(3), .team-box img:nth-child(5) {\\r\\n margin-top: 70px;\\r\\n }\\r\\n .team-box img:nth-child(2), .team-box img:nth-child(4) {\\r\\n margin-top: -70px;\\r\\n }\\r\\n section.doctor-team {\\r\\n padding: 0px 0 40px;\\r\\n }\\r\\n section.unwell h2, .newslatter h2 {\\r\\n font-size: 1.5rem;\\r\\n }\\r\\n .white-btn {\\r\\n margin-top: 5px;\\r\\n }\\r\\n .click-link a {\\r\\n font-size: 1rem;\\r\\n }\\r\\n .doctor-banner {\\r\\n height: 450px;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

The best of healthcare comes from a diverse team with a common goal

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"team\\\"\\r\\n \\\"team\\\"\\r\\n \\\"team\\\"\\r\\n \\\"team\\\"\\r\\n \\\"team\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

We value our people

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

With 200+ doctors and medical advisors joining our platform, we plan to make the best decisions\\r\\n and consultations for our patients. We provide our patients with a second opinion from different\\r\\n doctors within the same department so we can assure them their diagnostic is the right one.\\r\\n

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

Watch our virtual tour to understand how we connect with our patients. Learn\\r\\n More

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

Meet The Team

\\r\\n
    \\r\\n
  • \\r\\n \\\"team\\\"\\r\\n
    \\r\\n

    Alex B.Urologist

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\\"team\\\"\\r\\n
    \\r\\n

    Alex B.Urologist

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\\"team\\\"\\r\\n
    \\r\\n

    Alex B.Urologist

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\\"team\\\"\\r\\n
    \\r\\n

    Alex B.Urologist

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\\"team\\\"\\r\\n
    \\r\\n

    Alex B.Urologist

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n\\r\\n \\\"team\\\"\\r\\n
    \\r\\n

    Alex B.Urologist

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n\\r\\n \\\"team\\\"\\r\\n
    \\r\\n

    Alex B.Urologist

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Feeling unwell?

\\r\\n Book An Appointment\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Subscribe to our newsletter

\\r\\n Subscribe\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Our key values

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"team\\\"\\r\\n
\\r\\n

Primary health services

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"team\\\"\\r\\n
\\r\\n

Medical services

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"team\\\"\\r\\n
\\r\\n

Health Promotion

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"team\\\"\\r\\n
\\r\\n

Continuous Care

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"team\\\"\\r\\n
\\r\\n

Counselling

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"team\\\"\\r\\n
\\r\\n

Partnerships

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","\r\nimport { AfterViewInit, Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-our-doctors\",\r\n templateUrl: \"./our-doctors.component.html\",\r\n styleUrls: [\"./our-doctors.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OurDoctorsComponent implements OnInit {\r\n constructor(private translate: TranslateService) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n","module.exports = \"\\r\\n.our-specialities {\\r\\n padding: 60px 0px;\\r\\n background: #f6f5fae6;\\r\\n }\\r\\n \\r\\n .our-specialities .sec-head {\\r\\n text-align: center;\\r\\n margin-bottom: 50px;\\r\\n }\\r\\n \\r\\n .our-specialities .sec-head h2 {\\r\\n font-size: 35px;\\r\\n font-weight: 500;\\r\\n margin-bottom: 15px;\\r\\n color: #17a2b8;\\r\\n text-transform: uppercase;\\r\\n }\\r\\n \\r\\n .our-specialities .sec-head h3 {\\r\\n font-size: 35px;\\r\\n font-weight: 800;\\r\\n color: #01385f;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n }\\r\\n \\r\\n .spec-card .card-cont h2 {\\r\\n display: -webkit-box;\\r\\n -webkit-line-clamp: 2;\\r\\n overflow: hidden;\\r\\n height: 50px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n}\\r\\n \\r\\n .small-icon i.fa.fa-wheelchair-alt {\\r\\n position: relative;\\r\\n top: 7px;\\r\\n}\\r\\n \\r\\n @media screen and (max-width: 767px) {\\r\\n .our-specialities .sec-head h3 {\\r\\n font-size: 25px;\\r\\n }\\r\\n}\\r\\n \\r\\n .our-specialities .sec-head h3 span {\\r\\n /* color: #17a2b8; */\\r\\n color:#01385f;\\r\\n position: relative;\\r\\n }\\r\\n \\r\\n /* .our-specialities .sec-head h3 span::after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n bottom: -50px;\\r\\n left: 25px;\\r\\n right: 0;\\r\\n background-image: url(\\\"../../../assets/img/physician-deco.svg\\\");\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background-repeat: no-repeat;\\r\\n } */\\r\\n \\r\\n .our-specialities .link-text {\\r\\n margin-top: 30px;\\r\\n }\\r\\n \\r\\n .our-specialities .link-text a {\\r\\n color: #01385f;\\r\\n font-size: 20px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n font-weight: 600;\\r\\n }\\r\\n \\r\\n .spec-card {\\r\\n border-radius: 15px;\\r\\n overflow: hidden;\\r\\n position: relative;\\r\\n box-shadow: 0px 24px 32px -3px rgb(3 9 50 / 4%);\\r\\n margin-bottom: 30px;\\r\\n height: 300px;\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .spec-card.spec-card::after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 100%;\\r\\n right: 0px;\\r\\n bottom: 0px;\\r\\n background-color: #01385fad;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n transition: 0.5s ease-in-out;\\r\\n }\\r\\n \\r\\n .spec-card:hover.spec-card::after {\\r\\n top: 0px;\\r\\n }\\r\\n \\r\\n .spec-card .card-img {\\r\\n background-repeat: no-repeat;\\r\\n background-size: cover;\\r\\n background-position: center;\\r\\n width: 100%;\\r\\n height: 230px;\\r\\n border-radius: 22px;\\r\\n }\\r\\n \\r\\n .spec-card:hover .card-img {\\r\\n height: 300px;\\r\\n }\\r\\n \\r\\n .spec-card .card-cont {\\r\\n position: absolute;\\r\\n bottom: 0px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n width: auto;\\r\\n text-align: center;\\r\\n padding: 15px;\\r\\n background: #fff;\\r\\n border-radius: 0px 0px 20px 20px;\\r\\n }\\r\\n \\r\\n .spec-card:hover .card-cont {\\r\\n top: 10vh;\\r\\n color: #fff;\\r\\n background: transparent;\\r\\n z-index: 2;\\r\\n }\\r\\n \\r\\n .spec-card .card-cont h2 {\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n color: #01385f;\\r\\n margin: 10px 0px;\\r\\n }\\r\\n \\r\\n .spec-card:hover .card-cont h2 {\\r\\n color: #fff;\\r\\n }\\r\\n \\r\\n .spec-card .card-cont p {\\r\\n display: none;\\r\\n transition: 0.5s;\\r\\n font-size: 14px;\\r\\n }\\r\\n \\r\\n .spec-card:hover .card-cont p {\\r\\n display: block;\\r\\n }\\r\\n \\r\\n .spec-card .card-cont .small-icon {\\r\\n background: #01385f;\\r\\n color: #fff;\\r\\n width: 70px;\\r\\n height: 70px;\\r\\n padding: 10px;\\r\\n border-radius: 50%;\\r\\n box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);\\r\\n margin: auto;\\r\\n margin-top: -17%;\\r\\n line-height: 45px;\\r\\n }\\r\\n \\r\\n .spec-card .small-icon i:before {\\r\\n font-size: 2.3rem;\\r\\n color: #fff;\\r\\n }\\r\\n \\r\\n .spec-card:hover .card-cont .small-icon {\\r\\n background-color: #fff;\\r\\n -webkit-transform: rotateY(360deg);\\r\\n transform: rotateY(360deg);\\r\\n transition: 0.5s ease-in-out;\\r\\n }\\r\\n \\r\\n .spec-card .card-cont .small-icon img {\\r\\n -webkit-filter: brightness(0) invert(1);\\r\\n filter: brightness(0) invert(1);\\r\\n }\\r\\n \\r\\n .spec-card:hover .card-cont .small-icon img {\\r\\n -webkit-filter: brightness();\\r\\n filter: brightness();\\r\\n }\\r\\n \\r\\n .spec-card:hover .card-cont .small-icon i::before {\\r\\n color: #01385f;\\r\\n }\\r\\n \\r\\n .spec-card:hover .card-cont .icon-icon-women .path2:before {\\r\\n color: #01385f;\\r\\n }\\r\\n \\r\\n .contented__container__list{\\r\\n margin:0;\\r\\n padding: 0;\\r\\n }\\r\\n \\r\\n h1, h2, h3, h4, h5, span p{\\r\\n font-family: Raleway,sans-serif!important;\\r\\n }\\r\\n \\r\\n /* Our Specialities Section end */\\r\\n \\r\\n @media screen and (max-width: 991px) {\\r\\n .spec-card .card-cont h2 {\\r\\n font-size: 14px;\\r\\n }\\r\\n }\\r\\n \\r\\n @media screen and (max-width: 575px) {\\r\\n .banner-content p {\\r\\n font-size: 20px;\\r\\n }\\r\\n .our-specialities .sec-head h3 {\\r\\n font-size: 20px;\\r\\n }\\r\\n .our-specialities .sec-head h2 {\\r\\n font-size: 25px;\\r\\n }\\r\\n }\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'our_specialities'|translate}}

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

{{'meet_your' | translate}} \\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • {{'physicians' | translate}}
  • \\r\\n
  • {{'nutritionist' | translate}}
  • \\r\\n
  • {{'paediatrics' | translate}}
  • \\r\\n
  • {{'psychiatrist' | translate}}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n {{'online' | translate}}\\r\\n

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

{{'internal_medicine_family_doctor'|translate }}

\\r\\n

{{'internal_medicine_family_doctor_description'|translate }}

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

{{'nose_ears_and_throat_ent'|translate }}

\\r\\n

{{'nose_ears_and_throat_description'|translate }}

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

{{'Paediatrics'|translate }}

\\r\\n

{{'paediatrics_description'|translate }}

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

{{'respiratory_chest'|translate }}

\\r\\n

{{'respiratory_chest_description'|translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n
\\r\\n

{{'women_wellness'|translate }}

\\r\\n

{{'women_wellness_description'|translate }}

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

{{'Nutritionist'|translate }}

\\r\\n

{{'nutritionist_description'|translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n
\\r\\n

{{'psychology_psychiatry'|translate }}

\\r\\n

{{'psychology_psychiatry_description'|translate }}

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

{{'skin_care'|translate }}

\\r\\n

{{'skin_care_description'|translate }}

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

{{'speech_therapy'|translate }}

\\r\\n

{{'speech_therapy_description'|translate }}

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

{{'men_wellness'|translate }}

\\r\\n

{{'men_wellness_description'|translate }}

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

{{'urologist'|translate }}

\\r\\n

{{'urologist_description'|translate }}

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

{{'orthopaedics'|translate }}

\\r\\n

{{'orthopaedics_description'|translate }}

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

{{'oncologist'|translate }}

\\r\\n

{{'oncologist_description'|translate }}

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

{{'Gastroenterology_and_Hepatology'|translate }}

\\r\\n

{{'Gastroenterology_Description'|translate }}

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

{{'Immunology'|translate }}

\\r\\n

{{'Immunology_Description'|translate }}

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

{{'Weight_Managment'|translate }}

\\r\\n

{{'Weight_Managment_Description'|translate }}

\\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 {\r\n AfterViewInit,\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { HomeHeaderComponent } from \"../home-header/home-header.component\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-our-speciality\",\r\n templateUrl: \"./our-speciality.component.html\",\r\n styleUrls: [\"./our-speciality.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class OurSpecialityComponent implements OnInit, AfterViewInit {\r\n showOnView: boolean = false;\r\n\r\n constructor(\r\n private router: Router\r\n ) {\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n window.scroll(0, 0);\r\n\r\n }\r\n showAllServices() {\r\n this.showOnView = !this.showOnView;\r\n if(!this.showOnView){\r\n window.scroll(0, 0);\r\n }\r\n\r\n\r\n }\r\n RedirectToDoctorsList(sp) {\r\n this.router.navigate(['/doctor-list'], { queryParams: { 'searchTerm': sp } });\r\n }\r\n\r\n moreSpecialityClick() {\r\n let url = \"/doctor-list\";\r\n this.redirect(url);\r\n }\r\n\r\n redirect(path) {\r\n this.router.navigate([path]);\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"

\\r\\n payment-failure works!\\r\\n

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-payment-failure',\r\n templateUrl: './payment-failure.component.html',\r\n styleUrls: ['./payment-failure.component.css']\r\n})\r\nexport class PaymentFailureComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n padding: 7rem 0 4rem 0;\\r\\n}\\r\\n\\r\\n.appointment-panel h3 {\\r\\n font-size: 3.5rem;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #2f2660;\\r\\n font-size: 2rem;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n text-align: center;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.80);\\r\\n font-size: 15px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.app-booked{\\r\\n background-color: #01385f14;\\r\\n padding: 1.5rem;\\r\\n border: 2px solid #01385f;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
Request Submitted
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n Please do not refresh or close the browser, until\\r\\n the payment is successfully done.
\\r\\n

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

{{\\\"thank_you\\\"| translate}}

\\r\\n

\\r\\n Your appointment request has been successfully sent to the consultant.
\\r\\n \\r\\n Type Of Consultation : {{confirmation.Mode}}\\r\\n\\r\\n \\r\\n
\\r\\n Dr. {{userInfo.firstName}} {{userInfo.lastName}}\\r\\n \\r\\n
\\r\\n {{ spl.speciality }} \\r\\n
\\r\\n {{\\\"day\\\"| translate}} : {{ confirmation.StartDateTime | date: \\\"fullDate\\\" }}\\r\\n
\\r\\n {{\\\"time\\\"| translate}}: {{confirmation.StartDateTime | date: \\\"shortTime\\\"}} - {{ confirmation.EndDateTime | date:\\r\\n \\\"shortTime\\\"}}\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n We Will Send you and email with a booking confirmation as soon as your provider accepts the booking\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { UpdatePatAppointmentIdUserDocumentModel } from \"src/app/platform/modules/agency-portal/users/users.model\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { SchedulerService } from \"src/app/platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { ResponseModel } from \"src/app/super-admin-portal/core/modals/common-model\";\r\nimport { HomeService } from \"../home/home.service\";\r\n\r\n@Component({\r\n selector: \"app-payment-success\",\r\n templateUrl: \"./payment-success.component.html\",\r\n styleUrls: [\"./payment-success.component.css\"],\r\n})\r\nexport class PaymentSuccessComponent implements OnInit, OnDestroy {\r\n Message: { title: string; message: string; imgSrc: string };\r\n PaymentToken: any;\r\n isBooked: boolean;\r\n appId: any;\r\n userInfo: any;\r\n staffSpecialities: any[] = [];\r\n providerId: string;\r\n confirmation: any;\r\n urgentcare: any;\r\n\r\n constructor(\r\n private schedulerService: SchedulerService,\r\n private notifierService: NotifierService,\r\n private userService: UsersService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private homeService: HomeService\r\n ) { }\r\n ngOnDestroy(): void {\r\n localStorage.removeItem('preAppointmentData')\r\n localStorage.removeItem('preAppointmentDataDocs')\r\n }\r\n\r\n ngOnInit() {\r\n this.route.queryParams.subscribe((params) => {\r\n this.PaymentToken = params[\"id\"];\r\n this.urgentcare = params[\"urgentcare\"];\r\n });\r\n this.getStaffDetail();\r\n }\r\n createAppointmentFromPatientPortal() {\r\n var appointmentData = this.confirmation;\r\n appointmentData[\"PaymentToken\"] = this.PaymentToken;\r\n appointmentData[\"PatientAppointmentId\"] = 0;\r\n this.schedulerService\r\n // .bookNewAppointmentFromPatientPortal(appointmentData)\r\n // .subscribe((response) => {});\r\n this.schedulerService\r\n .bookNewAppointmentFromPatientPortal(appointmentData)\r\n .subscribe((response) => {\r\n if (response.statusCode === 200) {\r\n if (\r\n localStorage.getItem(\"reportObject\") != null &&\r\n localStorage.getItem(\"reportObject\") != undefined\r\n ) {\r\n var object = JSON.parse(localStorage.getItem(\"reportObject\"));\r\n localStorage.removeItem(\"reportObject\");\r\n\r\n if (object != null && object != undefined) {\r\n object.patientId = response.data;\r\n this.schedulerService\r\n .SaveSymptomatePatientReport(JSON.stringify(object))\r\n .subscribe((result: any) => { });\r\n }\r\n }\r\n //this.notifierService.notify(\"success\", response.message);\r\n \r\n this.isBooked = true;\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n localStorage.setItem(\"preAppointmentData\", \"\");\r\n //this.dialogModalRef.close(\"SAVE\");\r\n this.appId = response.data;\r\n this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n saveDocuments(appId) {\r\n var docsData = JSON.parse(localStorage.getItem(\"preAppointmentDataDocs\"));\r\n if (docsData) {\r\n var postData: UpdatePatAppointmentIdUserDocumentModel[] = [];\r\n docsData.forEach((res: any) => {\r\n var objData: UpdatePatAppointmentIdUserDocumentModel = {\r\n docId: res.id,\r\n patientAppointmentId: appId,\r\n };\r\n postData.push(objData);\r\n });\r\n this.userService\r\n .updatePatientAppointmentDocuments(postData)\r\n .subscribe((response: ResponseModel) => {\r\n localStorage.setItem(\"preAppointmentDataDocs\", \"\");\r\n });\r\n }\r\n }\r\n\r\n closeDialog() {\r\n // this.router.navigate([\"/web/waiting-room/reshedule/\" + this.appId]);\r\n this.router.navigate([\"/web/client/managelab\"]);\r\n }\r\n getStaffDetail() {\r\n if (this.urgentcare == 0) {\r\n this.confirmation = JSON.parse(\r\n localStorage.getItem(\"preAppointmentData\")\r\n );\r\n } else {\r\n this.confirmation = JSON.parse(\r\n localStorage.getItem(\"urgentAppointmentbookedData\")\r\n );\r\n }\r\n if (this.confirmation.AppointmentBookingFor == \"LAB\") {\r\n if (this.urgentcare == \"0\") {\r\n this.createAppointmentFromPatientPortal();\r\n } else {\r\n this.createUrgentAppointmentFromPatientPortal();\r\n }\r\n } else {\r\n this.providerId = this.confirmation.providerId;\r\n this.homeService.getProviderDetail(this.providerId).subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.userInfo = res.data;\r\n //providerCancellationRules\r\n this.bindStaffProfile();\r\n //////;\r\n if (this.urgentcare == \"0\") {\r\n this.createAppointmentFromPatientPortal();\r\n } else {\r\n this.createUrgentAppointmentFromPatientPortal();\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n // console.log(this.confirmation);\r\n\r\n\r\n }\r\n bindStaffProfile() {\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n }\r\n\r\n createUrgentAppointmentFromPatientPortal() {\r\n var appointmentData = this.confirmation;\r\n appointmentData[\"PaymentToken\"] = this.PaymentToken;\r\n appointmentData[\"PatientAppointmentId\"] = 0;\r\n this.schedulerService\r\n .bookUrgentCareAppointmentFromPatientPortal(appointmentData)\r\n .subscribe((response) => {\r\n //this.submitted = false;\r\n if (response.statusCode === 200) {\r\n if (\r\n localStorage.getItem(\"reportObject\") != null &&\r\n localStorage.getItem(\"reportObject\") != undefined\r\n ) {\r\n var object = JSON.parse(localStorage.getItem(\"reportObject\"));\r\n localStorage.removeItem(\"reportObject\");\r\n\r\n if (object != null && object != undefined) {\r\n object.patientId = response.data;\r\n this.schedulerService\r\n .SaveSymptomatePatientReport(JSON.stringify(object))\r\n .subscribe((result: any) => { });\r\n }\r\n }\r\n this.isBooked = true;\r\n localStorage.setItem(\"urgentAppointmentbookedData\", \"\");\r\n\r\n this.router.navigate([\"/web/client/dashboard\"]);\r\n this.appId = response.data;\r\n this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n

{{\\\"privacy_policy\\\"|translate}}

\\r\\n

Your access to, and use of the My Healthy Gate (d/b/a MHG) (“MHG”) services which include this web site (myhealthygate.com), the mobile application and the information, products and services that we provide to you and other users through this web site, as well as any mobile applications (“MHG App(s)”) provided by us in connection with our products and services (collectively, the “MHG Services”) is subject to the MHG Services Terms and Conditions and this Privacy Policy.

\\r\\n

MHG has created this Privacy Policy to explain what information we gather from you when you use the MHG Services, how we may use this information, the security approaches we use to protect your information, and how you can access and request modification of certain information that we may store about you. Please note that this Privacy Policy applies only to information collected via the MHG Services - it does not apply to information you disclose to MHG through other means. This Privacy Policy is incorporated and made part of the MHG Services Terms and Conditions.

\\r\\n

Your Acceptance of This Privacy Policy and Changes to It

\\r\\n

By accessing, viewing or otherwise using any MHG Service, you consent to the collection and use of your information by MHG in accordance with this Privacy Policy. If you do not agree to this Privacy Policy, you may not use any MHG Service. MHG reserves the right to change, modify, add or remove portions of this Privacy Policy at any time, without prior notice. Changes take effect on the date that change appears on the revised Privacy Policy. If you use any MHG Service following a change in this Privacy Policy, your use will be understood to signal that you accept and agree to be bound by the changes. Accordingly, we urge you to review this Privacy Policy frequently for changes.

\\r\\n

Information You Provide to Us

\\r\\n

Registration and Profile Information. We collect the information you provide when you create a My Healthy Gate account, including your name, email address, password, and date of birth. We will also receive any optional information you choose to add to your My Healthy Gate Profile (\\\"Profile\\\"), such as your health goals, medications, medical conditions, location, and other information. Health conditions and treatment recommendations often depend on your age, gender, and where you live. Having robust Profile information lets My Healthy Gate give you a personalized experience, and it helps My Healthy Gate doctors and health providers give you an appropriate treatment plan.

\\r\\n

Payment Information. When you add a credit card or payment method to your Profile or make a payment through our Services, we will collect that payment card information and a third party service provider that handles payments for us will receive your payment card information.

\\r\\n

Communications. If you contact us directly, we may receive additional information about you. For example, when you contact us for customer support, we will receive your name, email address, phone number, the contents of a message or attachments that you may send to us, and other information you choose to provide. If you subscribe to our newsletter, then we will collect certain information from you, such as your email address. When we send you emails, we may track whether you open them to learn how to deliver a better customer experience and improve our Services.

\\r\\n

If necessary, to perform the MHG Services, we may collect protected health information (“PHI”), as defined by the Health Insurance Portability and Accountability Act of 1996 (“HIPAA”). Any use of PHI will be in accordance with applicable laws, including HIPAA.

\\r\\n

Information We Collect When You Use Our Services

\\r\\n

Location Information. When you use our Services, including our mobile application, if you allow us, we may receive your precise location information. We use your location information to connect you with local doctors (for face-to-face and home visits) and to personalize and improve your experience by suggesting service providers that are located near to you or for home visits services. Service providers including but not limited to pharmacies, doctors, and lab test centers. We also use your location information to help our doctors develop an appropriate treatment plan for you. This location information is also used to help troubleshoot network connectivity and user experience issues. We also infer the general physical location of your device and the geographic regions our Members come from. For example, your internet protocol (\\\"IP\\\") address may indicate your general geographic region.

\\r\\n

Device Information. We receive information about the device and software you use to access our Services, including IP address, web browser type, operating system version, phone carrier and manufacturer, installed applications, device identifiers, mobile advertising identifiers, and push notification tokens.

\\r\\n

Usage Information. To help us understand how you use our Services and to help us improve them, when you use our Services, we automatically receive information about your interactions with our Services, such as the pages or other content you view, any content you post, and the dates and times of your visits.

\\r\\n

Information from Cookies and Similar Technologies. A cookie is a small piece of data that a website can send to your computer's internet browser, which is then stored on your computer's operating system. Cookies are how websites recognize users and keep track of their preferences. We and third-party partners collect information using cookies, pixel tags, or similar technologies. Our third-party partners, such as analytics and advertising partners, may use these technologies to collect information about your online activities over time and across different services.

\\r\\n

Please review your web browser's \\\"Help\\\" file to learn the proper way to modify your cookie settings. Please note that if you delete or choose not to accept cookies from the Service, you may not be able to utilize the features of the Service to their fullest potential.

\\r\\n

Your information may be supplemented with additional information from other companies such as publicly available information, information about households and other information that we may append or match to your information.

\\r\\n

How do we use your information?

\\r\\n

We may use the Personal Information and other data we collect from you when you register, purchase services, respond to a survey or marketing communication, access or view the MHG Services, or use certain other MHG Service features in the following ways:

\\r\\n
    \\r\\n
  • To provide any legitimate business service or product.
  • \\r\\n
  • To personalize your MHG Service and to allow us to deliver the type of content and product offerings in which you are most interested (including to present offers to you on behalf of business partners and advertisers).
  • \\r\\n
  • To allow us to better service you in responding to your customer service requests.
  • \\r\\n
  • To contact you when necessary or requested.
  • \\r\\n
  • To quickly process your transactions.
  • \\r\\n
  • To verify and validate your identity.
  • \\r\\n
  • To administer a promotion, survey or other MHG Service features.
  • \\r\\n
  • To show you advertisements, including interest-based or online behavioral advertising.
  • \\r\\n
  • To troubleshoot problems with the MHG Services, or any services, as requested.
  • \\r\\n
  • To enforce the Terms and Conditions, and to detect and protect against error, fraud and other unauthorized or illegal activities.
  • \\r\\n
  • To operate and improve the Services available through us.
  • \\r\\n
  • To fulfill your requests for tools, software, functionality, features and other products, and services;
  • \\r\\n
  • To communicate with you and respond to your inquiries.
  • \\r\\n
  • To conduct research about your use of our products; and
  • \\r\\n
  • To help offer you other products, features or services that may be of interest.
  • \\r\\n
\\r\\n

We reserve the right to make full use of Usage Data. For example, we may use Usage Data to provide better service to Service visitors or end users, customize the Services based on your preferences, compile and analyze statistics and trends about the use of our Services and otherwise administer and improve our Services.

\\r\\n

Do we disclose the information we collect to outside parties?

\\r\\n

We may share or otherwise disclose Personal Information in the circumstances described below.

\\r\\n

Affiliates. We may disclose Personal Information to our affiliates or partners to provide the Services or for other purposes for which the information was collected.

\\r\\n

Vendors and Service Providers. We may share Personal Information we receive with vendors and service providers in connection with the provision of the Services

\\r\\n

Our service providers, may be responsible for providing notices to Members. In the event Personal Information is (a) to be used for a purpose that is materially different from the purposes for which the Personal Information was originally collected or subsequently authorized, or (b) transferred to a third party acting as a data controller, Members will be given, where practical and appropriate, an opportunity to opt out of having non-sensitive Personal Information used or transferred. For sensitive information, including health related information, members will opt in before such use or transfer.

\\r\\n

In some instances, MHG may retain other service providers to perform functions on our behalf, including, but not limited to, website developers, IT services providers, shipping or direct mail organizations, storage facilities, or entities assisting us in a recruitment process.

\\r\\n

Analytics Partners. We may make certain Personal Information available to third parties for analytics purposes, including: (a) for MHG’s business or marketing purposes, such as to track sales leads; or (b) to leverage third-party tools to understand Members' interests, habits, and usage patterns, and/or functionality available through our Services. We only share your Personal Information with analytics partners to improve our own service and/or to deliver healthcare to you. We do not sell your Personal Information to advertisers.

\\r\\n

As Required by Law and Similar Disclosures. We may access, preserve, and disclose Personal Information if we believe doing so is required or appropriate, in our sole discretion, to: (a) comply with any applicable law, regulation, legal process or governmental request, such as a court order or subpoena, or otherwise cooperate with law enforcement or governmental agencies; (b) take precautions against liability; (c) protect your, our, or others' rights, property, or safety; (d) investigate and defend ourselves against any third-party claims or allegations; and (e) protect the security or integrity of our Services and any facilities or equipment used to make our Services available. For the avoidance of doubt, the disclosure of Personal Information may occur if you post any objectionable content on or through the Services.

\\r\\n

Member Content. Please note that our Terms of Use do not allow you to include Personal Information (such as your name, email address, or phone number) in any publicly available questions posted to our Services. MHG cannot control how such content is seen or used. We are not responsible for the other Members' use of available Personal Information, so you should carefully consider whether and what to post.

\\r\\n

Social Media Services. Our Services may allow you to, upon your direction, share Personal Information with certain social media services, such as Facebook, Twitter, Pinterest, and Google Plus. Please consider any impact on your privacy and anonymity when posting content to any and all social media services. You understand and agree that the use of Personal Information by any social media services will be governed by the respective privacy policies of those social media services and your settings on their platforms. We encourage you to review their privacy policies.

\\r\\n

Marketing. We do not rent, sell, or share Personal Information about you with non affiliated companies for their direct marketing purposes, unless we have your permission.

\\r\\n

Virtual Doctor Visits. We may share Personal Information with MHG doctors in order to facilitate your treatment and care. Like an in-person patient-doctor interaction, MHG virtual consults are confidential, but not anonymous. When using MHG Services, your Profile information, such as your real name and health information, are visible to doctors with whom you see or chat with in a virtual visit. This Profile information is not visible to other Members or to doctors who are not providing care or services in a virtual visit.

\\r\\n

By initiating a virtual consult, you consent to sharing your name and the health information in your Profile with doctors who treat you in virtual visits.

\\r\\n

Mergers, Sales, or Other Asset Transfers. We may disclose and otherwise transfer Personal Information to service providers, advisors, potential transactional partners, or other third parties in connection with the consideration, negotiation, or completion of a corporate transaction in which we are acquired by or merged with another company or we sell, liquidate, or transfer all or a portion of our assets.

\\r\\n

Correcting and Updating Your Personal Information

\\r\\n

You can correct or update your Personal Information by logging in your account and enter edit my profile and save.

\\r\\n

You can also upload any documents and save your medical tests results and reports. You can edit change or delete all information entered by yourself. You can identify the providers that can see your documents to maintain your privacy.

\\r\\n

“Do Not Track”

\\r\\n

Our MHG Services currently do not respond to “Do Not Track” (DNT) signals and do not recognize browser-based “do-not-track” requests.

\\r\\n

Safeguarding Your Personal Information Privacy and Third Party Links

\\r\\n

MHG follows generally accepted industry security standards to safeguard and help prevent unauthorized access and maintain data security of Personal Information. However, no commercial method of information transfer over the Internet or electronic data storage is known to be 100% secure. As a result, we cannot guarantee the absolute security of any Personal Information submitted to or otherwise collected during your use of any MHG Service. Accordingly, you understand and agree that you transmit all data, including Personal Information, to us at your own risk.

\\r\\n

Privacy and Third Party Links

\\r\\n

This Privacy Policy applies solely to information collected by the MHG Service through our web site located at www.myhealthygate.com and the mobile application(s) we make available. In an attempt to provide you with increased value, we may include third party links on the MHG Services. This Privacy Policy does not apply to the third party sites and services that are accessible through these links and we suggest that you contact the operator of the third party service to obtain details about their privacy policies. We have no responsibility or liability for the content and activities of these linked sites or services. Nonetheless, we seek to protect the integrity of the MHG Services and welcome any feedback about these linked sites (including if a specific link does not work).

\\r\\n

Exclusions

\\r\\n

This Privacy Policy shall not apply to any unsolicited information you provide to us through the MHG Services or through any other means. This includes, but is not limited to, any ideas for new products or modifications to existing products, and other unsolicited submissions (collectively, “Unsolicited Information”). All Unsolicited Information shall be deemed to be non-confidential and we shall be free to reproduce, use, disclose, and distribute such Unsolicited Information to others without limitation or attribution.

\\r\\n

Children's Privacy

\\r\\n

Only individuals 18 years of age or older are authorized to use the MHG Services, either for themselves or on behalf of their minor children. We do not knowingly collect information directly from children under the age of eighteen. If you have reason to believe that an individual under the age of 18 has provided Personal Information to us through at MHG Service, please contact us, and we will endeavor to delete that information from our databases.

\\r\\n

Retention of Your Personal Information

\\r\\n

We will store the Personal Information you provide for as long as we believe is necessary or appropriate (i) to carry out the purpose(s) for which we collected it, or (ii) to comply with applicable laws, contracts, or other rules or regulations.

\\r\\n

We prioritise the security of your Personal Information whilst it is in our possession. We may hold Personal Information in various forms, including but not limited to electronic records visual records (X-rays, CT scans, videos and photos) and audio recordings. Videos of virtual visits will not be recorded or stored on MHG or any third party systems.

\\r\\n

Electronic files are stored securely on protected information systems (for example Azure and open Tok) and are only accessible through our secure network. We maintain physical security over our paper and electronic data stores, and confidentiality agreements form part of the employment contracts for all of our staff members and contractors.

\\r\\n

We take reasonable steps to:

\\r\\n
    \\r\\n
  • ensure that Personal Information we collect is accurate, up-to-date, complete and relevant, other than where it is only collected to provide advice in respect of a particular point in time, in which case we will seek to ensure it is accurate, complete and relevant as at that particular point in time;
  • \\r\\n
  • ensure that Personal Information we use or disclose is accurate, up-to-date, complete and relevant, having regard to the purposes for which Personal Information is used or disclosed;
  • \\r\\n
  • protect Personal Information from misuse, interference and loss, and from unauthorised access, modification or disclosure;
  • \\r\\n
  • and destroy or de-identify Personal Information which we no longer need for the purposes for which it was collected, except where it is necessary to retain it in order to maintain ongoing records for our clients.
  • \\r\\n
\\r\\n

We will only retain your Personal Information for as long as reasonably necessary to fulfil the purposes we collected it for, including for the purposes of satisfying any legal, regulatory, tax, accounting or reporting requirements.  We may retain your Personal Information for a longer period in the event of a complaint or if we reasonably believe there is a prospect of litigation in respect to our relationship with you.

\\r\\n

When you send Personal Information to us over the internet, your data is protected by state-of-the-art Secure Socket Layer (SSL) technology. This is the same technology used to secure Internet Banking transactions.  Whilst all reasonable care is taken, we cannot however guarantee the security of information transmitted via the internet. As such, transmission of Personal Information via the internet is at your own risk and we cannot be held responsible for the security of such information.

\\r\\n

Questions and Feedback

\\r\\n

We welcome your questions, comments, and concerns about the MHG Services. Please send us any and all feedback pertaining to the MHG Services to support@myhealthygate.com

\\r\\n

We do not rent or sell your personally identifiable information (such as name, address, telephone number and credit card information) to unaffiliated third parties for their marketing purposes. We may share your information with third parties to provide products and services you have requested, when we have your consent, or as described in this Privacy Policy.

\\r\\n

Changes to this Privacy Policy

\\r\\n

We may update this Privacy Policy from time to time, and so you should review this Policy periodically. Your continued use of any Services constitutes your acceptance of any such changes.

\\r\\n

Please send any questions or feedback pertaining to the Privacy Policy to MHG’s at support@myhealthygate.com

\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".privacy-policy {\\n padding: 8rem 0 4rem 0px; }\\n @media screen and (max-width: 991px) {\\n .privacy-policy {\\n padding: 6rem 0 4rem 0px; } }\\n .privacy-policy h2 {\\n font-size: 3rem;\\n font-weight: 600;\\n text-align: center;\\n margin-bottom: 20px; }\\n @media screen and (max-width: 991px) {\\n .privacy-policy h2 {\\n font-size: 2rem;\\n font-weight: 600;\\n text-align: left;\\n margin-bottom: 20px; } }\\n @media screen and (max-width: 575px) {\\n .privacy-policy h2 {\\n font-size: 1.5rem; } }\\n .privacy-policy h3 {\\n font-size: 2rem;\\n font-weight: 600;\\n margin: 15px 0px;\\n line-height: 2; }\\n @media screen and (max-width: 991px) {\\n .privacy-policy h3 {\\n font-size: 1.7rem;\\n line-height: inherit !important;\\n margin: 15px 0px; } }\\n @media screen and (max-width: 575px) {\\n .privacy-policy h3 {\\n font-size: 1.5rem; } }\\n .privacy-policy h4 {\\n font-size: 1.5rem;\\n font-weight: 600;\\n margin: 15px 0px;\\n line-height: 2; }\\n .privacy-policy p {\\n font-size: 1.25rem;\\n line-height: 1.75; }\\n @media screen and (max-width: 991px) {\\n .privacy-policy p {\\n font-size: 1rem;\\n line-height: 1.75; } }\\n .privacy-policy a {\\n color: #01385f; }\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: 'app-privacy-policy',\r\n templateUrl: './privacy-policy.component.html',\r\n styleUrls: ['./privacy-policy.component.scss']\r\n})\r\nexport class PrivacyPolicyComponent implements OnInit {\r\n\r\n constructor(private translate: TranslateService) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n window.scroll(0, 0);\r\n }\r\n\r\n}\r\n","module.exports = \".custom_modal h3 {\\r\\n background: #01385f;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n font-weight: 500 !important;\\r\\n line-height: 20px !important;\\r\\n padding: 15px 20px !important;\\r\\n text-transform: uppercase;\\r\\n margin: 0px 0px 10px 0px;\\r\\n }\\r\\n\\r\\n .txt-cntr{\\r\\n text-align: center;\\r\\n }\\r\\n\\r\\n .mat-dialog-actions {\\r\\n\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n .link-btn {\\r\\n background-color: #fff;\\r\\n color: #17a2b8 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #17a2b8;\\r\\n border-radius: 3px;\\r\\n}\\r\\n\\r\\n .pd-12{\\r\\n padding: 12px !important;\\r\\n}\"","module.exports = \"
\\r\\n

{{ \\\"cancellation_policy\\\" | translate }}

\\r\\n
\\r\\n\\r\\n
\\r\\n
0\\\" class=\\\"row text-center\\\">\\r\\n
\\r\\n {{ \\\"upto_hours\\\" | translate }}\\r\\n
\\r\\n
\\r\\n Refund\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{cr.uptoHours}}\\r\\n
\\r\\n
\\r\\n {{cr.refundPercentage + '%'}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Cancellation policy is not there hence no refund will be given in case of cancellation.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import {\r\n Component,\r\n Inject,\r\n} from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { CancelationRule } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\n\r\n@Component({\r\n selector: \"app-provider-fee-settings\",\r\n templateUrl: \"./provider-fee-settings.component.html\",\r\n styleUrls: [\"./provider-fee-settings.component.css\"],\r\n})\r\nexport class ProviderFeeSettingsComponent {\r\n\r\n constructor(\r\n public dialogPopup: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: CancelationRule[],\r\n ) {\r\n\r\n }\r\n\r\n onClose(){\r\n this.dialogPopup.close();\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

\\r\\n Dr. {{ fullname }}\\r\\n {{ this.userInfo.clinicName?this.userInfo.clinicName:fullname\\r\\n }}\\r\\n
\\r\\n \\r\\n 0\\\" class=\\\"d-inline-block average-rating\\\">({{ averageRating.total\\r\\n }})\\r\\n
\\r\\n

\\r\\n \\r\\n
\\r\\n {{ spl.speciality }}\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{ userInfo.phoneNumber }}\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{ userInfo.email }}\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{ userInfo.address }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"about_me\\\" | translate}}

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

{{\\\"work_and_experience\\\" | translate}}

\\r\\n
    \\r\\n
  • \\r\\n {{ exp.organizationName }}\\r\\n {{ exp.startDate | date: \\\"mediumDate\\\" }} -\\r\\n {{ exp.endDate | date: \\\"mediumDate\\\" }} ({{\\r\\n exp.totalExperience\\r\\n }})\\r\\n
  • \\r\\n
\\r\\n No work & experience added yet.\\r\\n
\\r\\n
\\r\\n

{{\\\"education\\\" | translate}}

\\r\\n
    \\r\\n
  • \\r\\n {{ edu.university }}\\r\\n {{ edu.course }}\\r\\n {{ edu.startDate | date: \\\"mediumDate\\\" }} -\\r\\n {{ edu.endDate | date: \\\"mediumDate\\\" }}\\r\\n
  • \\r\\n
\\r\\n No qualification added yet.\\r\\n
\\r\\n
\\r\\n

{{\\\"awards\\\" | translate }}

\\r\\n
    \\r\\n
  • \\r\\n \\r\\n

    {{ award.awardType }}

    \\r\\n {{ award.description }}\\r\\n
  • \\r\\n
\\r\\n No awards added yet.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"services\\\" | translate}}

\\r\\n
    \\r\\n
  • \\r\\n {{ serv.serviceName }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{ userInfo.address }}  {{'Get Directions'|translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{\\\"map\\\" | translate}}

\\r\\n \\r\\n \\r\\n \\r\\n {{ m?.label }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
{{'no _rating'|translate}}
\\r\\n
0\\\">\\r\\n

{{\\\"reviews\\\" | translate}} ({{reviewRatingList.length}})

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

{{reviewss.createdDate | date:'dd/MM/yyyy hh:mm a'}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n 0 }\\\">\\r\\n 1 }\\\">\\r\\n 2 }\\\">\\r\\n 3 }\\\">\\r\\n 4 }\\\">\\r\\n
\\r\\n
\\r\\n

{{reviewss.review}}

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

{{\\\"consultation_fee\\\"| translate}}(All Types)

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{\\\"online\\\" | translate}}{{\\\"face_to_face\\\" | translate}}{{\\\"home_visit\\\" | translate}}
{{\\\"new\\\" | translate}}JOD {{this.userInfo == undefined ? '0': this.userInfo.payRate}}JOD {{this.userInfo == undefined ? '0': this.userInfo.ftFpayRate}}JOD {{this.userInfo == undefined ? '0': this.userInfo.homeVisitPayRate}}
{{\\\"follow_up\\\" | translate}}JOD {{this.userInfo == undefined ? '0': this.userInfo.followUpPayRate}}JOD {{this.userInfo == undefined ? '0': this.userInfo.followUpPayRate}}JOD {{this.userInfo == undefined ? '0': this.userInfo.followUpPayRate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"agm-map {\\n height: 500px; }\\n\\n.mat-card {\\n padding: 15px; }\\n\\n.readmin-panel {\\n background-color: #fff;\\n padding: 15px;\\n /* box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14),\\r\\n 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2),\\r\\n 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); */ }\\n\\n.mb-10 {\\n margin-bottom: 100px; }\\n\\n.doctor-profile .mat-raised-button {\\n box-shadow: none !important;\\n -webkit-box-shadow: none !important;\\n font-family: 'Raleway', sans-serif;\\n border-radius: 10px; }\\n\\n.doctor-profile .doctor-widget {\\n margin-bottom: 15px; }\\n\\n.doctor-profile .doctor-widget .doc-info {\\n display: flex;\\n font-family: 'Raleway', sans-serif;\\n justify-content: space-between; }\\n\\n.doctor-profile .profile-view .mat-card {\\n border-radius: 15px !important;\\n box-shadow: none;\\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\\n padding-bottom: 2rem; }\\n\\n.doctor-profile .doctor-profile .doctor-profile-img .doctor-img {\\n width: 150px;\\n height: 150px;\\n min-width: 150px;\\n border-radius: 50%;\\n overflow: inherit;\\n margin-right: 15px;\\n position: relative; }\\n\\n.doctor-profile .doctor-img .play_btn {\\n position: absolute;\\n bottom: -70px;\\n left: 0;\\n right: 0;\\n margin: auto;\\n width: 70px; }\\n\\n.doctor-profile img.profile-img {\\n width: 150px;\\n height: 150px; }\\n\\n.doctor-profile .doc-info-cont star-rating span.star {\\n margin: 0; }\\n\\n.doctor-profile .doctor-widget .doc-name {\\n font-size: 24px;\\n font-weight: 500;\\n margin-bottom: 3px;\\n line-height: 1.5; }\\n\\n.doctor-profile .doctor-profile .doc-name a {\\n color: #000;\\n font-weight: 600;\\n font-size: 18px; }\\n\\n.doctor-profile .doc-name a:hover {\\n color: #17a2b8; }\\n\\n.doctor-profile .mat-card-content p.doc-speciality {\\n font-size: 14px;\\n color: #757575;\\n margin-bottom: 10px; }\\n\\n.doctor-profile .doc-department {\\n color: rgba(0, 0, 0, 0.6);\\n font-weight: 500;\\n font-size: 14px;\\n margin-bottom: 0;\\n display: inline-block;\\n margin-right: 0.5rem; }\\n\\n.doctor-profile .rating {\\n list-style: none;\\n padding: 0;\\n width: 100%; }\\n\\n.doctor-profile .doctor-widget .rating i {\\n font-size: 14px; }\\n\\n.doctor-profile .rating i {\\n color: #dedfe0; }\\n\\n.doctor-profile .rating i.filled {\\n color: #f4c150; }\\n\\n.doctor-profile .doctor-widget .average-rating {\\n font-size: 14px;\\n font-weight: 500; }\\n\\n.clinic-services {\\n color: #272b41;\\n display: flex;\\n font-size: 13px;\\n flex-wrap: wrap;\\n margin-top: 0.5rem; }\\n\\n.clinic-services span {\\n border: 1px solid #ccc;\\n border-radius: 4px;\\n display: inline-block;\\n font-size: 12px;\\n padding: 3px 10px; }\\n\\n.star:before {\\n content: '\\\\2605';\\n font-size: 28px; }\\n\\n.clinic-services span {\\n margin-right: 5px;\\n margin-bottom: 5px; }\\n\\n.clinic-gallery .ngx-gallery-remaining-count {\\n font-size: 20px !important; }\\n\\n.clinic-booking {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n gap: 10px;\\n flex-wrap: wrap; }\\n\\n.profile-view .clinic-booking .mat-raised-button {\\n box-shadow: none;\\n -ms-box-shadow: none;\\n width: 100%;\\n margin-top: 15px;\\n border-radius: 10px;\\n font-weight: 600;\\n padding: 4px 15px; }\\n\\n.link-btn {\\n background-color: #fff;\\n min-width: 120px;\\n text-align: center;\\n line-height: 32px;\\n font-weight: 500;\\n font-size: 15px;\\n padding: 3px 5px;\\n color: #17a2b8 !important;\\n display: inline-block;\\n cursor: pointer;\\n border: 2px solid #17a2b8;\\n border-radius: 3px; }\\n\\n.profile-view .clinic-booking button.mat-accent {\\n background-color: transparent;\\n color: #01385f;\\n border: 2px solid #01385f;\\n padding: 1px 15px;\\n margin-right: 0 !important; }\\n\\n.profile-view .clini-infos ul {\\n font-size: 14px;\\n list-style: none;\\n margin: 0;\\n padding: 0; }\\n\\n.clini-infos ul li {\\n display: block;\\n line-height: 25px;\\n color: #4e4852; }\\n\\n.clini-infos ul li i {\\n font-size: 15px;\\n min-width: 20px; }\\n\\n.doc-info-cont {\\n padding-right: 15px; }\\n\\n.profile-widget h4,\\n.service-list h4 {\\n font-size: 16px;\\n font-weight: 700;\\n color: #01385f;\\n font-family: 'Raleway', sans-serif;\\n margin-bottom: 10px; }\\n\\n.profile-widget h4 span {\\n color: #17a2b8; }\\n\\n.profile-widget h5 {\\n font-size: 18px; }\\n\\n.profile-widget h6 {\\n font-size: 16px; }\\n\\n.profile-widget {\\n margin-top: 20px;\\n font-family: 'Raleway', sans-serif;\\n color: #01385f; }\\n\\n.profile-widget ul {\\n margin: 0px;\\n padding: 0px 0px 0px 5px; }\\n\\n.profile-widget ul li {\\n list-style: none;\\n padding-bottom: 20px;\\n position: relative;\\n border-left: 1px solid #ccc;\\n padding-left: 15px;\\n line-height: 15px;\\n color: #01385f;\\n font-size: 15px; }\\n\\n.profile-widget ul li:before {\\n position: absolute;\\n content: \\\"\\\";\\n width: 12px;\\n height: 12px;\\n background: #17a2b8;\\n border-radius: 100px;\\n left: -6px;\\n top: 0px;\\n z-index: 1; }\\n\\n.profile-widget ul li:last-child {\\n padding-bottom: 0px; }\\n\\n.profile-widget ul li span {\\n display: block;\\n font-size: 15px;\\n margin: 5px 0px 0px;\\n line-height: 20px;\\n font-weight: 300;\\n color: #01385f; }\\n\\n.profile-widget ul li p {\\n color: #01385f;\\n margin-bottom: 5px; }\\n\\n.profile-widget .timingss {\\n display: flex;\\n justify-content: space-between;\\n width: 50%; }\\n\\n.profile-widget .timings-days {\\n color: #01385f;\\n font-weight: 500; }\\n\\n.profile-widget .timings-days span {\\n font-weight: 500;\\n color: #2f2660; }\\n\\n.profile-widget .timings-times {\\n color: #01385f;\\n font-weight: 500; }\\n\\n.service-list {\\n margin-top: 30px;\\n background-color: #faf6f6;\\n padding: 1.5rem;\\n border-radius: 10px; }\\n\\n.service-list h4 {\\n color: #01385f;\\n font-weight: 600;\\n margin-bottom: 1.25rem;\\n font-size: 16px; }\\n\\n.service-list ul li {\\n display: block;\\n font-size: 15px;\\n font-weight: 300;\\n color: #01385f;\\n margin-bottom: 10px;\\n list-style: none;\\n position: relative;\\n padding-left: 25px;\\n font-family: 'Raleway', sans-serif; }\\n\\n.service-list ul li:nth-last-child(1) {\\n margin-bottom: 0; }\\n\\n.service-list ul {\\n padding: 0px;\\n margin: 0px; }\\n\\n.service-list ul li:before {\\n position: absolute;\\n content: \\\"\\\\2713\\\";\\n left: 0px;\\n top: 0px;\\n color: #17a2b8;\\n font-weight: bold; }\\n\\n.clinic-content,\\n.clinic-timing {\\n font-family: 'Raleway', sans-serif; }\\n\\n.clinic-direction {\\n font-size: 14px;\\n font-weight: 500;\\n margin-top: 10px; }\\n\\n.clinic-direction a {\\n color: #17a2b8;\\n margin-top: 10px;\\n display: inline-block; }\\n\\n.clinic-timing > div {\\n margin-top: 5px; }\\n\\n.clinic-timing p {\\n margin-bottom: 5px; }\\n\\n.timings-days span {\\n font-weight: 600; }\\n\\n.clinic-timing span {\\n display: block; }\\n\\n.direction-map {\\n width: 100%;\\n height: 400px;\\n border-radius: 0px;\\n overflow: hidden;\\n margin-top: 20px; }\\n\\n.clinic-services span {\\n color: #6ab8e4;\\n border-color: #6ab8e4;\\n font-size: 16px; }\\n\\n.clini-infos ul li {\\n color: rgba(0, 0, 0, 0.6); }\\n\\n.clinic-booking p {\\n color: #01385f;\\n margin-bottom: 1rem;\\n font-size: 16px; }\\n\\n.clinic-booking .mat-raised-button {\\n margin-top: 0 !important; }\\n\\n.profile-widget .table th {\\n font-weight: 600;\\n font-size: 16px;\\n padding: 10px !important; }\\n\\n.profile-widget .table td {\\n color: #01385f;\\n font-weight: 600;\\n font-size: 16px;\\n padding: 10px !important; }\\n\\n@media (max-width: 575px) {\\n .doctor-widget .doc-info {\\n display: inline-block;\\n width: 100%; }\\n .profile-widget .table td {\\n font-size: 12px;\\n padding: 5px !important; }\\n .profile-widget .table th {\\n font-size: 12px;\\n padding: 5px !important; }\\n .doc-info-right {\\n width: 100%; }\\n .clini-infos {\\n margin-top: 15px; }\\n .clini-infos ul li {\\n display: inline-block;\\n padding-right: 10px; }\\n .star:before {\\n content: '\\\\2605';\\n font-size: 20px; }\\n span.star {\\n font-size: 25px !important; }\\n .clini-infos ul li i {\\n min-width: auto; }\\n .provider-info-right.doc-info-right .clini-infos ul li {\\n font-size: 12px !important; }\\n .doctor-profile .doc-department {\\n font-size: 12px !important; }\\n .profile-widget h4, .service-list h4 {\\n font-size: 14px !important; }\\n .profile-widget div {\\n font-size: 14px !important; }\\n .profile-widget ul li span {\\n font-size: 12px !important; }\\n .service-list {\\n margin-top: 10px; }\\n .service-list h4 {\\n font-size: 14px !important; }\\n .service-list ul li {\\n font-size: 12px !important; }\\n .profile-widget .dark-grey-color {\\n font-size: 13px !important; }\\n .doctor-profile .doctor-widget .doc-name {\\n font-size: 18px !important; } }\\n\\n@media (max-width: 575px) {\\n .doc-info > div {\\n flex-direction: column; }\\n .doctor-img {\\n margin-bottom: 10px;\\n width: 100%; }\\n .doc-info-cont {\\n padding-right: 0px; } }\\n\\n.star {\\n margin-right: -4px; }\\n\\n.average-rating {\\n font-size: 12px !important;\\n line-height: 30px; }\\n\\n.provider-block {\\n display: block;\\n height: 600px;\\n overflow: auto; }\\n\\n.provider-block .fa-close {\\n position: fixed;\\n top: 10px;\\n right: 10px;\\n background-color: #00375d;\\n width: 32px;\\n height: 32px;\\n border-radius: 50%;\\n color: #fff;\\n padding: 6px 9px;\\n cursor: pointer;\\n z-index: 9999; }\\n\\n.profile-widget .dark-grey-color {\\n color: #2f2660;\\n font-size: 16px; }\\n\\n.profile-view .clinic-booking .mat-raised-button.dark-button {\\n color: #fff;\\n background-color: #01385f;\\n border-color: #01385f; }\\n\\n.clinic-booking button.see-fees {\\n cursor: pointer;\\n font-size: 16px;\\n min-width: 80px;\\n margin: 0;\\n margin-right: 0.25rem;\\n margin-left: 2px;\\n margin-bottom: 5px;\\n width: 187px;\\n height: 40px; }\\n\\n.profile-reviews .review-count {\\n background: #ffffff;\\n border: 1px solid #dedede;\\n border-radius: 10px;\\n padding: 1rem; }\\n\\n.review-bar {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n flex-wrap: wrap;\\n margin-bottom: 1rem; }\\n\\n.review-count h4 {\\n margin-bottom: 1rem;\\n color: #2F2660;\\n font-size: 16px;\\n font-weight: 700; }\\n\\n.review-bar .review-Star {\\n display: flex;\\n width: 85%; }\\n\\n.review-bar .review-Star i.active {\\n color: #F4C150; }\\n\\n.review-bar .review-Star i {\\n margin-right: 5px;\\n font-size: 12px;\\n color: #dadada; }\\n\\n.review-bar p {\\n font-size: 14px;\\n font-weight: 700;\\n color: #000;\\n margin: 0; }\\n\\n.review-bar .progress {\\n width: 100%;\\n height: 8px; }\\n\\n.review-bar .progress .progress-bar {\\n background-color: #17a2b8; }\\n\\n.profile-reviews {\\n padding: 1rem; }\\n\\n.review-area h4 {\\n color: #2F2660;\\n font-size: 18px;\\n font-weight: 700;\\n margin-bottom: 1rem; }\\n\\n.review-text {\\n display: flex;\\n justify-content: space-between;\\n margin-bottom: 1rem; }\\n\\n.review-card {\\n background: #FFFFFF;\\n border: 1px solid rgba(0, 0, 0, 0.05);\\n padding: 1.5rem;\\n margin-bottom: 1rem; }\\n\\n.review-profile {\\n display: flex;\\n align-items: center; }\\n\\n.review-profile img {\\n margin-right: 1rem;\\n width: 65px; }\\n\\n.review-profile .profile-name h5 {\\n color: #2F2660;\\n font-size: 15px;\\n font-weight: 500;\\n margin: 0; }\\n\\n.review-profile .profile-name p {\\n margin: 0;\\n font-size: 12px;\\n color: #676767;\\n font-weight: 500; }\\n\\n.review-card p {\\n color: #3e3e3e;\\n font-size: 14px;\\n font-weight: 500;\\n margin: 0; }\\n\\n.review-card .review-Star {\\n display: flex; }\\n\\n.review-card .review-Star i {\\n margin-left: 5px;\\n font-size: 14px;\\n color: #F4C150; }\\n\\n.provider-info-right.doc-info-right .clini-infos ul li {\\n text-align: left;\\n padding-left: 0;\\n margin-bottom: 0.5rem;\\n font-size: 16px;\\n display: flex; }\\n\\n.provider-info-right.doc-info-right .clini-infos ul li i {\\n position: relative;\\n margin-right: 0.5rem; }\\n\\n.provider-info-right.doc-info-right .clinic-booking {\\n border-top: none;\\n margin-left: auto; }\\n\\n.green-outline-btn {\\n border-color: #17a2b8 !important;\\n color: #17a2b8 !important;\\n line-height: 36px; }\\n\\n.clinic-booking button.see-fees:hover {\\n color: #00a2b6; }\\n\\n.lds-facebook {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n width: 100%;\\n height: 70vh;\\n /* background-color: #014a712a; */\\n /* background-color: linear-gradient(#01385ffc,#17a2b8); */ }\\n\\n.lds-facebook div {\\n display: inline-block;\\n margin-left: 2px;\\n width: 12px;\\n /* background: linear-gradient(#01385ffc,#17a2b8); */\\n background: #17a2b8;\\n -webkit-animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;\\n animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite; }\\n\\n.lds-facebook div:nth-child(1) {\\n -webkit-animation-delay: -0.24s;\\n animation-delay: -0.24s; }\\n\\n.lds-facebook div:nth-child(2) {\\n -webkit-animation-delay: -0.12s;\\n animation-delay: -0.12s; }\\n\\n.lds-facebook div:nth-child(3) {\\n -webkit-animation-delay: 0;\\n animation-delay: 0; }\\n\\n@-webkit-keyframes lds-facebook {\\n 0% {\\n top: 8px;\\n height: 64px; }\\n 50%, 100% {\\n top: 24px;\\n height: 32px; } }\\n\\n@keyframes lds-facebook {\\n 0% {\\n top: 8px;\\n height: 64px; }\\n 50%, 100% {\\n top: 24px;\\n height: 32px; } }\\n\\n.profile-widget table thead {\\n background: #00a2b6;\\n color: #fff !important; }\\n\\n.profile-widget tr:nth-child(odd) {\\n background-color: rgba(3, 189, 202, 0.1); }\\n\"","import { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { DataTableComponent } from \"./../../shared/data-table/data-table.component\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n ElementRef,\r\n ViewEncapsulation,\r\n Inject,\r\n} from \"@angular/core\";\r\nimport {\r\n NgxGalleryOptions,\r\n NgxGalleryImage,\r\n NgxGalleryAnimation,\r\n} from \"ngx-gallery\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { MouseEvent } from \"@agm/core\";\r\nimport { BookAppointmentComponent } from \"src/app/front/book-appointment/book-appointment.component\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport {\r\n FilterModel,\r\n Metadata,\r\n} from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport {\r\n StaffAward,\r\n StaffExperience,\r\n StaffQualification,\r\n} from \"../doctor-profile/doctor-profile.model\";\r\nimport { VideoPopupComponent } from \"../video-popup/video-popup.component\";\r\nimport { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { ConsultationFeesComponent } from \"../consultation-fees/consultation-fees.component\";\r\nimport { LabService } from \"src/app/platform/modules/lab/lab.service\";\r\nimport { format } from \"date-fns\";\r\nimport { ChangeDetectorRef } from '@angular/core';\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-provider-profile\",\r\n templateUrl: \"./provider-profile.component.html\",\r\n styleUrls: [\"./provider-profile.component.scss\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ProviderProfileModalComponent implements OnInit {\r\n // staffId: string = \"\";\r\n // constructor(private dialogModalRef: MatDialogRef,\r\n // @Inject(MAT_DIALOG_DATA) public data: any){\r\n // this.staffId = this.data.id;\r\n // }\r\n // ngOnInit() {}\r\n\r\n // closeDialog(action: any): void {\r\n // this.dialogModalRef.close(action);\r\n // }\r\n\r\n\r\n\r\n isProfileLoaded: boolean = false;\r\n staffId: string = \"\";\r\n locationId: number = 0;\r\n userInfo: any;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n reviewRatingDisplayedColumns: Array;\r\n reviewRatingMeta: Metadata;\r\n reviewRatingfilterModel: FilterModel;\r\n averageRating: any;\r\n providerVideo: any;\r\n userrole: any;\r\n labInfo: any;\r\n labAddress: any;\r\n isFromHealthService: boolean;\r\n hSLongitude:number;\r\n hSLatitude:number;\r\n constructor(\r\n private homeService: HomeService,\r\n private clientService: ClientsService,\r\n private labService: LabService,\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService,\r\n private dialogModal: MatDialog,\r\n private headerComp: HomeHeaderComponent,\r\n private router: Router,\r\n private dialogModalRef: MatDialogRef,\r\n private cdr: ChangeDetectorRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n this.reviewRatingDisplayedColumns = [\r\n {\r\n displayName: \"Rating\",\r\n key: \"rating\",\r\n class: \"\",\r\n width: \"240px\",\r\n sticky: true,\r\n type: \"rating\",\r\n },\r\n {\r\n displayName: \"Review\",\r\n key: \"review\",\r\n width: \"140px\",\r\n },\r\n { displayName: \"Date\", key: \"createdDate\", width: \"250px\", type: \"date\" }, //,\r\n //{\r\n // displayName: \"Reviewed By\",\r\n // key: \"patientName\",\r\n // width: \"250px\",\r\n // type: \"50\",\r\n // isInfo: true\r\n //}\r\n ];\r\n this.reviewRatingfilterModel = new FilterModel();\r\n // console.log(this.data.id);\r\n this.staffId = this.data.id;\r\n this.isFromHealthService = this.data.isFromHealthService;\r\n }\r\n\r\n galleryOptions: NgxGalleryOptions[];\r\n galleryImages: NgxGalleryImage[];\r\n\r\n ngOnInit(): void {\r\n // this.activatedRoute.queryParams.subscribe(param => {\r\n // this.staffId = param[\"id\"];\r\n // if (\r\n // param[\"loc\"] != \"\" &&\r\n // param[\"loc\"] != null &&\r\n // param[\"loc\"] != undefined\r\n // )\r\n // this.locationId = this.commonService.encryptValue(param[\"loc\"], false);\r\n // });\r\n\r\n this.getStaffDetail();\r\n this.getAverageRating();\r\n if (this.isFromHealthService) {\r\n this.getLabProfile();\r\n }\r\n\r\n this.galleryOptions = [\r\n {\r\n width: \"100px\",\r\n height: \"50px\",\r\n thumbnailsColumns: 2,\r\n image: false,\r\n thumbnailsRemainingCount: true,\r\n imageAnimation: NgxGalleryAnimation.Slide,\r\n },\r\n // max-width 800\r\n {\r\n breakpoint: 800,\r\n width: \"100%\",\r\n height: \"600px\",\r\n imagePercent: 80,\r\n thumbnailsPercent: 20,\r\n thumbnailsMargin: 20,\r\n thumbnailMargin: 20,\r\n },\r\n // max-width 400\r\n {\r\n breakpoint: 400,\r\n preview: false,\r\n },\r\n ];\r\n\r\n this.galleryImages = [\r\n {\r\n small: \"assets/img/doctor-3big.jpg\",\r\n big: \"assets/img/doctor-3big.jpg\",\r\n },\r\n {\r\n small: \"assets/img/dentistroom.jpg\",\r\n big: \"assets/img/dentistroom.jpg\",\r\n },\r\n {\r\n small: \"assets/img/dentistroom1.jpg\",\r\n big: \"assets/img/dentistroom1.jpg\",\r\n },\r\n ];\r\n this.tabs = [\r\n {\r\n tabName: \"Overview\",\r\n },\r\n {\r\n tabName: \"Location\",\r\n },\r\n {\r\n tabName: \"Reviews\",\r\n },\r\n ];\r\n }\r\n getProviderVideo(id: number) {\r\n this.clientService.getProviderVideo(id).subscribe((res) => {\r\n this.providerVideo = res;\r\n // console.log(res);\r\n });\r\n }\r\n\r\n loadChild(event: any) {\r\n switch (event.tab.textLabel) {\r\n case this.tabs[0].tabName:\r\n this.getStaffDetail();\r\n break;\r\n case this.tabs[1].tabName:\r\n if(!this.isFromHealthService){\r\n this.getLocationAvailability();\r\n }\r\n \r\n break;\r\n case this.tabs[2].tabName:\r\n this.getReviewRating();\r\n break;\r\n }\r\n }\r\n getStaffDetail() {\r\n if (this.staffId != \"\") {\r\n this.homeService.getProviderDetail(this.staffId).subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.userInfo = res.data;\r\n this.userrole = res.data.roleName;\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n // console.log(\"this user info\", this.userInfo )\r\n if (this.userrole != \"Provider\") {\r\n this.fullname = this.commonService.getLabRadiologyFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n }\r\n else {\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n }\r\n this.cdr.detectChanges();\r\n this.getProviderVideo(res.data.id)\r\n this.isProfileLoaded = true;\r\n }\r\n });\r\n }\r\n }\r\n getDirection = (address) => {\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n let longitude = null;\r\n let latitude = null;\r\n let address1 = '';\r\n if (this.isFromHealthService) {\r\n latitude = address.latitude;\r\n longitude = address.longitude;\r\n \r\n this.changeLocation(address);\r\n address1 = encodeURIComponent(address.addressLine2) || '';\r\n \r\n }\r\n else {\r\n latitude = this.userInfo.latitude;\r\n longitude = this.userInfo.longitude;\r\n address1 = encodeURIComponent(this.userInfo.address) || '';\r\n }\r\n this.cdr.detectChanges();\r\n if (latitude && longitude) {\r\n // link.href = \"https://www.google.com/maps/place/\" + address + \"@\"+ latitude + \",\" + longitude;\r\n link.href = `https://www.google.com/maps/search/?api=1&query=${address1}&query_place_id=${latitude},${longitude}`;\r\n\r\n //link.href = \"https://www.google.com/maps/place/\" + latitude + \",\" + longitude;\r\n } else {\r\n\r\n link.href = `https://www.google.com/maps/search/?api=1&query=${address1}`;\r\n }\r\n // link.href = \"https://www.google.com/maps/place/\" + address;\r\n link.target = \"_blank\";\r\n link.click();\r\n };\r\n\r\n getLabProfile = () => {\r\n debugger\r\n this.labService.GetLabById(this.staffId).subscribe((res) => {\r\n \r\n if(res && res.data && res.data.labAddressesModel){\r\n this.labAddress = res.data.labAddressesModel;\r\n // console.log(\"LabAdresses:\", this.labAddress);\r\n \r\n this.changeLocation(this.labAddress[0]);\r\n }\r\n \r\n });\r\n };\r\n\r\n\r\n changeLocation(address){\r\n this.markers = [];\r\n this.markers.push({\r\n lat: address.latitude,\r\n lng: address.longitude,\r\n label: '',\r\n draggable: true,\r\n });\r\n debugger\r\n this.hSLongitude=address.longitude;\r\n this.hSLatitude=address.latitude;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n\r\n getAverageRating() {\r\n if (this.staffId != \"\") {\r\n this.homeService.getAverageRating(this.staffId).subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.averageRating = res.data;\r\n }\r\n });\r\n }\r\n }\r\n StaffLocationAvailabilities: any[] = [];\r\n getLocationAvailability() {\r\n if (this.staffId != \"\") {\r\n this.homeService\r\n .getProviderLocationAndAvailibilityDetail(this.staffId)\r\n .subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.StaffLocationAvailabilities = res.data;\r\n this.markers = [];\r\n this.StaffLocationAvailabilities.forEach((loc) => {\r\n this.markers.push({\r\n lat: loc.assignedLocationsModel.latitude,\r\n lng: loc.assignedLocationsModel.longitude,\r\n label: loc.assignedLocationsModel.location,\r\n draggable: true,\r\n });\r\n });\r\n }\r\n });\r\n }\r\n }\r\n reviewRatingList: any[] = [];\r\n getReviewRating(pageNumber: number = 1, pageSize: number = 5) {\r\n if (this.staffId != \"\") {\r\n this.homeService\r\n .getRatingReviews(this.staffId, true, pageNumber, pageSize)\r\n .subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.reviewRatingList = res.data;\r\n this.reviewRatingMeta = res.meta;\r\n }\r\n });\r\n }\r\n }\r\n\r\n onReviewRatingPageOrSortChange(changeState?: any) {\r\n this.setReviewRatingtPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getReviewRating(changeState.pageNumber, 5);\r\n }\r\n\r\n setReviewRatingtPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.reviewRatingfilterModel.pageNumber = pageNumber;\r\n this.reviewRatingfilterModel.pageSize = pageSize;\r\n this.reviewRatingfilterModel.sortOrder = sortOrder;\r\n this.reviewRatingfilterModel.sortColumn = sortColumn;\r\n }\r\n\r\n /*\r\n Google Map\r\n */\r\n // google maps zoom level\r\n zoom: number = 8;\r\n //17.685826172610167, 74.14007723268422\r\n // initial center position for the map\r\n lat: number = 30.6767304;\r\n lng: number = 76.70975070431633;\r\n\r\n clickedMarker(label: string, index: number) {\r\n // console.log(`clicked the marker: ${label || index}`);\r\n }\r\n\r\n mapClicked($event: MouseEvent) {\r\n this.markers.push({\r\n lat: $event.coords.lat,\r\n lng: $event.coords.lng,\r\n draggable: true,\r\n });\r\n }\r\n\r\n markerDragEnd(m: marker, $event: MouseEvent) {\r\n // console.log(\"dragEnd\", m, $event);\r\n }\r\n\r\n markers: marker[] = [\r\n {\r\n lat: 30.6767304,\r\n lng: 76.70975070431633,\r\n label: \"A\",\r\n draggable: true,\r\n },\r\n ];\r\n openDialogBookAppointment() {\r\n this.dialogModalRef.close();\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 },\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n // this.headerComp.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // this.headerComp.redirectToDashboard(\"/web\");\r\n // } else {\r\n\r\n //this.headerComp.IsLogin = true;\r\n //this.headerComp.checkUserLogin();\r\n location.reload();\r\n //}\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n // if (result != null && result.response.access_token != \"\") {\r\n\r\n // this.headerComp.IsLogin == true;\r\n // this.headerComp.checkUserLogin();\r\n // }\r\n });\r\n } else {\r\n this.createDailogForBookAppoitment();\r\n }\r\n }\r\n openDialogVideo() {\r\n this.dialogModalRef.close();\r\n let dbModal;\r\n dbModal = this.dialogModal.open(VideoPopupComponent, {\r\n hasBackdrop: true,\r\n width: \"50%\",\r\n data: this.providerVideo.data,\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n if (result == \"booked\") {\r\n }\r\n }\r\n });\r\n }\r\n\r\n createDailogForBookAppoitment() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(BookAppointmentComponent, {\r\n hasBackdrop: true,\r\n width: \"90%\",\r\n data: {\r\n staffId: this.userInfo.id,\r\n userInfo: this.userInfo,\r\n providerId: \"\",\r\n locationId: this.locationId,\r\n },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n if (result == \"booked\") {\r\n }\r\n }\r\n });\r\n }\r\n\r\n backToListing() {\r\n location.href = \"/doctor-list\";\r\n //this.router.navigateByUrl(\"/doctor-list\");\r\n }\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n openSeeFees(providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(ConsultationFeesComponent, {\r\n width: \"60%\",\r\n data: { id: providerId },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => { });\r\n }\r\n}\r\n\r\n// just an interface for type safety.\r\ninterface marker {\r\n lat: number;\r\n lng: number;\r\n label?: string;\r\n draggable: boolean;\r\n}\r\n","module.exports = \".cont-banner {\\r\\n background-image: url(\\\"/assets/provider-top-1.png\\\");\\r\\n background-repeat: no-repeat;\\r\\n width: 100%;\\r\\n position: relative;\\r\\n background-size: cover;\\r\\n height: 750px;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n.contactus-content {\\r\\n background: linear-gradient(90.04deg, #000000 0.03%, rgba(196, 196, 196, 0) 99.97%);\\r\\n color: #fff;\\r\\n text-align: left;\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n padding: 0;\\r\\n padding-top: 10rem;\\r\\n}\\r\\n.contactus-content h2 {\\r\\n font-size: 4rem;\\r\\n padding-top: 0;\\r\\n font-weight: 700;\\r\\n color: #fff;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n.contactus-content h3 {\\r\\n font-size: 2rem;\\r\\n padding-top: 0;\\r\\n color: #fff;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n.contactus-content p {\\r\\n font-size: 20px;\\r\\n color: #fff;\\r\\n margin-bottom: 2rem;\\r\\n font-weight: 500;\\r\\n}\\r\\n.btn-white {\\r\\n background-color: #fff;\\r\\n border-radius: 7px;\\r\\n color: #01385f;\\r\\n font-weight: 700;\\r\\n padding: 15px 20px;\\r\\n}\\r\\n.btn-white a {\\r\\n color: #01385f;\\r\\n}\\r\\n.mission_headline h4 {\\r\\n font-style: normal;\\r\\n font-weight: 700;\\r\\n font-size: 18px;\\r\\n line-height: 36px;\\r\\n text-transform: uppercase;\\r\\n color: #17a2b8;\\r\\n margin-bottom: 5rem;\\r\\n}\\r\\n.mission_headline h5 {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 700;\\r\\n font-size: 40px;\\r\\n line-height: 49px;\\r\\n text-align: center;\\r\\n margin-bottom: 4rem;\\r\\n color: #000;\\r\\n}\\r\\n.support_head {\\r\\n padding: 4rem;\\r\\n background: transparent;\\r\\n text-align: center;\\r\\n position: relative;\\r\\n margin-top: -18rem;\\r\\n}\\r\\n.support_head::after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n bottom: -45px;\\r\\n left: 50%;\\r\\n height: 50px;\\r\\n width: 50px;\\r\\n /* background: linear-gradient(45deg, #2a96ad, #3188a1); */\\r\\n background: #013D5E;\\r\\n -webkit-transform: translate(-50%, -50%);\\r\\n transform: translate(-50%, -50%);\\r\\n -webkit-clip-path: polygon(50% 100%, 0 60%, 100% 60%);\\r\\n clip-path: polygon(50% 100%, 0 60%, 100% 60%);\\r\\n z-index: 1;\\r\\n}\\r\\n.contactus-content .mission_headline h3 {\\r\\n font-size: 45px;\\r\\n width: 85%;\\r\\n margin: auto;\\r\\n margin-top: 100px;\\r\\n margin-bottom: 10px;\\r\\n color: #fff;\\r\\n font-weight: 700;\\r\\n text-align: center;\\r\\n}\\r\\n.contactus-content .mission_headline p {\\r\\n color: #fff;\\r\\n width: 70%;\\r\\n margin: auto;\\r\\n text-align: center;\\r\\n}\\r\\n.sub-heading {\\r\\n font-size: 40px;\\r\\n font-weight: 700;\\r\\n line-height: 1.5;\\r\\n color: #000000;\\r\\n text-align: center;\\r\\n}\\r\\nsection.location-contact {\\r\\n margin-bottom: 60px;\\r\\n}\\r\\n.mission-sec .mission_img {\\r\\n position: relative;\\r\\n}\\r\\n.mission-sec .mission_img img {\\r\\n border-radius: 20px;\\r\\n width: 100%;\\r\\n}\\r\\n.mission-sec .mission_img img.mission_dot {\\r\\n width: auto;\\r\\n position: absolute;\\r\\n left: -5rem;\\r\\n top: -3rem;\\r\\n border-radius: 0;\\r\\n}\\r\\n.mission-sec .mission_content {\\r\\n display: flex;\\r\\n align-items: flex-start;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n.mission-sec .mission_headline {\\r\\n margin-bottom: 25px;\\r\\n}\\r\\n.mission-sec .mission_headline h5 {\\r\\n margin-bottom: 0;\\r\\n}\\r\\n.mission-sec .mission_headline p {\\r\\n text-align: center;\\r\\n margin-bottom: 0;\\r\\n font-weight: 400;\\r\\n font-size: 15px;\\r\\n line-height: 19px;\\r\\n color: #6c87ae;\\r\\n}\\r\\n.mission-sec .mission_content .mission_content1 h2 {\\r\\n font-weight: 500;\\r\\n font-size: 36px;\\r\\n line-height: 42px;\\r\\n color: #01385f;\\r\\n margin-bottom: 1.5rem;\\r\\n font-weight: 700;\\r\\n}\\r\\n.mission-sec .mission_content .mission_content1 h2 span {\\r\\n color: #17a2b8;\\r\\n}\\r\\n.mission-sec .mission_content .mission_content1 p img {\\r\\n margin-right: 10px;\\r\\n}\\r\\n.mission-sec .mission_content .mission_content1 p {\\r\\n position: relative;\\r\\n font-weight: 500;\\r\\n font-size: 16px;\\r\\n line-height: 34px;\\r\\n color: #000000;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n.mission-sec .mission_content .mission_content1 p::after {\\r\\n content: '';\\r\\n position: absolute;\\r\\n background: #FF8522;\\r\\n height: 12px;\\r\\n width: 4px;\\r\\n left: -12px;\\r\\n top: 10px;\\r\\n bottom: 0;\\r\\n}\\r\\n.mission-sec .pharma-sec {\\r\\n padding: 60px 0px;\\r\\n background: #fff;\\r\\n}\\r\\n.mission-sec .radiology-laboratories {\\r\\n padding: 60px 0px;\\r\\n background: #F7F7F7;\\r\\n}\\r\\n.mission-sec .clinics-sec {\\r\\n padding: 60px 0px;\\r\\n background: #fff;\\r\\n}\\r\\n.mission-sec .clinics-sec .mission_headline h5 {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.mission-sec .clinics-sec .mission_headline p {\\r\\n line-height: 26px;\\r\\n width: 60%;\\r\\n color: #000000;\\r\\n margin: auto;\\r\\n}\\r\\n.vision-sec {\\r\\n margin: 6rem 0;\\r\\n}\\r\\n.vision-sec .vision_img {\\r\\n position: relative;\\r\\n text-align: right;\\r\\n}\\r\\n.vision-sec .vision_img img {\\r\\n border-radius: 20px;\\r\\n width: 100%;\\r\\n}\\r\\n.vision-sec .vision_img img.vision_dot {\\r\\n width: auto;\\r\\n position: absolute;\\r\\n right: -5rem;\\r\\n bottom: -3rem;\\r\\n border-radius: 0;\\r\\n}\\r\\n.vision-sec .vision_content {\\r\\n display: flex;\\r\\n align-items: flex-start;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n.vision-sec .vision_content .vision_content1 h2 {\\r\\n font-weight: 500;\\r\\n font-size: 36px;\\r\\n line-height: 42px;\\r\\n color: #01385f;\\r\\n margin-bottom: 1.5rem;\\r\\n font-weight: 700;\\r\\n}\\r\\n.vision-sec .vision_content .vision_content1 h2 span {\\r\\n color: #17a2b8;\\r\\n}\\r\\n.vision-sec .vision_content .vision_content1 p {\\r\\n font-weight: 500;\\r\\n font-size: 18px;\\r\\n line-height: 34px;\\r\\n color: #000000;\\r\\n}\\r\\n.vision-sec .vision_content .vision_content1 p img {\\r\\n margin-right: 10px;\\r\\n}\\r\\n/* Our Services Section Start */\\r\\n.our-services {\\r\\n position: relative;\\r\\n padding: 60px 0px;\\r\\n}\\r\\n.our-services::after {\\r\\n content: \\\"\\\";\\r\\n background-image: url('element-1.svg');\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: -4vh;\\r\\n width: 150px;\\r\\n height: 100%;\\r\\n background-repeat: no-repeat;\\r\\n opacity: 0.5;\\r\\n}\\r\\n.our-services::before {\\r\\n content: \\\"\\\";\\r\\n background-image: url('element-2.png');\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: -16vh;\\r\\n width: 150px;\\r\\n height: 100%;\\r\\n background-repeat: no-repeat;\\r\\n}\\r\\n.our-services .sec-head {\\r\\n text-align: center;\\r\\n}\\r\\n.our-services .sec-head h2 {\\r\\n font-size: 37px;\\r\\n color: #17a2b8;\\r\\n font-weight: 500;\\r\\n text-transform: uppercase;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.our-services .sec-head h3 {\\r\\n font-size: 36px;\\r\\n font-weight: 700;\\r\\n color: #01385f;\\r\\n margin-bottom: 35px;\\r\\n}\\r\\n.tab-btn-sec {\\r\\n text-align: center;\\r\\n}\\r\\n.tab-btn-sec .nav {\\r\\n display: block;\\r\\n}\\r\\n.tab-btn-sec ul li {\\r\\n display: inline-block;\\r\\n margin: 25px;\\r\\n}\\r\\n.tab-btn-sec ul li a.nav-link {\\r\\n padding: 15px 35px;\\r\\n border: 3px solid #3ac3d6;\\r\\n color: #3ac3d6;\\r\\n border-radius: 3px !important;\\r\\n font-weight: 500;\\r\\n letter-spacing: 1px;\\r\\n font-size: 22px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.tab-btn-sec ul li a.nav-link:hover {\\r\\n background: #01385f;\\r\\n color: #fff;\\r\\n border-color: #01385f;\\r\\n}\\r\\n.tab-btn-sec ul li a.nav-link i {\\r\\n font-size: 32px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n.tab-btn-sec ul li a.nav-link.active {\\r\\n background: #01385f;\\r\\n border: 2px solid #01385f;\\r\\n color: #fff;\\r\\n cursor: pointer;\\r\\n font-weight: 500;\\r\\n}\\r\\n.serv-card {\\r\\n background: #3ac3d60a;\\r\\n padding: 40px 30px;\\r\\n text-align: center;\\r\\n border-radius: 30px;\\r\\n min-height: 310px;\\r\\n}\\r\\n.serv-card img {\\r\\n width: 130px !important;\\r\\n margin: auto;\\r\\n height: 130px;\\r\\n}\\r\\n.serv-card h3 {\\r\\n font-size: 18px;\\r\\n margin: -15px 0 15px 0px;\\r\\n color: #01385f;\\r\\n font-weight: 700;\\r\\n /* min-height: 45px; */\\r\\n}\\r\\n.serv-card p {\\r\\n font-size: 16px;\\r\\n margin: 0px;\\r\\n line-height: 30px;\\r\\n color: #01385f;\\r\\n min-height: 105px;\\r\\n}\\r\\n.provide_img img {\\r\\n width: 100%;\\r\\n}\\r\\n.provide_content h2 {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 700;\\r\\n font-size: 36px;\\r\\n line-height: 42px;\\r\\n color: #01385f;\\r\\n font-weight: 700;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n.provide_content h2 span {\\r\\n color: #17a2b8;\\r\\n}\\r\\n.provide_content ul {\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n}\\r\\n.provide_content ul li {\\r\\n margin-bottom: 2rem;\\r\\n display: inline-flex;\\r\\n align-items: flex-start;\\r\\n}\\r\\n.provide_content ul li img {\\r\\n width: 24px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n/* Our Services Section End */\\r\\n.convenince_sec {\\r\\n /* background-image: url(\\\"../../../assets/img/doctor-convenience.png\\\");\\r\\n background-size: cover;\\r\\n height: 500px;\\r\\n overflow: hidden; */\\r\\n padding: 100px 0px;\\r\\n background: #FFFFFF;\\r\\n text-align: center;\\r\\n}\\r\\n/* .convenince_sec_1 {\\r\\n background: linear-gradient( 90deg, #01385f 18.7%, rgba(52, 110, 142, 0.798206) 43.23%, rgba(255, 255, 255, 0) 89.64% );\\r\\n padding: 60px 0px;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n background-size: cover;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n} */\\r\\n.convenince_sec_1 h2 {\\r\\n color: #000;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 700;\\r\\n font-size: 36px;\\r\\n line-height: 38px;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n.convenince_sec_1 p {\\r\\n color: #000;\\r\\n font-size: 18px;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n.convenince_sec_1 ul {\\r\\n padding-left: 0;\\r\\n}\\r\\n.convenince_sec_1 ul li {\\r\\n color: #fff;\\r\\n list-style: 24px;\\r\\n}\\r\\n.direct-booking {\\r\\n background-color: rgba(3, 189, 202, 0.1);\\r\\n margin: 0;\\r\\n padding: 4rem 0;\\r\\n border-bottom: 1px solid #17a2b8;\\r\\n border-top: 1px solid #17a2b8;\\r\\n}\\r\\n.doctor-referral {\\r\\n background-color: rgba(1, 74, 113, 0.1);\\r\\n margin: 0;\\r\\n padding: 4rem 0;\\r\\n border-bottom: 1px solid #01385f;\\r\\n}\\r\\n.vision_subhead {\\r\\n text-align: center;\\r\\n margin-bottom: 3rem;\\r\\n}\\r\\n.vision_subhead h2 {\\r\\n font-weight: 700;\\r\\n font-size: 36px;\\r\\n}\\r\\n.vision_subhead p {\\r\\n font-size: 22px;\\r\\n}\\r\\n.vision_subhead h2 span {\\r\\n color: #17a2b8;\\r\\n}\\r\\n.referal_subheads {\\r\\n margin-bottom: 3rem;\\r\\n text-align: center;\\r\\n}\\r\\n.referal_subheads h2 {\\r\\n font-size: 36px;\\r\\n font-weight: 700;\\r\\n}\\r\\n.referal_subheads h2 span {\\r\\n color: #17a2b8;\\r\\n}\\r\\n.vision_sub_heads {\\r\\n list-style: none;\\r\\n display: flex;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n text-align: center;\\r\\n justify-content: center;\\r\\n flex-wrap: wrap;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n.vision_sub_heads li {\\r\\n background-color: rgba(3, 189, 202, 0.1);\\r\\n border: 1px solid #17a2b8;\\r\\n color: #17a2b8;\\r\\n border-radius: 15px;\\r\\n padding: 0.75rem 1.5rem;\\r\\n margin: 0;\\r\\n text-align: center;\\r\\n margin: 0.5rem;\\r\\n}\\r\\n.sec-head h3 span {\\r\\n color: #17a2b8;\\r\\n}\\r\\n.board-fee {\\r\\n padding: 80px 0px;\\r\\n background-color: #f6f6f6;\\r\\n position: relative;\\r\\n}\\r\\n.board-fee::after {\\r\\n content: '';\\r\\n /* background-image: url('../../../assets/img/work-line.png'); */\\r\\n background-image: url('work-line.png');\\r\\n background-size: contain;\\r\\n background-repeat: no-repeat;\\r\\n position: absolute;\\r\\n left: 53%;\\r\\n width: 86%;\\r\\n height: 98%;\\r\\n font-size: 60px;\\r\\n -webkit-transform: translate(-50%, -55%);\\r\\n transform: translate(-54%, -55%);\\r\\n\\r\\n}\\r\\n.board-fee .board-cont-sec {\\r\\n z-index: 1;\\r\\n position: relative;\\r\\n}\\r\\n.board-fee .mission_headline h5 {\\r\\n position: relative;\\r\\n}\\r\\n.board-fee .mission_headline h5 span {\\r\\n color: #FF8522;\\r\\n}\\r\\n.board-fee .mission_headline h5::after {\\r\\n content: 'How it works';\\r\\n position: absolute;\\r\\n top: 10%;\\r\\n left: 50%;\\r\\n font-size: 60px;\\r\\n -webkit-transform: translate(-50%, -50%);\\r\\n transform: translate(-50%, -50%);\\r\\n color: #17a3b81f;\\r\\n}\\r\\n.board-card {\\r\\n text-align: left;\\r\\n padding: 15px;\\r\\n border-radius: 5px;\\r\\n /* box-shadow: #ddd 2px 2px 10px; */\\r\\n height: 100%;\\r\\n margin-bottom: 30px;\\r\\n z-index: 1;\\r\\n}\\r\\n.board-img {\\r\\n position: relative;\\r\\n width: 130px;\\r\\n background: #E2E1FF;\\r\\n padding: 30px;\\r\\n margin: auto;\\r\\n border-radius: 50%;\\r\\n margin-bottom: 50px;\\r\\n border: 8px solid #fff;\\r\\n}\\r\\n.board-img.bg-red {\\r\\n background: #FFEDE8;\\r\\n}\\r\\n.board-img.bg-green {\\r\\n background: #DCFBD6;\\r\\n}\\r\\n.board-img.bg-orange {\\r\\n background: #FFEED9;\\r\\n}\\r\\n.board-card .board-img span {\\r\\n font-size: 18px;\\r\\n font-weight: 700;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n left: 0px;\\r\\n color: #fff;\\r\\n background: #A05BE9;\\r\\n line-height: 1;\\r\\n z-index: 0;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n border-radius: 30px;\\r\\n padding: 4px;\\r\\n}\\r\\n.board-img.bg-red span {\\r\\n background: #FF7D61 !important;\\r\\n}\\r\\n.board-img.bg-green span {\\r\\n background: #8ADC7B !important;\\r\\n}\\r\\n.board-img.bg-orange span {\\r\\n background: #FFC170 !important;\\r\\n}\\r\\n.board-card img {\\r\\n width: 100%;\\r\\n}\\r\\n.board-card h3 {\\r\\n font-size: 22px;\\r\\n font-weight: 700;\\r\\n margin-bottom: 0;\\r\\n z-index: 1;\\r\\n text-align: center;\\r\\n color: #000;\\r\\n}\\r\\n.credentials-verified {\\r\\n padding: 80px 0px 160px;\\r\\n background: #fff;\\r\\n overflow: hidden;\\r\\n}\\r\\n.credentials-verified .left-sec ul {\\r\\n padding-left: 0;\\r\\n}\\r\\n.credentials-verified .left-sec ul li {\\r\\n list-style: none;\\r\\n font-weight: 300;\\r\\n font-size: 15px;\\r\\n line-height: 32px;\\r\\n color: #6C87AE;\\r\\n}\\r\\n.credentials-verified .left-sec ul li i {\\r\\n font-size: 16px;\\r\\n color: #73C264;\\r\\n margin-right: 5px;\\r\\n}\\r\\n.credentials-verified .left-sec button {\\r\\n font-size: 14px;\\r\\n color: #fff;\\r\\n font-weight: 400;\\r\\n background: #FF7D61;\\r\\n border: 1px solid #FF7D61;\\r\\n padding: 8px 35px;\\r\\n border-radius: 30px;\\r\\n margin: 10px 50px;\\r\\n}\\r\\n.credentials-verified .left-sec img {\\r\\n width: 100%;\\r\\n}\\r\\n.credentials-verified .right-sec ul {\\r\\n padding-left: 0;\\r\\n z-index: 1;\\r\\n position: relative;\\r\\n}\\r\\n.credentials-verified .right-sec ul li {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n list-style: none;\\r\\n padding: 15px;\\r\\n background: #ffffffa7;\\r\\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\\r\\n border-radius: 15px;\\r\\n margin-bottom: 20px;\\r\\n width: 50%;\\r\\n}\\r\\n.credentials-verified .right-sec ul li:nth-child(2) {\\r\\n margin-left: 3%;\\r\\n}\\r\\n.credentials-verified .right-sec ul li:nth-child(3) {\\r\\n margin-left: 6%;\\r\\n}\\r\\n.credentials-verified .right-sec ul li:nth-child(4) {\\r\\n margin-left: 9%;\\r\\n}\\r\\n.credentials-verified .right-sec ul li h3 {\\r\\n margin-bottom: 0;\\r\\n font-size: 16px;\\r\\n color: #02557A;\\r\\n}\\r\\n.credentials-verified .right-sec ul li img {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n margin-right: 15px;\\r\\n}\\r\\n.credentials-verified .right-sec .right-img {\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: 0;\\r\\n width: 100%;\\r\\n z-index: 0;\\r\\n -webkit-transform: translate(10%, -10%);\\r\\n transform: translate(10%, -10%);\\r\\n}\\r\\n.view-section {\\r\\n padding: 0px 0px 60px;\\r\\n text-align: center;\\r\\n}\\r\\n.view-section .view-sec img {\\r\\n width: 100%;\\r\\n margin-top: -80px;\\r\\n}\\r\\n.view-section .view-sec ul {\\r\\n box-shadow: 0px 0px 8px 0px #00000040;\\r\\n display: inline-block;\\r\\n margin: 50px 0px;\\r\\n background: #fff;\\r\\n border-radius: 6px;\\r\\n padding-left: 0;\\r\\n}\\r\\n.view-section .view-sec ul li {\\r\\n border: 1px solid #E7E9ED;\\r\\n margin: 5px;\\r\\n list-style: none;\\r\\n padding: 5px 40px;\\r\\n border-radius: 8px;\\r\\n display: inline-block;\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n cursor: pointer;\\r\\n}\\r\\n.view-section .view-sec ul li.active {\\r\\n background: #013D5E;\\r\\n color: #fff;\\r\\n}\\r\\n.we-support {\\r\\n padding: 60px 0px;\\r\\n background-color: #fff;\\r\\n}\\r\\n.we-support-card {\\r\\n padding: 15px;\\r\\n height: 100%;\\r\\n background: #ffffff;\\r\\n box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);\\r\\n border-radius: 10px;\\r\\n transition: 0.5s;\\r\\n text-align: left;\\r\\n}\\r\\n.we-support-card:hover {\\r\\n box-shadow: #ddd 2px 2px 10px;\\r\\n transition: 0.5s;\\r\\n}\\r\\n.we-support-card p {\\r\\n font-size: 20px;\\r\\n color: #6c87ae;\\r\\n font-weight: 400;\\r\\n}\\r\\n.we-support-img {\\r\\n margin-bottom: 15px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n.we-support-img h3 {\\r\\n margin: 0;\\r\\n font-weight: 700;\\r\\n font-size: 22px;\\r\\n color: #000;\\r\\n}\\r\\n.we-support-img img {\\r\\n height: 80px;\\r\\n margin-right: 1rem;\\r\\n}\\r\\n.points-sec {\\r\\n padding: 60px 0px 40px;\\r\\n background: #fff;\\r\\n position: relative;\\r\\n}\\r\\n.points-sec::after {\\r\\n content: '';\\r\\n /* background-image: url('../../../assets/img/benifits-side-img.svg'); */\\r\\n background-repeat: no-repeat;\\r\\n background-size: contain;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n width: 25%;\\r\\n height: 90%;\\r\\n z-index: 0;\\r\\n}\\r\\n.points-sec .sub-heading {\\r\\n position: relative;\\r\\n}\\r\\n.points-sec .sub-heading::after {\\r\\n content: 'Benefits';\\r\\n position: absolute;\\r\\n top: 10%;\\r\\n left: 50%;\\r\\n font-size: 60px;\\r\\n -webkit-transform: translate(-50%, -50%);\\r\\n transform: translate(-50%, -50%);\\r\\n color: #17a3b81f;\\r\\n}\\r\\n.points-card {\\r\\n position: relative;\\r\\n background: transparent;\\r\\n padding: 15px;\\r\\n margin-top: 30px;\\r\\n text-align: left;\\r\\n border-radius: 20px;\\r\\n z-index: 1;\\r\\n}\\r\\n.bg-blue {\\r\\n background: #74b8ee;\\r\\n}\\r\\n.points-card:hover.bg-blue-hover {\\r\\n background: #74b8ee;\\r\\n}\\r\\n.bg-red {\\r\\n background: #FF7D61;\\r\\n}\\r\\n.points-card:hover.bg-red-hover {\\r\\n background: #FF7D61;\\r\\n}\\r\\n.bg-green {\\r\\n background: #73C264;\\r\\n}\\r\\n.points-card:hover.bg-green-hover {\\r\\n background: #73C264;\\r\\n}\\r\\n.bg-yellow {\\r\\n background: #FFC170;\\r\\n}\\r\\n.points-card:hover.bg-yellow-hover {\\r\\n background: #FFC170;\\r\\n}\\r\\n.bg-purple {\\r\\n background: #A05BE9;\\r\\n}\\r\\n.points-card:hover.bg-purple-hover {\\r\\n background: #A05BE9;\\r\\n}\\r\\n.points-card:hover {\\r\\n box-shadow: 0px 0px 10px 0px #00000033;\\r\\n background: #ffffff64;\\r\\n}\\r\\n.points-card:hover h3,\\r\\n.points-card:hover p {\\r\\n color: #fff;\\r\\n}\\r\\n.points-img {\\r\\n width: 60px;\\r\\n height: 60px;\\r\\n border-radius: 100%;\\r\\n margin-bottom: 15px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n.points-card:hover .points-img {\\r\\n background: #fff;\\r\\n}\\r\\n.points-card:hover .points-img img {\\r\\n -webkit-filter: brightness();\\r\\n filter: brightness();\\r\\n}\\r\\n.points-img img {\\r\\n /* width: 100%; */\\r\\n -webkit-filter: brightness(3);\\r\\n filter: brightness(3);\\r\\n}\\r\\n.points-card h3 {\\r\\n font-size: 16px;\\r\\n font-weight: 800;\\r\\n color: #000;\\r\\n letter-spacing: 1px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.points-card p {\\r\\n color: #6C87AE;\\r\\n font-size: 13px;\\r\\n font-weight: 400;\\r\\n}\\r\\n.member_plan {\\r\\n padding: 5rem 0;\\r\\n background-color: #01385f;\\r\\n background-image: url('member-plan-bg.png');\\r\\n background-repeat: no-repeat;\\r\\n background-position: center center;\\r\\n background-size: cover;\\r\\n}\\r\\n.member_plan .sub_heading {\\r\\n text-align: center;\\r\\n margin-bottom: 3rem;\\r\\n}\\r\\n.member_plan .sub_heading h2 {\\r\\n text-transform: uppercase;\\r\\n font-size: 42px;\\r\\n font-weight: 500;\\r\\n color: #fff;\\r\\n margin-bottom: 1.5rem;\\r\\n}\\r\\n.member_plan .sub_heading p {\\r\\n color: rgb(255, 255, 255);\\r\\n font-weight: 500;\\r\\n}\\r\\n.member_plan .sub_heading .toggle_left_text {\\r\\n margin-left: -4rem;\\r\\n color: #fff;\\r\\n font-weight: 500;\\r\\n font-size: 1rem;\\r\\n position: absolute;\\r\\n left: -3rem;\\r\\n top: 0.25rem;\\r\\n}\\r\\n.member_plan .sub_heading .toggle_right_text {\\r\\n margin-left: 4rem;\\r\\n color: #fff;\\r\\n font-weight: 500;\\r\\n font-size: 1rem;\\r\\n position: absolute;\\r\\n right: -7rem;\\r\\n top: 0.25rem;\\r\\n}\\r\\n.member_plan .member_area .member_card {\\r\\n background-color: #fff;\\r\\n border-radius: 20px;\\r\\n padding: 1.5rem;\\r\\n}\\r\\n.member_plan .member_area .member_card h3 {\\r\\n color: #181059;\\r\\n font-size: 24px;\\r\\n font-weight: 700;\\r\\n margin-bottom: 1rem;\\r\\n}\\r\\n.member_plan .member_area .member_card ul {\\r\\n list-style-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAAAB3RJTUUH5gYRBjQGPei9FQAAAb1JREFUSMdjYBjpgJleFkl94q0Mn6ymxvWO67bepzlzePU42fQkhIRYaG6xI69C9FN19X9dTDL/VPfvZ9zI8JPBX1KSQenf3v9GLi5MNLfYmqn0n+r+/QxzGKsZ/CUlYfL/0xk+/xfq76e+xdCglpjOvywy7+lTCQkBgcjI//9htPhRgZLImT09cA1ycvz8UVGCgpKS/PxRUcbGlPoYl8USXgIXIzd2dmJoFH/D3xu5/do1uAtdBWQim2BBw8hIM4uhACMNMF5m+MJwvaBA4jH//4jHuB0Cj+MwprZ/nfv2MTQyZjG8lpKCKzBiOMgQ0dX1YtsH/eX+5eU4HcB4i/E7o7ynJwMzAxOD4YMHcBlTRkHGsvx88SkC1yOdp0+HOQQWx7gs/r+WIYXBobeXkMVwD8MYoh/5FoQfVVZmusFozbR9/35Gf0ZThruysnCVfAyc/00WLGAo/N/L+NDNjVwf43QADEgcE2iJuiYvzxDK0Pd/y4EDDH8Z/jGcV1DAZQDMxy+tP/QsTy8pIdZiggDmEAlpAaHIrvv3CWYnWgGxafz8UVFKSuJrBdwiTqxdK1HDPzWSq7iY5haPGAAAyMzPB2VWDJ0AAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDYtMTdUMDY6NTI6MDYrMDA6MDBz2AHPAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTA2LTE3VDA2OjUyOjA2KzAwOjAwAoW5cwAAAABJRU5ErkJggg==\\\");\\r\\n min-height: 475px;\\r\\n padding-left: 1.5rem;\\r\\n}\\r\\n.member_plan .member_area .member_card ul li {\\r\\n font-size: 1rem;\\r\\n color: #181059;\\r\\n margin-bottom: 0.75rem;\\r\\n font-weight: 500;\\r\\n}\\r\\n.member_plan .member_area .member_card ul li span {\\r\\n color: #767676;\\r\\n}\\r\\n.member_plan .member_area .member_card .plan_cost {\\r\\n font-size: 20px;\\r\\n font-weight: 700;\\r\\n text-align: center;\\r\\n color: #181059;\\r\\n}\\r\\n.member_plan .member_area .member_card .plan_cost span {\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.member_plan .member_area .member_card .btn-green {\\r\\n font-size: 18px;\\r\\n background-color: #1ac7cf;\\r\\n color: #fff;\\r\\n border-radius: 3px;\\r\\n border-color: #1ac7cf;\\r\\n padding: 10px;\\r\\n font-size: 500;\\r\\n}\\r\\n.member_plan .member_area .member_card .btn-dark-green {\\r\\n font-size: 20px;\\r\\n background-color: #01385f;\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n border-radius: 3px;\\r\\n padding: 10px;\\r\\n font-weight: 700;\\r\\n}\\r\\n.switch_t {\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n width: 60px;\\r\\n height: 28px;\\r\\n}\\r\\n.switch_t input {\\r\\n opacity: 0;\\r\\n width: 0;\\r\\n height: 0;\\r\\n}\\r\\n.slider_t {\\r\\n position: absolute;\\r\\n cursor: pointer;\\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n background-color: #fff;\\r\\n transition: 0.4s;\\r\\n}\\r\\n.slider_t:before {\\r\\n position: absolute;\\r\\n content: \\\"\\\";\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n left: 8px;\\r\\n bottom: 4px;\\r\\n background-color: #01385f;\\r\\n transition: 0.4s;\\r\\n}\\r\\ninput:checked + .slider_t {\\r\\n background-color: #fff;\\r\\n}\\r\\ninput:focus + .slider_t {\\r\\n box-shadow: 0 0 1px #fff;\\r\\n}\\r\\ninput:checked + .slider_t:before {\\r\\n -webkit-transform: translateX(26px);\\r\\n transform: translateX(26px);\\r\\n}\\r\\n/* Rounded sliders */\\r\\n.slider_t.round {\\r\\n border-radius: 34px;\\r\\n}\\r\\n.slider_t.round:before {\\r\\n border-radius: 50%;\\r\\n}\\r\\n.btn-theme-prov {\\r\\n background: #FF8522;\\r\\n color: #fff;\\r\\n border-radius: 30px;\\r\\n padding: 7px 30px;\\r\\n margin-top: 30px;\\r\\n}\\r\\n@media (min-width: 1023px) {\\r\\n .points-sec .col-lg-2, .points-sec .col-md-2 {\\r\\n flex: 0 0 20%;\\r\\n max-width: 20%;\\r\\n }\\r\\n}\\r\\n@media (max-width: 991px) {\\r\\n h3 {\\r\\n font-size: 25px;\\r\\n margin-bottom: 20px;\\r\\n }\\r\\n .banner-content form {\\r\\n margin: 30px auto 20px;\\r\\n }\\r\\n .banner-content .form-group {\\r\\n width: 25%;\\r\\n margin-right: 15px;\\r\\n }\\r\\n button.search-btn {\\r\\n max-width: 25%;\\r\\n padding: 5px 10px !important;\\r\\n font-size: 18px;\\r\\n }\\r\\n .member_plan .member_area .member_card .btn-dark-green,\\r\\n .member_plan .member_area .member_card .btn-green,\\r\\n .member_plan .member_area .member_card ul li,\\r\\n .spec-card .card-cont h2 {\\r\\n font-size: 14px;\\r\\n }\\r\\n .board-fee::after {\\r\\n display: none;\\r\\n }\\r\\n .board-card h3 {\\r\\n font-size: 14px;\\r\\n }\\r\\n .contactus-content .mission_headline h3 {\\r\\n font-size: 35px;\\r\\n margin-top: 40px;\\r\\n margin-bottom: 10px;\\r\\n }\\r\\n .sub-heading {\\r\\n font-size: 35px;\\r\\n line-height: 1.5;\\r\\n }\\r\\n .mission_headline h5 {\\r\\n font-size: 35px;\\r\\n line-height: 39px;\\r\\n margin-bottom: 2rem;\\r\\n }\\r\\n .mission_headline h5 {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 700;\\r\\n font-size: 30px;\\r\\n line-height: 35px;\\r\\n text-align: center;\\r\\n margin-bottom: 2rem;\\r\\n color: #000;\\r\\n }\\r\\n .convenince_sec_1 h2 {\\r\\n color: #000;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 700;\\r\\n font-size: 30px;\\r\\n line-height: 35px;\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n}\\r\\n@media (max-width: 767px) {\\r\\n .board-fee::after {\\r\\n display: none;\\r\\n }\\r\\n .whatwedo-content h2,\\r\\n .contactus-content h2 {\\r\\n font-size: 2rem;\\r\\n }\\r\\n .cont-banner {\\r\\n height: 100%;\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n .contactus-content p {\\r\\n font-size: 1rem;\\r\\n }\\r\\n\\r\\n .contactus-content h3 {\\r\\n font-size: 1.5rem;\\r\\n }\\r\\n .blue-icon {\\r\\n height: 110px;\\r\\n width: 110px;\\r\\n }\\r\\n .enqueiries p,\\r\\n .enqueiries span {\\r\\n font-weight: 500;\\r\\n font-size: 1.3rem;\\r\\n }\\r\\n .enqueiries h2 {\\r\\n font-size: 1.7rem;\\r\\n }\\r\\n section.location-contact {\\r\\n margin-bottom: 0;\\r\\n }\\r\\n .vision-sec,\\r\\n .mission-sec {\\r\\n margin: 0;\\r\\n }\\r\\n .vision-sec .vision_img,\\r\\n .mission-sec .mission_img {\\r\\n margin-bottom: 2rem;\\r\\n }\\r\\n .order-m-1 {\\r\\n order: 1;\\r\\n }\\r\\n .order-m-2 {\\r\\n order: 2;\\r\\n }\\r\\n .vision-sec .vision_content .vision_content1 h2,\\r\\n .mission-sec .mission_content .mission_content1 h2 {\\r\\n font-size: 24px;\\r\\n }\\r\\n .mission_headline h4 {\\r\\n font-size: 24px;\\r\\n }\\r\\n .mission_headline h5 {\\r\\n font-size: 22px;\\r\\n line-height: 30px;\\r\\n }\\r\\n .contactus-content {\\r\\n padding-top: 6rem;\\r\\n }\\r\\n .provide_img {\\r\\n margin-bottom: 2rem;\\r\\n }\\r\\n .convenince_sec {\\r\\n height: auto;\\r\\n }\\r\\n .convenince_sec_1 {\\r\\n padding-left: 1rem;\\r\\n }\\r\\n .convenince_sec h2 {\\r\\n font-size: 1.5rem;\\r\\n }\\r\\n .provide_content h2 {\\r\\n font-size: 24px;\\r\\n }\\r\\n .our-services .sec-head h3 {\\r\\n font-size: 24px;\\r\\n }\\r\\n .pharmacy_sec {\\r\\n padding: 2rem 0;\\r\\n }\\r\\n .board-card,\\r\\n .points-card,\\r\\n .we-support-card {\\r\\n height: auto;\\r\\n }\\r\\n .we-support,\\r\\n .points-sec {\\r\\n padding: 40px 0px;\\r\\n }\\r\\n .support_head {\\r\\n padding: 1rem 0;\\r\\n }\\r\\n .contactus-content .mission_headline h3 {\\r\\n font-size: 30px;\\r\\n width: 100%;\\r\\n }\\r\\n .contactus-content .mission_headline p {\\r\\n color: #fff;\\r\\n width: 100%;\\r\\n }\\r\\n .member_plan .sub_heading h2 {\\r\\n font-size: 30px;\\r\\n margin-bottom: 0.5rem;\\r\\n }\\r\\n .member_plan .member_area .member_card ul {\\r\\n min-height: auto;\\r\\n }\\r\\n .member_plan .member_area .member_card {\\r\\n margin-bottom: 1.5rem;\\r\\n }\\r\\n\\r\\n .points-sec .sub-heading {\\r\\n z-index: 1;\\r\\n }\\r\\n\\r\\n .points-card {\\r\\n margin-top: 15px;\\r\\n }\\r\\n\\r\\n .points-sec::after {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n .board-fee {\\r\\n padding: 50px 0px;\\r\\n }\\r\\n\\r\\n .board-fee .mission_headline h5::after {\\r\\n font-size: 28px;\\r\\n }\\r\\n\\r\\n .board-img {\\r\\n margin-bottom: 20px;\\r\\n }\\r\\n\\r\\n .mission-sec .pharma-sec, .mission-sec .radiology-laboratories, .mission-sec .clinics-sec {\\r\\n padding: 40px 0px;\\r\\n }\\r\\n \\r\\n .view-section .view-sec ul {\\r\\n margin: 30px 0px 0px;\\r\\n }\\r\\n\\r\\n .credentials-verified .left-sec img {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n .credentials-verified {\\r\\n padding: 40px 0px 120px;\\r\\n }\\r\\n\\r\\n .credentials-verified .right-sec .right-img {\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: 0;\\r\\n width: 85%;\\r\\n -webkit-transform: none;\\r\\n transform: none;\\r\\n }\\r\\n \\r\\n .mission-sec .clinics-sec .mission_headline p {\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n .member_plan {\\r\\n padding: 3rem 0;\\r\\n } \\r\\n\\r\\n .convenince_sec {\\r\\n padding: 50px 0px;\\r\\n }\\r\\n\\r\\n .convenince_sec_1 p {\\r\\n margin-bottom: 30px;\\r\\n }\\r\\n\\r\\n .btn-theme-prov {\\r\\n margin-top: 15px;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .contactus-content .mission_headline h3 {\\r\\n font-size: 20px;\\r\\n width: 100%;\\r\\n margin-top: 0px;\\r\\n }\\r\\n .contactus-content .mission_headline p {\\r\\n color: #fff;\\r\\n width: 100%;\\r\\n font-size: 15px;\\r\\n }\\r\\n .sub-heading {\\r\\n font-size: 25px;\\r\\n line-height: 1.5;\\r\\n }\\r\\n .points-card {\\r\\n margin-top: 0;\\r\\n }\\r\\n h4 {\\r\\n font-size: 18px;\\r\\n }\\r\\n .mission-sec .mission_content .mission_content1 p {\\r\\n position: relative;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n line-height: 34px;\\r\\n color: #000000;\\r\\n margin-bottom: 0;\\r\\n }\\r\\n ::ng-deep .mat-expansion-panel-header {\\r\\nheight: 40px !important;\\r\\n }\\r\\n .tab-btn-sec ul li a.nav-link {\\r\\n padding: 6px !important;\\r\\n font-size: 14px !important;\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Join_Us_and_be_a_part_of_the_next_generation_in_Healthcare\\\"|translate}}

\\r\\n

\\r\\n {{\\\"Connect_with_new_and_existing_patients_through_virtual_consultations_wherever_you_are_on_your_phone_or_your_computer.\\\"\\r\\n |translate}}

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

{{\\\"Benefits_with_myHealthyGate\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n

{{\\\"Business\\\"|translate}}

\\r\\n

{{\\\"Access_our_reliable_and_growing_patient_volume\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n

{{\\\"EMR\\\"|translate}}

\\r\\n

{{\\\"Web_based_EMR_with_full_access_to_records_notes_&_history\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n

{{\\\"appointments\\\"|translate}}

\\r\\n

{{\\\"Manage_Online_Face_2_Face_or_even_Home_Visit\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n

{{\\\"Insurance\\\"|translate}}

\\r\\n

{{\\\"Have your insurance details listed\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n

{{\\\"payment\\\"|translate}}

\\r\\n

{{\\\"Get_paid_instantly_upon_appointment_booking\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{\\\"Getting_you_on_Board_is_simple(and_it's_Free)\\\"|translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 01\\r\\n \\\"\\\"\\r\\n
\\r\\n

{{\\\"sign_up\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 02\\r\\n \\\"\\\"\\r\\n
\\r\\n

{{\\\"Enter_your_details\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 03\\r\\n \\\"\\\"\\r\\n
\\r\\n

{{\\\"Upload_credentials_and_certificates\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n 04\\r\\n \\\"\\\"\\r\\n
\\r\\n

{{\\\"Upload_photos_of_you_or_your_clinic\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{\\\"Once_your_credentials_are_verified(up_to_48_hours)_you’ll_be_able_to:\\\"|translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n {{\\\"Set_your_availability_and_enjoy_flexible_hours\\\"|translate}}\\r\\n
  • \\r\\n
  • \\r\\n {{\\\"Choose_your_own_fees_based_on_the_services_you_provide\\\"|translate}}
  • \\r\\n
  • \\r\\n {{\\\"Manage_all_your_bookings_and_patient_records\\\"|translate}}
  • \\r\\n
  • \\r\\n In{{\\\"Invite_and_Consult_with_colleagues_in_any_specialty\\\"|translate}}
  • \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\\"\\\"\\r\\n

    {{\\\"Manage Patients\\\"|translate}}

    \\r\\n
  • \\r\\n
  • \\\"\\\"\\r\\n

    {{\\\"Pending Requests\\\"|translate}}

    \\r\\n
  • \\r\\n
  • \\\"\\\"\\r\\n

    {{\\\"set_availability\\\"|translate}}

    \\r\\n
  • \\r\\n
  • \\\"\\\"\\r\\n

    {{\\\"Check Earnings\\\"|translate}}

    \\r\\n
  • \\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
    \\r\\n
  • {{\\\"Patient_view\\\"|translate}}\\r\\n
  • \\r\\n
  • {{\\\"Provider_View\\\"|translate}}\\r\\n
  • \\r\\n
  • {{\\\"Clinical_view\\\"|translate}}\\r\\n
  • \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{\\\"Pharmacies\\\"|translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Sign_up_and_be_selected_by_our_patients_as_preferred_choice\\\"|translate}}

\\r\\n

{{\\\"Get_electronic_referrals\\\"|translate}}

\\r\\n

{{\\\"Manage_patients_data_for_prescriptions\\\"|translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{\\\"Radiology_&_Laboratories\\\"|translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Electronic_access_for_referrals\\\"|translate}}\\r\\n

{{\\\"Share_results_in_a_trusted_and_sec\\\"|translate}}\\r\\n

{{\\\"Manage_Home_Visit_appointment_through_our_booking_system\\\"|translate}}\\r\\n

{{\\\"Promote_your_Centre_through_the_sign_up_process\\\"|translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{\\\"Clinics\\\"|translate}}
\\r\\n

\\r\\n {{\\\"Enhance_your_services_by_joining_My_Healthy_Gate._Ideal_for_small_to_medium_clinics_and_medical_centers._You_will_be_able_to_reshape_your_online_services_and_manage_multiple_doctors_or_multiple_clinical_staff_from_one_spot.\\\"|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Providing_different_lof_access_for_clinicians_and_personals\\\"|translate}}

\\r\\n

\\r\\n {{\\\"Share_room_access:_colleagues_will_be_able_to_cover_other_appointments_through_authorized_access\\\"|translate}}\\r\\n

\\r\\n

{{\\\"Manage_waiting_rooms_with_your_own_content\\\"|translate}}

\\r\\n

{{\\\"Transfer_patients_internally\\\"|translate}}

\\r\\n

{{\\\"Manage_doctors_availability_and_leaves\\\"|translate}}

\\r\\n

{{\\\"Integrated_Electronic_Health_records_and_referrals\\\"|translate}}

\\r\\n

{{\\\"Manage_payments_and_access_insurance_details\\\"|translate}}

\\r\\n

{{\\\"Web_Based_EMR_allowing_you_to_manage_all_patient_records_notes\\\"|translate}}

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

{{\\\"Be_a_part_of_myHealthyGate\\\"|translate}}

\\r\\n

\\r\\n {{\\\"thousands_of_providers_are_changing_healthcare_by_incorporating_myhealthygate_into_their_practice.\\\"|translate}}\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { HomeService } from '../home/home.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-providers',\r\n templateUrl: './providers.component.html',\r\n styleUrls: ['./providers.component.css']\r\n})\r\nexport class ProvidersComponent implements OnInit {\r\n\r\n basicPlan:any = [];\r\n premiumPlan:any = [];\r\n viewFlag: any = 1;\r\n\r\n constructor(\r\n private homeService: HomeService,\r\n private router: Router,\r\n private activatedRoute:ActivatedRoute\r\n ) { }\r\n\r\n \r\n ngOnInit() {\r\n this.activatedRoute.fragment.subscribe((value)=>{\r\n this.jumpTo(value);\r\n });\r\n this.getAllSubcriptionPlans()\r\n }\r\n jumpTo(section){\r\n document.getElementById(section).scrollIntoView({behavior:'smooth'})\r\n }\r\n\r\n loginClick(){\r\n\r\n }\r\n\r\n viewFun(tabNum : any){\r\n this.viewFlag = tabNum;\r\n }\r\n\r\n getAllSubcriptionPlans(){\r\n this.homeService.getAllSubscriptionPlans( true).subscribe((response: any) => { \r\n this.basicPlan = response.data.filter(e => e.planType == \"Basic\");\r\n this.premiumPlan = response.data.filter(e =>e.planType == \"Premium\");\r\n });\r\n }\r\n\r\n signUpClick() {\r\n let url = \"/web/sign-up\";\r\n this.redirect(url);\r\n }\r\n\r\n redirect(path) {\r\n this.router.navigate([path]);\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n

Refund & Cancellation Policy

\\r\\n

MHG cancellation policy makes booking, cancelling, and rescheduling easy. MHG will honor a full refund for any of\\r\\n our visits when cancelled within the following time constraints that the provider accepts.\\r\\n Each provider will assign their own refund policy and time frame accepted for cancellations.

\\r\\n

\\r\\n As a general rule, for online, face to face and\\r\\n home visits you should notify cancellation or rescheduling of an appointment at least 24 hours prior to the\\r\\n schedules visit, otherwise as fees are applicable.Once our MHG admin confirms with the provider that the visit did\\r\\n not take place, refund will be processed and\\r\\n may take up to ten working days.\\r\\n

\\r\\n

\\r\\n You may cancel your subscription to Membership Services at any time up to forty-eight (72) hours before the\\r\\n applicable renewal processing date of your subscription, by emailing admin@myhealthygate.com\\r\\n directly requesting a\\r\\n cancellation. If you cancel the Membership Services and your subscription term has not expired, you may continue\\r\\n to use the Membership Services until the end of your then-current subscription monthly or annual term and your\\r\\n subscription will not be renewed after your then-current term expires. However, you won't be eligible for a\\r\\n prorated refund of any portion of the recurring subscription fee paid for the then-current recurring subscription\\r\\n term.\\r\\n

\\r\\n

We are unable to offer refunds for the following:

\\r\\n
    \\r\\n
  • No-shows or missed appointments
  • \\r\\n
  • Refund requests due to not receiving a prescription or disagreement with the clinical outcome of the visit\\r\\n
  • \\r\\n
  • Surgical procedures with specific scheduling requirements
  • \\r\\n
  • Any request made 10 days after the original purchase date
  • \\r\\n
\\r\\n

\\r\\n If you make a same-day appointment by mistake and need to cancel, MHG will refund you if you request a\\r\\n cancellation\\r\\n within one hour of completing the purchase.\\r\\n Note also that information submitted by you to us may be transmitted to and shared with third parties located in\\r\\n other countries, in order to provide Services to you. These Terms of Service and any separate agreements whereby\\r\\n we\\r\\n provide you Services shall be governed by and construed in accordance.\\r\\n

\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".terms-and-condition {\\n padding: 8rem 0 4rem 0px; }\\n .terms-and-condition h2 {\\n font-size: 3rem;\\n font-weight: 600;\\n text-align: center;\\n margin-bottom: 20px; }\\n .terms-and-condition h3 {\\n font-size: 2rem;\\n font-weight: 600;\\n margin: 15px 0px;\\n line-height: 2; }\\n .terms-and-condition h4 {\\n font-size: 1.5rem;\\n font-weight: 600;\\n margin: 15px 0px;\\n line-height: 2; }\\n .terms-and-condition p {\\n font-size: 1.25rem;\\n line-height: 1.75; }\\n .terms-and-condition a {\\n color: #01385f; }\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-refund-and-cancellation',\r\n templateUrl: './refund-and-cancellation.component.html',\r\n styleUrls: ['./refund-and-cancellation.component.scss']\r\n})\r\nexport class RefundAndCancellationComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".login-wrapper {\\r\\n display: table-cell;\\r\\n vertical-align: middle;\\r\\n}\\r\\n\\r\\n.login-fields {\\r\\n width: 100%;\\r\\n background: #fff;\\r\\n margin: 0 auto;\\r\\n display: block;\\r\\n padding:0px;\\r\\n box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.90);\\r\\n}\\r\\n\\r\\n.login-fields form{padding: 3rem 1rem;}\\r\\n\\r\\n.login-fields h3 a {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n padding-left: 30px;\\r\\n color: #2a3134;\\r\\n opacity: .7;\\r\\n}\\r\\n\\r\\n.login-fields h3 a:hover {\\r\\n color: #258df2;\\r\\n}\\r\\n\\r\\n.login-fields h3 i {\\r\\n font-size: 5rem;\\r\\n}\\r\\n\\r\\n.login-fields h3.title-404 {\\r\\n font-size: 7.5rem;\\r\\n}\\r\\n\\r\\n.login-fields .alert-danger {\\r\\n margin-top: 10px;\\r\\n }\\r\\n\\r\\n.login_bg {\\r\\n height: 100%;\\r\\n display: table;\\r\\n width: 100%;\\r\\n background-image: url('login_bg.jpg');\\r\\n background-size: cover;\\r\\n background-position: center;\\r\\n}\\r\\n\\r\\n.loginlogo {\\r\\n text-align: center;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.login-headtabs{display: flex; justify-content: space-between; align-items: center;}\\r\\n\\r\\n.login-headtab {\\r\\n margin: 0px;\\r\\n background-color: rgba(15, 216, 239, 0.70);\\r\\n text-align: center;\\r\\n display: flex;\\r\\n width: 100%;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.login-headtab a {\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n color: #fff;\\r\\n display: block;\\r\\n padding: 11px 0px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.login-headtab.active{background-color: #01385f; box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02); -webkit-box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02);}\\r\\n\\r\\n.mat-raised-button.login-btn{\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n width: 80%;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.login-content {\\r\\n align-items: center;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n color: #fff;\\r\\n font-size: 15px;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.login-content p {\\r\\n text-align: left !important;\\r\\n width: 100%;\\r\\n line-height: 23px;\\r\\n}\\r\\n\\r\\n.login-content .smartlink{color:#D92029;}\\r\\n\\r\\n.login-content span{font-weight: 500;font-size: 16px;}\\r\\n\\r\\n.rem {\\r\\n float: left;\\r\\n width: 50% !important;\\r\\n font-size: 14px !important;\\r\\n margin: 0px !important;\\r\\n}\\r\\n\\r\\n.frgtpwd {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n width: 100%;\\r\\n padding: 0rem 0rem 1rem;\\r\\n}\\r\\n\\r\\na.frgtpwd {\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.resetmail_msg {\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.resetmail_msg i {\\r\\n font-size: 50px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.spradmpnlpwd {\\r\\n float: left;\\r\\n text-align: right;\\r\\n width: auto;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.spradmpnlpwd a {\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.createnew {\\r\\n border-top: 1px solid #f5f5f5;\\r\\n color: #7a7a7a;\\r\\n display: flex;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n justify-content: center;\\r\\n margin-top: 20px;\\r\\n padding-top: 10px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.createnew a {\\r\\n padding-left: 10px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.createnew a:hover {\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.frgtcont {\\r\\n color: #7a7a7a;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n line-height: 18px;\\r\\n margin: 20px 0 0;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.loginas {\\r\\n text-align: center;\\r\\n color:rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.loginas span {\\r\\n display: block;\\r\\n font-size: 14px;\\r\\n margin: 10px 0px 5px;\\r\\n}\\r\\n\\r\\n.loginas p {\\r\\n margin: 0px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.loginas p a{color:#01385f; }\\r\\n\\r\\n.loginas p a:hover, .frgtpwd a:hover, .backtologin a:hover{text-decoration: underline;}\\r\\n\\r\\n.backtologin {\\r\\n display: block;\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n.backtologin a {\\r\\n display: inline-block;\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.custom_form .backtologin i {\\r\\n position: inherit;\\r\\n float: left;\\r\\n padding-top: 1px;\\r\\n padding-right: 10px;\\r\\n color: rgba(0, 0, 0, 0.70);\\r\\n}\\r\\n\\r\\n/*For register page only*/\\r\\n\\r\\n.signup-btn\\r\\n{\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n width: 50%;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.user-registed {\\r\\n width: 100%;\\r\\n background: #fff;\\r\\n padding: 30px;\\r\\n box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.90);\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.user-registed h3\\r\\n{\\r\\n font-size: 30px;\\r\\n}\\r\\n\\r\\n.user-registed p\\r\\n{\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.register-btn {\\r\\n background: #01385f;\\r\\n border: 0;\\r\\n color: #fff;\\r\\n font-weight: bold;\\r\\n padding: 10px;\\r\\n width: 200px;\\r\\n display: inline-block;\\r\\n margin-top:10px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_first_name\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_last_name\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_dob\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"Age should be greater than 18 years\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ genderVal.value }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_Phone_number\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_email\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"Please_enter_a_valid_email_address\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please enter username\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"user_name\\\"|translate}} '{{ formControls.userName.value }}' {{\\\"already_exist\\\"|translate}}\\r\\n\\r\\n \\r\\n \\r\\n {{\\\"user_name\\\"|translate}} '{{ formControls.userName.value }}'\\r\\n {{\\\"not valid, allowed only alphanumeric characters.\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please enter password\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"Password should have number,special character lowercase and uppercase letters\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please re-enter password\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"Password doesn't match\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n

{{ Message.title }}

\\r\\n

{{ Message.message }}

\\r\\n \\\"user-register-icon\\\"\\r\\n

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

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

\\r\\n {{\\\"myHealthyGate is founded by a group of long-term experienced health..\\\"|translate}}\\r\\n

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

{{\\\"copyright_myhealthygate_all_rights_reserved\\\"|translate}}

\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import {\r\n Component,\r\n OnInit,\r\n ComponentRef,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { RegisterService } from \"src/app/front/register/register.service\";\r\nimport { UserModel } from \"src/app/platform/modules/agency-portal/users/users.model\";\r\nimport { PasswordValidator } from \"src/app/shared/password-validator\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { InvitationRegisterModel } from \"src/app/front/register/register.model\";\r\nimport { ErrorStateMatcher } from \"@angular/material/core\";\r\nimport { FormGroupDirective } from \"@angular/forms\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { AbstractControl, ValidationErrors } from \"@angular/forms\";\r\nimport { Observable } from \"rxjs\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { SubDomainService } from \"src/app/subDomain.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\nexport function AgeValidator(\r\n control: AbstractControl\r\n): { [key: string]: boolean } | null {\r\n var selectedDate = new Date(control.value);\r\n var today = new Date();\r\n var year = today.getFullYear();\r\n var month = today.getMonth() + 1;\r\n var day = today.getDate();\r\n var yy = selectedDate.getFullYear();\r\n var mm = selectedDate.getMonth() + 1;\r\n var dd = selectedDate.getDate();\r\n var years, months, days;\r\n // months\r\n months = month - mm;\r\n if (day < dd) {\r\n months = months - 1;\r\n }\r\n // years\r\n years = year - yy;\r\n if (month * 100 + day < mm * 100 + dd) {\r\n years = years - 1;\r\n months = months + 12;\r\n }\r\n // days\r\n days = Math.floor(\r\n (today.getTime() - new Date(yy + years, mm + months - 1, dd).getTime()) /\r\n (24 * 60 * 60 * 1000)\r\n );\r\n if (years < 18) return { age: true };\r\n else return null;\r\n //\r\n //return { years: years, months: months, days: days };\r\n}\r\n@Component({\r\n selector: \"app-register\",\r\n templateUrl: \"./register.component.html\",\r\n styleUrls: [\"./register.component.css\"],\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n invitationId: string = \"\";\r\n userForm: FormGroup;\r\n userModel: UserModel;\r\n registerInvitationModel: InvitationRegisterModel;\r\n submitted: boolean = false;\r\n masterGender: any = [];\r\n isTokenValid: boolean = true;\r\n isUsernameExisted: boolean = false;\r\n Message: any;\r\n logoUrl: string = null;\r\n maxDate = new Date();\r\n isShowPassword: any;\r\n resolve: any;\r\n isShowRePassword: any;\r\n minDate = new Date(1900, 1, 1);\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private registerService: RegisterService,\r\n private route: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private notifier: NotifierService,\r\n private subDomainService: SubDomainService,\r\n private translate:TranslateService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n if (this.userModel == null) this.userModel = new UserModel();\r\n if (this.registerInvitationModel == null)\r\n this.registerInvitationModel = new InvitationRegisterModel();\r\n }\r\n ngOnInit() {\r\n this.Message = {\r\n title: \"Oops\",\r\n message:\r\n \"Either token isn't legitimate or lapsed or client previously enrolled with this token id, it would be ideal if you contact organization for additional help.\",\r\n imgSrc: \"../assets/img/user-register-icon.png\",\r\n };\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n if (params[\"id\"] != null &&\r\n params[\"id\"] != undefined &&\r\n params[\"id\"] != \"\"\r\n )\r\n this.invitationId = params[\"id\"];\r\n });\r\n let unamePattern = \"^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])([a-zA-Z0-9]+)$\";\r\n this.userForm = this.formBuilder.group(\r\n {\r\n invitationId: [this.invitationId],\r\n firstName: [this.userModel.firstName],\r\n lastName: [this.userModel.lastName],\r\n middleName: [this.userModel.middleName],\r\n phone: [this.userModel.phoneNumber],\r\n dob: [this.userModel.dob, [AgeValidator.bind(this)]],\r\n email: [this.userModel.email, [Validators.required, Validators.email]],\r\n gender: [this.userModel.gender, [Validators.required]],\r\n userName: [\r\n this.userModel.userName,\r\n {\r\n validators: [Validators.required],\r\n asyncValidators: [this.validateUsername.bind(this)],\r\n updateOn: \"blur\",\r\n },\r\n ],\r\n password: [\r\n this.userModel.password,\r\n [Validators.required, PasswordValidator.strong],\r\n ],\r\n confirmPassword: [this.userModel.confirmPassword],\r\n },\r\n {\r\n validator: this.validateForm.bind(this),\r\n }\r\n );\r\n\r\n if (this.invitationId != \"\") {\r\n this.registerService\r\n .checkTokenAccessibility(this.invitationId)\r\n .subscribe((res) => {\r\n if (res.statusCode != 200) {\r\n this.isTokenValid = false;\r\n } else {\r\n this.userModel = res.data;\r\n this.userForm.patchValue(this.userModel);\r\n this.isTokenValid = true;\r\n }\r\n });\r\n }\r\n this.registerService.getMasterData(\"MASTERGENDER\").subscribe((response) => {\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n });\r\n this.subDomainService.getSubDomainInfo().subscribe((domainInfo) => {\r\n if (domainInfo)\r\n this.logoUrl =\r\n \"data:image/png;base64,\" + domainInfo.organization.logoBase64;\r\n });\r\n }\r\n get formControls() {\r\n return this.userForm.controls;\r\n }\r\n\r\n validateForm(formGroup: FormGroup) {\r\n let pass = formGroup.controls.password.value;\r\n let confirmPass = formGroup.controls.confirmPassword.value;\r\n\r\n if (!confirmPass.length) return null;\r\n return pass && confirmPass && pass === confirmPass\r\n ? null\r\n : formGroup.controls.confirmPassword.setErrors({ notSame: true });\r\n }\r\n validateUsername(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise((resolve) => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n let userName = ctrl.value;\r\n this.registerService\r\n .checkUserNameExistance(userName)\r\n .subscribe((response: any) => {\r\n if (response.statusCode != 200) resolve({ uniqueName: true });\r\n else resolve();\r\n });\r\n }\r\n });\r\n }\r\n openLoginSelection() {\r\n this.route.navigate([\"/web/login-selection\"]);\r\n }\r\n onSubmit() {\r\n // console.log('this.userForm.invalid',this.userForm.invalid);\r\n // console.log('this.userForm',this.userForm);\r\n if (!this.userForm.invalid) {\r\n this.submitted = true;\r\n // this.userForm.controls.invitationId.setValue(this.invitationId);\r\n // console.log('this.userForm.value',this.userForm.value);\r\n this.registerService\r\n .registerNewUser(this.userForm.value)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.isTokenValid = false;\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your account has been successfully created with us. To access all features, please login and complete your profile.\",\r\n // contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","export class InvitationRegisterModel {\r\n email: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n phoneNumber: string;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { HttpHeaders, HttpClient } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class RegisterService {\r\n private checkTokenAccessibilityUrl: string = \"UserRegister/CheckTokenAccessibility?id=\";\r\n private registerNewUserUrl: string = \"UserRegister/RegisterWithToken\";\r\n private registerNewUserWithoutTokenUrl: string = \"UserRegister/Register\";\r\n private rejectInvitationUrl: string = \"UserRegister/RejectInvitation\";\r\n private checkUsernameUrl: string = \"UserRegister/CheckUsernameExistance?username=\";\r\n private masterDataUrl: string = \"UserRegister/MasterDataByName\";\r\n private validateEmailURL: string = \"UserRegister/ValidateEmail\";\r\n private loadingStateSubject = new Subject();\r\n public loadingState = this.loadingStateSubject.asObservable();\r\n constructor(private commonService: CommonService, private http: HttpClient) { }\r\n\r\n checkTokenAccessibility(\r\n id: string,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.checkTokenAccessibilityUrl}${id}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(res => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n registerNewUser(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.registerNewUserUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(res => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n //return this.commonService.post(`${this.registerNewUserUrl}`, postData);\r\n }\r\n registerNewUserWithoutToken(\r\n postData: any,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.registerNewUserWithoutTokenUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(res => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n //return this.commonService.post(`${this.registerNewUserUrl}`, postData);\r\n }\r\n getMasterData(\r\n value: string = \"\",\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.masterDataUrl}`,\r\n { masterdata: value },\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(res => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n checkUserNameExistance(\r\n username: string,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n let url = `${environment.api_url}/${this.checkUsernameUrl}${username}`;\r\n return this.http.get(url, { headers: headers }).pipe(\r\n map(res => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n //return this.commonService.post(`${this.registerNewUserUrl}`, postData);\r\n }\r\n rejectInvitation(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.rejectInvitationUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(res => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n //return this.commonService.post(`${this.registerNewUserUrl}`, postData);\r\n }\r\n validateEmail(email) {\r\n return this.commonService.post(`${this.validateEmailURL}?email=${email}`, {});\r\n }\r\n}\r\n","module.exports = \".login-wrapper {\\r\\n display: table-cell;\\r\\n vertical-align: middle;\\r\\n}\\r\\n\\r\\n.login-fields {\\r\\n width: 100%;\\r\\n background: #fff;\\r\\n margin: 0 auto;\\r\\n display: block;\\r\\n padding:0px;\\r\\n box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.90);\\r\\n}\\r\\n\\r\\n.login-fields form{padding: 10px 30px 30px;}\\r\\n\\r\\n.login-fields h3 a {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n padding-left: 30px;\\r\\n color: #2a3134;\\r\\n opacity: .7;\\r\\n}\\r\\n\\r\\n.login-fields h3 a:hover {\\r\\n color: #258df2;\\r\\n}\\r\\n\\r\\n.login-fields h3 i {\\r\\n font-size: 5rem;\\r\\n}\\r\\n\\r\\n.login-fields h3.title-404 {\\r\\n font-size: 7.5rem;\\r\\n}\\r\\n\\r\\n.login-fields .alert-danger {\\r\\n margin-top: 10px;\\r\\n }\\r\\n\\r\\n.login_bg {\\r\\n height: 100%;\\r\\n display: table;\\r\\n width: 100%;\\r\\n background-image: url('login_bg.jpg');\\r\\n background-size: cover;\\r\\n background-position: center;\\r\\n}\\r\\n\\r\\n.loginlogo {\\r\\n text-align: center;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.login-headtabs{display: flex; justify-content: space-between; align-items: center;}\\r\\n\\r\\n.login-headtab {\\r\\n margin: 0px;\\r\\n background-color: rgba(15, 216, 239, 0.70);\\r\\n text-align: center;\\r\\n display: flex;\\r\\n width: 100%;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.login-headtab a {\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n color: #fff;\\r\\n display: block;\\r\\n padding: 11px 0px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.login-headtab.active{background-color: #01385f; box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02); -webkit-box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02);}\\r\\n\\r\\n.mat-raised-button.login-btn{\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n width: 80%;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.login-content {\\r\\n align-items: center;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n color: #fff;\\r\\n font-size: 15px;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.login-content p {\\r\\n text-align: left !important;\\r\\n width: 100%;\\r\\n line-height: 23px;\\r\\n}\\r\\n\\r\\n.login-content .smartlink{color:#D92029;}\\r\\n\\r\\n.login-content span{font-weight: 500;font-size: 16px;}\\r\\n\\r\\n.rem {\\r\\n float: left;\\r\\n width: 50% !important;\\r\\n font-size: 14px !important;\\r\\n margin: 0px !important;\\r\\n}\\r\\n\\r\\n.frgtpwd {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n width: 100%;\\r\\n padding: 0rem 0rem 1rem;\\r\\n}\\r\\n\\r\\na.frgtpwd {\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.resetmail_msg {\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.resetmail_msg i {\\r\\n font-size: 50px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.spradmpnlpwd {\\r\\n float: left;\\r\\n text-align: right;\\r\\n width: auto;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.spradmpnlpwd a {\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.createnew {\\r\\n border-top: 1px solid #f5f5f5;\\r\\n color: #7a7a7a;\\r\\n display: flex;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n justify-content: center;\\r\\n margin-top: 20px;\\r\\n padding-top: 10px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.createnew a {\\r\\n padding-left: 10px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.createnew a:hover {\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.frgtcont {\\r\\n color: #7a7a7a;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n line-height: 18px;\\r\\n margin: 20px 0 0;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.loginas {\\r\\n text-align: center;\\r\\n color:rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.loginas span {\\r\\n display: block;\\r\\n font-size: 14px;\\r\\n margin: 10px 0px 5px;\\r\\n}\\r\\n\\r\\n.loginas p {\\r\\n margin: 0px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.loginas p a{color:#01385f; }\\r\\n\\r\\n.loginas p a:hover, .frgtpwd a:hover, .backtologin a:hover{text-decoration: underline;}\\r\\n\\r\\n.backtologin {\\r\\n display: block;\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n.backtologin a {\\r\\n display: inline-block;\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.custom_form .backtologin i {\\r\\n position: inherit;\\r\\n float: left;\\r\\n padding-top: 1px;\\r\\n padding-right: 10px;\\r\\n color: rgba(0, 0, 0, 0.70);\\r\\n}\\r\\n\\r\\n/*For register page only*/\\r\\n\\r\\n.signup-btn\\r\\n{\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n width: 50%;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.user-registed, .reject-inv-reason {\\r\\n width: 100%;\\r\\n background: #fff;\\r\\n padding: 30px;\\r\\n box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.90);\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.user-registed h3\\r\\n{\\r\\n font-size: 30px;\\r\\n}\\r\\n\\r\\n.user-registed p\\r\\n{\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

Join the Service!!!

\\r\\n

It looks like you want to decline this invitation. Do you have a moment to send us a\\r\\n few details about what happened here? Just share your feedback with us.

\\r\\n

This sort of thing is very rare. If there was any trouble here, We want to make it\\r\\n right!

\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Please enter reject remarks\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n

{{Message.title}}

\\r\\n

{{Message.message}}

\\r\\n \\\"user-register-icon\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{\\\"myHealthyGate is founded by a group of long-term experienced health..\\\"|translate}}

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

{{\\\"copyright_myhealthygate_all_rights_reserved\\\"|translate}}

\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { RegisterService } from \"src/app/front/register/register.service\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { UserModel } from \"src/app/platform/modules/agency-portal/users/users.model\";\r\nimport { SubDomainService } from \"src/app/subDomain.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: 'app-reject-invitation',\r\n templateUrl: './reject-invitation.component.html',\r\n styleUrls: ['./reject-invitation.component.css']\r\n})\r\nexport class RejectInvitationComponent implements OnInit {\r\n submitted: boolean;\r\n userForm: FormGroup;\r\n invitationId: string = \"\";\r\n userModel: UserModel;\r\n logoUrl: string = null;\r\n isTokenValid: boolean = true;\r\n Message: any;\r\n constructor(private notifier: NotifierService,\r\n private registerService: RegisterService,\r\n private activatedRoute: ActivatedRoute,\r\n private formBuilder: FormBuilder,\r\n private translate: TranslateService,\r\n private subDomainService: SubDomainService) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.Message = {\r\n title: \"Oops\",\r\n message: \"Either token isn't legitimate or lapsed or client previously rejected or registred with this token id, it would be ideal if you contact organization for additional help.\",\r\n imgSrc: \"../assets/img/user-register-icon.png\"\r\n }\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n if (params[\"token\"] != undefined && params[\"token\"] != null && params[\"token\"] != \"\")\r\n this.invitationId = params[\"token\"];\r\n });\r\n this.userForm = this.formBuilder.group({\r\n invitationId: this.invitationId,\r\n remarks: [\"\", [Validators.required]]\r\n });\r\n if (this.invitationId != \"\") {\r\n this.registerService.checkTokenAccessibility(this.invitationId).subscribe(res => {\r\n if (res.statusCode != 200) {\r\n this.isTokenValid = false;\r\n }\r\n else {\r\n this.userModel = res.data;\r\n this.userForm.patchValue(this.userModel);\r\n this.isTokenValid = true;\r\n }\r\n });\r\n }\r\n else {\r\n this.Message = {\r\n title: \"Oops\",\r\n message: \"Bad redirection, please check your email or contact administartion for further assistance\",\r\n imgSrc: \"../assets/img/user-register-icon.png\"\r\n }\r\n this.isTokenValid = false;\r\n }\r\n this.subDomainService.getSubDomainInfo().subscribe(domainInfo => {\r\n if (domainInfo)\r\n this.logoUrl = 'data:image/png;base64,' + domainInfo.organization.logoBase64;\r\n });\r\n }\r\n get formControls() { return this.userForm.controls; }\r\n onSubmit() {\r\n if (!this.userForm.invalid) {\r\n this.submitted = true;\r\n this.registerService.rejectInvitation(this.userForm.value).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.isTokenValid = false;\r\n this.Message = {\r\n title: \"Success!\",\r\n message: \"Thank you, Your request has been successfully submitted.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n }\r\n }\r\n else {\r\n this.notifier.notify('error', response.message);\r\n }\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","module.exports = \"main {\\r\\n padding: 1em;\\r\\n font-family: Arial, Helvetica, sans-serif;\\r\\n text-align: center;\\r\\n margin-top: 50px;\\r\\n display: block;\\r\\n color: greenyellow;\\r\\n}\\r\\n\\r\\nlabel {\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.upload-drop-zone {\\r\\n height: 200px;\\r\\n border-width: 2px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n/* skin.css Style*/\\r\\n\\r\\n.upload-drop-zone {\\r\\n color: #ccc;\\r\\n border-style: dashed;\\r\\n border-color: #ccc;\\r\\n line-height: 200px;\\r\\n text-align: center\\r\\n}\\r\\n\\r\\n.upload-drop-zone.drop {\\r\\n color: #222;\\r\\n border-color: #222;\\r\\n}\\r\\n\\r\\n.browse-doc {\\r\\n border-radius: 0px;\\r\\n}\\r\\n\\r\\n.browse-doc .browse {\\r\\n line-height: normal;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding: 10px 0px;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n padding-right: 15px;\\r\\n filter: grayscale(100%);\\r\\n -webkit-filter: grayscale(100%);\\r\\n opacity: 0.8;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.uploading-data p {\\r\\n width: 90%;\\r\\n font-size: 14px;\\r\\n color: rgba( 0, 0, 0, 0.80);\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.custom_modal {\\r\\n height: 400px;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions {\\r\\n padding: 15px 18px !important;\\r\\n}\\r\\n\\r\\n.uplaod_pic i {\\r\\n font-size: 24px;\\r\\n}\\r\\n\\r\\n.cancel-btn {\\r\\n background-color: #fff;\\r\\n color: #01385f !important;\\r\\n min-width: 80px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #01385f;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n font-size: 14px;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n color:black;\\r\\n background-color:white !important;\\r\\n}\\r\\n\\r\\n.ml-auto,\\r\\n.mat-dialog-actions .mat-primary {\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n.tbactionbtn .fa {\\r\\n color: red;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n

{{\\\"upload_document\\\"|translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ doc.value }}\\r\\n \\r\\n \\r\\n \\r\\n {{ 'select_document_category' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_document_title\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{\\\"files_to_be_uploaded_are\\\"|translate}}:
\\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n

\\r\\n \\r\\n {{ file.fileName }}\\r\\n \\r\\n \\r\\n

\\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, Inject, Input } from '@angular/core';\r\n\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\n\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { UsersService } from 'src/app/platform/modules/agency-portal/users/users.service';\r\nimport { CommonService } from 'src/app/platform/modules/core/services/common.service';\r\nimport { ResponseModel } from 'src/app/platform/modules/core/modals/common-model';\r\n\r\n\r\n@Component({\r\n selector: 'app-save-document',\r\n templateUrl: './save-document.component.html',\r\n styleUrls: ['./save-document.component.css']\r\n})\r\nexport class SaveDocumentComponent implements OnInit {\r\n userId: number = null;\r\n masterDocumentTypes: any = []\r\n filtermasterDocumentTypes: any = [];\r\n filterString;\r\n filterStringId;\r\n addDocumentForm: FormGroup;\r\n fileList: any = [];\r\n dataURL: any;\r\n submitted: boolean = false;\r\n todayDate = new Date();\r\n constructor(private dialogModalRef: MatDialogRef,\r\n private userService: UsersService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService, private formBuilder: FormBuilder, private commonService: CommonService) {\r\n this.userId = this.data;\r\n }\r\n\r\n ngOnInit() {\r\n this.addDocumentForm = this.formBuilder.group({\r\n documentType: [],\r\n expirationDate: [],\r\n title: []\r\n });\r\n this.getMasterData();\r\n }\r\n get formControls() {\r\n return this.addDocumentForm.controls;\r\n }\r\n\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n getMasterData() {\r\n this.userService\r\n .getMasterData(\"MASTERDOCUMENTTYPESSTAFF\")\r\n .subscribe((response: any) => {\r\n if (response != null)\r\n this.masterDocumentTypes = response.masterDocumentTypesStaff = response.masterDocumentTypesStaff != null ? response.masterDocumentTypesStaff : [];\r\n });\r\n }\r\n\r\n handleImageChange(e) {\r\n //if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n let fileExtension = e.target.files[0].name.split('.').pop().toLowerCase();\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.fileList.push({\r\n data: this.dataURL,\r\n ext: fileExtension,\r\n fileName: e.target.files[0].name\r\n });\r\n\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n // }\r\n // else\r\n // this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n }\r\n\r\n documentTypeHandler = (e) => {\r\n if (e !== \"\") {\r\n this.filtermasterDocumentTypes = this.masterDocumentTypes.filter(doc => doc.value.toLowerCase().indexOf(e) != -1);\r\n }\r\n else {\r\n this.filtermasterDocumentTypes = [];\r\n }\r\n\r\n }\r\n onSelFunc(data) {\r\n this.filterString = data.type;\r\n this.filterStringId = data.id;\r\n }\r\n\r\n\r\n onSubmit() {\r\n\r\n ///Please chnage this API to avoid loops\r\n if (!this.addDocumentForm.invalid) {\r\n console.log(\"this filterstring\",this.filterStringId);\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: this.addDocumentForm.value.title,\r\n documentTypeId: this.filterStringId != null ? this.filterStringId : null,\r\n expiration: this.addDocumentForm.value.expirationDate,\r\n documentTypeIdStaff: null,\r\n otherDocumentType: this.filterStringId != null ? null : this.filterString,\r\n key: \"PATIENT\",\r\n userId: this.userId,\r\n patientAppointmentId: null\r\n }\r\n this.closeDialog(formValues);\r\n // let dic = [];\r\n // formValues.base64.forEach((element, index) => {\r\n // dic.push(`\"${element.data.replace(/^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/, '')}\": \"${element.ext}\"`);\r\n // });\r\n // let newObj = dic.reduce((acc, cur, index) => {\r\n // acc[index] = cur;\r\n // return acc;\r\n // }, {})\r\n // formValues.base64 = newObj;\r\n // this.submitted = true;\r\n // this.userService.uploadUserDocuments(formValues).subscribe((response: ResponseModel) => {\r\n // this.submitted = false;\r\n // if (response != null && response.statusCode == 200) {\r\n // this.notifier.notify('success', response.message);\r\n // this.closeDialog(\"save\");\r\n // }\r\n // else this.notifier.notify('error', response.message);\r\n // });\r\n }\r\n else this.notifier.notify('error', \"Please add atleast one file\");\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n

Terms and Conditions

\\r\\n

What is this document?

\\r\\n

These Terms and Conditions (\\\"T&Cs\\\") is an agreement between you and My Healthy Gate (MHG). It describes the rules you agree to follow when using our mobile applications and website(s) (the \\\"Apps\\\"), including when you ask questions and when you view or input content on or into the Apps.

\\r\\n

These Terms and Conditions apply to your use of MHG as a patient or member. Medical Experts participating on MHG are subject to different guidelines and terms found in Medical Expert Terms of Use. If you are viewing these Terms of Use for members and patients in error and you are a Medical Expert, please review and accept the Terms of Use for Medical Experts

\\r\\n

Definitions

\\r\\n

“Primary Care”: is defined as any provider with specialty: Internal medicine, Family medicine, Urgent Care, Emergency medicine, adult medicine

\\r\\n

“Virtual Primary Care Visits”: are defined as virtual visits with a Primary Care provider.

\\r\\n

“Specialist”: is defined as any provider not covered under the Primary Care definition.

\\r\\n

These Terms and Conditions are an agreement

\\r\\n

My Healthy Gate (“MHG,” “we,” “us,” “our”) provides its services (described below) to Providers and Patients (“you”, “your”) through its website located at www.myhealthygate.com (the “Site”) and through its mobile applications (the “App”), and through its related services, content, tools, widgets, software, API(s), and/or other product(s), service(s), data, or information supplied to you (collectively, including any new features and applications, and the Site and the App, the “Service(s)”), subject to the following Terms of Service (as amended from time to time, the “Terms of Service”).

\\r\\n

This agreement is the user agreement (the “Agreement”) for MHG. This Agreement describes the terms and conditions applicable to your use of our services available under the domain and sub-domains of the Site. If you do not agree to be bound by the terms and conditions of this Agreement, do not sign in or access the Site or use the Services. As discussed below, we reserve the right, at our sole discretion, to change or modify portions of these Terms of Service at any time. Your continued use of the Service after the date any such changes become effective constitutes your acceptance of the new Terms of Service.

\\r\\n

In addition, when using certain services, you may be subject to any additional terms and conditions applicable to you as a user, including, without limitation, the Privacy Policy (“Privacy Policy”). You must read, agree with and accept all of the terms and conditions contained in this Agreement and the Privacy Policy, which include those terms and conditions expressly set out below and those incorporated by reference, before you may use the Site.

\\r\\n

PLEASE READ THE FOLLOWING CAREFULLY AS IT CONTAINS IMPORTANT INFORMATION REGARDING YOUR LEGAL RIGHTS, REMEDIES, AND OBLIGATIONS. BY USING THIS SITE, YOU SIGNIFY YOUR ACCEPTANCE OF THESE TERMS OF SERVICE. IF YOU DO NOT AGREE WITH ANY OF THE TERMS AND CONDITIONS CONTAINED IN THE TERMS OF SERVICE, PLEASE DO NOT USE THESE SERVICES.

\\r\\n

Access Rights and Use of the Services

\\r\\n

Services Description: MHG is a platform that facilitates the linkage between health care services by health care providers (“Providers/ Specialists”) to patients, including you (“you” or “Patient(s)”) searching for health care services and Providers thereof, and the scheduling of and payment for health care services by you.

\\r\\n

Members of the site shall either have a “basic membership” or “Premium membership”. Users with basic membership are allowed access to a minimal level of Services available on the Site and App. To benefit from all of the Services offered by MHG and access additional features that are not otherwise available to users with basic membership, you must register in MHG’s premium membership. MHG has the right to change, add and delete basic subscriptions at any time. Other paid subscriptions may change at time of expiry dates.

\\r\\n

By registering to MHG, you will be asked to provide certain information about yourself, which you permit MHG to use and disclose as provided in our Privacy Policy.

\\r\\n

MHG Does NOT Provide Medical Services/ Advice.

\\r\\n

AS FURTHER SPECIFIED HEREIN, YOU ACKNOWLEDGE AND AGREE THAT MHG DOES NOT PROVIDE ANY MEDICAL SERVICES NOR MEDICAL ADVICE AND DOES NOT MAKE ANY REPRESENTATIONS, WARRANTIES, GUARANTEES OR ENDORSEMENTS REGARDING ANY MEDICAL SERVICES OR ADVICE THAT YOU MAY OBTAIN THROUGH THE SITE AND/OR THE SERVICES. NEVER DISREGARD PROFESSIONAL MEDICAL ADVICE OR DELAY SEEKING MEDICAL TREATMENT BECAUSE OF SOMETHING YOU HAVE READ ON OR ACCESSED THROUGH THE SITE. IF YOU THINK YOU MAY HAVE A MEDICAL EMERGENCY, CALL YOUR DOCTOR OR YOUR LOCAL EMERGENCY NUMBER IMMEDIATELY.

\\r\\n

NO HEALTH CARE PROVIDER OR SPECIALIST/ PATIENT RELATIONSHIP IS CREATED WHEN YOU USE THE SERVICES. MHG IS NEITHER RESPONSIBLE NOR LIABLE FOR ANY ADVICE, COURSE OF TREATMENT, DIAGNOSIS OR ANY OTHER THIRD-PARTY INFORMATION, SITE, PRODUCT, OR SERVICE THAT YOU PURCHASE OR ACCESS THROUGH THE SITE. MHG IS SIMPLY A CONNECTING PORTAL BETWEEN HEALTH PROVIDERS AND USERS.

\\r\\n

MHG IS NOT A PHARMACY NOR DOES IT PERFORM PHARMACY SERVICES INCLUDING ADVICE ON PRESCRIPTION MEDICATION. YOU ACKNOWLEDGE THAT FOR ANY ADVICE OR QUESTIONS RELATED TO MEDICATION, YOU SHOULD CONTACT YOUR PHARMACIST OR HEALTHCARE PROVIDER.

\\r\\n

MGH Provides Information without Recommendation or Endorsement.

\\r\\n

The inclusion of any health care provider on the Services shall not be considered as an endorsement of such health care provider by MHG and shall not in any way mean that MHG has conducted any due diligence or other investigation regarding the health care provider. Reliance on MHG Content or Services is solely at your own risk. Some Services and Content (including posts by Medical Experts) may not be reviewed or certified by MHG. We cannot guarantee that the Content and Services will help you achieve any specific goals or results. Content regarding dietary supplements or other treatments or regimens have not been evaluated by the Food and Drug Administration and is not intended to diagnose, treat, cure, or prevent any disease.

\\r\\n

MHG is Not for Use in Emergencies.

\\r\\n

IF YOU THINK YOU HAVE A MEDICAL OR MENTAL HEALTH EMERGENCY, OR IF AT ANY TIME YOU ARE CONCERNED ABOUT YOUR CARE OR TREATMENT, CALL YOUR LOCAL EMERGENCY NUMBER IMMEDIATELY (911 FOR JORDAN) OR GO TO THE NEAREST OPEN CLINIC OR EMERGENCY ROOM.

\\r\\n

Your Registration Obligations

\\r\\n

You will be required to register with MHG in order to access and use certain features of the Service and become a Member. When you choose to register for the Service, you agree to provide and maintain true, accurate, current and complete information about yourself or the people to whom you are a guardian, as prompted by the Service’s registration form. Registration data and certain other information about you are governed by our Privacy Policy. If you are under 18 years of age, you are not authorized to use the Service and your guardian will be responsible to be present and responsible at all times on your behalf.

\\r\\n

Our Service is currently only available to individuals who are at least eighteen (18) years of age or older, and who have accepted this Agreement. By visiting, accessing, registering with or using the Service, you are (a) representing and warranting to us that you satisfy all of these eligibility requirements, (b) representing and warranting that when you use the Service to consult with a Provider, , (c) agreeing to comply with all applicable laws in visiting, accessing, registering with our using the service, and (d) agreeing that you will only use the Service for lawful purposes. Member Account, Password and Security:

\\r\\n

You are responsible for maintaining the confidentiality of your real name, password and account.

\\r\\n

Accurate, real and complete registration information is required in MHG. You are fully responsible for and all activities that occur under your password or account. MHG is entitled to act on instructions received under your password. You agree to (a) immediately notify MHG of any unauthorized use of your password or account or any other breach of security, and (b) ensure that you exit from your account at the end of each session when accessing the Service. MHG is not responsible for any actions taken or transaction made to or from your accounts by any other party using your password, and MHG will not be liable for any loss or damage arising from your failure to comply with this Section.

\\r\\n

We reserve the right to revoke or deactivate your username and password at any time. You may terminate your account and these Terms at any time by selecting to deactivate your account in the settings page or visiting the contact us on support@myhealthygate.com

\\r\\n

General Practices Regarding Use and Storage of Your Information:

\\r\\n

You acknowledge that MHG may establish general practices and limits concerning use of the Service, including without limitation the maximum period of time that data or other content will be retained by the Service and the maximum storage space that will be allotted on MHG’s servers on your behalf. You agree that MHG has no responsibility or liability for the deletion or failure to store any data or other content maintained or uploaded by the Service. You acknowledge that MHG reserves the right to terminate accounts that are inactive for an extended period of time. You further acknowledge that MHG reserves the right to change these general practices and limits at any time, in its sole discretion, with or without notice.

\\r\\n

Modifications to Our Service

\\r\\n

MHG reserves the right to modify or discontinue, temporarily or permanently, the Service (or any part thereof) with or without notice. You agree that MHG will not be liable to you or to any third party for any modification, suspension or discontinuance of the Service.

\\r\\n

Mobile Services

\\r\\n

The Service includes certain services that are available via a mobile device, including (i) the ability to upload content to the Service via a mobile device and (ii) the ability to browse the Service and the Site from a mobile device (collectively, the “Mobile Services”).

\\r\\n

To the extent you access the Service through a mobile device, your wireless service carrier’s standard charges, data rates and other fees may apply. In addition, downloading, installing, or using certain Mobile Services may be prohibited or restricted by your carrier, and not all Mobile Services may work with all carriers or devices. By using the Mobile Services, you agree that we may communicate with you regarding MHG and other entities by SMS, MMS, text message or other electronic means to your mobile device and that certain information about your usage of the Mobile Services may be communicated to us. In the event you change or deactivate your mobile telephone number, you agree to promptly update your MHG account information to ensure that your messages are not sent to the person that acquires your old number.

\\r\\n

Electronic Communications

\\r\\n

When you visit the Site or send e-mails to us, you are communicating with us electronically and you consent to receive communications from us electronically. We will communicate with you by e-mail or by posting notices on this Site. You agree that all agreements, notices, disclosures and other communications that we provide to you electronically satisfy any legal requirement that such communications be in writing.

\\r\\n

By using the Site, you acknowledge and agree that MHG will send Member e-mails relating to your Member account and MHG promotions. You can opt out of your subscription to MHG’s e-mail services at any time by logging in to the Site and changing your notification preferences. You may also be able to unsubscribe to special promotional e-mails by clicking on the unsubscribe link in any of our e-mail communications, under opt-in preferences.

\\r\\n

By using the Site and opting to receive emails, text messages, and electronic communications, you acknowledge and agree that MHG will be transmitting certain of your protected health information (“PHI”) as that term is defined under HIPAA, electronically. You acknowledge and agree that while MHG takes commercially reasonable steps to protect the privacy and security of your PHI, no system is completely secure. You may choose not to receive emails or text messages any time by unsubscribing.

\\r\\n

You acknowledge and agree that you are solely responsible for providing MHG with accurate and real contact information, including your mobile device number and email address, where we may send communications containing your PHI. MHG is not responsible for user errors and omissions.

\\r\\n

Your Use of the Services

\\r\\n

You agree to use the Services only to help you find a health care provider for yourself or another person. You are solely responsible for all images, information, data, text, messages or other materials (“content”) that you upload, or display (hereinafter, “upload”) or email or otherwise use via the Service. You will ensure that all content you upload, or share complies with all applicable laws, rules and regulations in your country, is appropriate and non-offensive, and that you have all necessary rights to use, share, and/or upload such content, without infringing any third party rights. MHG reserves the right to investigate and take appropriate legal action against anyone who, in MHG sole discretion, violates this provision, including without limitation, removing the offending content from the Service, suspending or terminating the account of such violators and reporting you to the law enforcement authorities. You agree to not use the Service in a manner that MHG determines, in its sole discretion, is illegal or improper.

\\r\\n

Fees and Payments

\\r\\n

MHG is a free service that offers paid services. All payments are required prior to consultation via MHG portal. MHG does not accept third-party insurance unless listed with MHG. In the event you choose to use the Services to schedule and pay out of pocket for health care services, you will be required to provide MHG or MHG financing partner with information regarding your credit card or other payment instrument. You represent and warrant to MHG that such information is true and that you are authorized to use the payment instrument. You will promptly update your account information with any changes (for example, a change in your billing address or credit card expiration date) that may occur. You agree to pay MHG the amount that is specified in the payment plan in accordance with the terms of such plan and this Terms of Service. If you dispute any charges you must let MHG know within sixty (60) days after the date that MHG charges you. You shall be responsible for all taxes and admin fees associated with the Services. Providers may choose to offer financing for health care services they list for sale on the MHG Service. If so, those providers agree to operate under the Affirm Terms of Service.

\\r\\n

Further, we have no control over, and cannot guarantee the availability of, any health care provider at any particular time. MHG is not liable for any cancelled or unfulfilled appointments, or any injury or loss resulting from the foregoing, or for any other injury or loss related to your use of the Site or Services.

\\r\\n

Commercial Use

\\r\\n

Unless otherwise expressly authorized herein or in the Service, you agree not to display, distribute, license, perform, publish, reproduce, duplicate, copy, create derivative works from, modify, sell, resell, exploit, transfer or upload for any commercial purposes, any portion of the Service, use of the Service, or access to the Service. The Service is for your personal use only.

\\r\\n

Membership Program

\\r\\n

Membership Services:

\\r\\n

As part of its offering, MHG has recurring subscriptions services of various terms. Collectively these services are referred to herein as (“Membership Services”).

\\r\\n

Please note that Membership Services are not insurance. Any discounts provided under Membership Services cannot be used in conjunction with insurance. The Membership Services are not a substitute for healthcare insurance nor are they intended to be health insurance. MHG does not make payments to either pharmacy partners and/or healthcare providers on your behalf. The Membership Services do not meet the minimum creditable coverage requirements under your state healthcare coverage regulations.

\\r\\n

Membership Services Features:

\\r\\n

Each tier of the Membership Services has a recurring subscription fee. Depending on the tier, this subscription provides certain features, as set forth below, to you.

\\r\\n

When you sign up with MHG, you are automatically subscribed to the basic membership, you must create an account and enter a payment method if you want to proceed with appointments, utilize the features of MHG and progress to a consultation. If you do subscribe to the premium Membership Services, you authorize us to charge your chosen payment method a one off subscription fee.

\\r\\n

Monthly Membership Services Subscription:

\\r\\n

The Monthly Membership Service is currently priced free for basics and for premium subscription is priced at JOD45.00 per year.

\\r\\n

In the event that there is an increase in the recurring subscription fee for Membership Services, we will provide you advance notice of such increase, and you may elect to continue or cancel your Membership Services. Also, please note that there may be additional fees for Services outside of the features of the Membership Services outlined in this Section.

\\r\\n

Changes to Membership Services:

\\r\\n

MHG reserves the right to make changes to the Membership Services at any time and will provide advance notice of such changes and you may cancel your subscription to the Membership Services at any time as set forth herein.

\\r\\n

Cancellation

\\r\\n

MHG cancellation policy makes booking, cancelling, and rescheduling easy. MHG will honor a full refund for any of our visits when cancelled within the following time constraints that the provider accepts. Each provider will assign their own refund policy and time frame accepted for cancellations. As a general rule, for online, face to face and home visits you should notify cancellation or rescheduling of an appointment at least 24 hours prior to the schedules visit, otherwise as fees are applicable.

\\r\\n

Once our MHG admin confirms with the provider that the visit did not take place, refund will be processed and may take up to ten working days.

\\r\\n

You may cancel your subscription to Membership Services at any time up to forty-eight (72) hours before the applicable renewal processing date of your subscription, by emailing support@myhealthygate.com directly requesting a cancellation. If you cancel the Membership Services and your subscription term has not expired, you may continue to use the Membership Services until the end of your then-current subscription monthly or annual term and your subscription will not be renewed after your then-current term expires. However, you won't be eligible for a prorated refund of any portion of the recurring subscription fee paid for the then-current recurring subscription term.

\\r\\n

We are unable to offer refunds for the following:

\\r\\n
    \\r\\n
  • No-shows or missed appointments
  • \\r\\n
  • Refund requests due to not receiving a prescription or disagreement with the clinical outcome of the visit
  • \\r\\n
  • Surgical procedures with specific scheduling requirements
  • \\r\\n
  • Any request made 10 days after the original purchase date
  • \\r\\n
\\r\\n

If you do make a same-day appointment by mistake and need to cancel, MHG will refund you if you request a cancellation within one hour of completing the purchase.

\\r\\n

Note also that information submitted by you to us may be transmitted to and shared with third parties located in other countries, in order to provide Services to you. These Terms of Service and any separate agreements whereby we provide you Services shall be governed by and construed in accordance.

\\r\\n

In-person availability or as used in MHG face-to-face:

\\r\\n

If you need an in-person visit, our booking design allows you to choose which form you would like your consultation to occur. A choice of Virtual/ online, face to face or request a home visit. Prices and availability for each service mode will be assigned by the provider and will be visible to the users on the site. Each provider will specify availability and you will be able to see the available slots when you select the provider’s name.

\\r\\n

Lab or blood tests:

\\r\\n

Online and home visit ordering is available through certain labs. If preferred lab is not part of MHG, the requested lab tests can be found in your profile as a document, and you can download the document or show on your mobile when you go to your chosen lab.

\\r\\n

Membership Services Fees and Insurance:

\\r\\n

The subscription fees for the Membership Services described herein are not a covered benefit under most health insurance plans or other healthcare benefit plans. As a result, you acknowledge that you may not be able to submit the subscription fees for the Membership Services for coverage under your insurance or benefit plan, and as such, you will be responsible for the cost of such Membership Services.

\\r\\n

Intellectual Property Rights

\\r\\n

Service Content, Software and Trademarks: You acknowledge and agree that the Service may contain content or features (“Service Content”) that are protected by copyright, patent, trademark, trade secret or other proprietary rights and laws. Except as expressly authorized by MHG, you agree not to modify, copy, frame, scrape, rent, lease, loan, sell, distribute or create derivative works based on the Service or the Service Content, in whole or in part, except that the foregoing does not apply to your own User Content (as defined below) that you legally upload to the Service. In connection with your use of the Service you will not engage in or use any data mining, robots, scraping or similar data gathering or extraction methods. If you are blocked by MHG from accessing the Service (including by blocking your IP address), you agree not to implement any measures to circumvent such blocking (e.g., by masking your IP address or using a proxy IP address). Any use of the Service or the Service Content other than as specifically authorized herein is strictly prohibited. The technology and software underlying the Service or distributed in connection therewith are the property of MHG, our affiliates and our partners (the “Software”). You agree not to copy, modify, create a derivative work of, reverse engineer, reverse assemble or otherwise attempt to discover any source code, sell, assign, sublicense, or otherwise transfer any right in the Software. Any rights not expressly granted herein are reserved by MHG.

\\r\\n

The MHG name and logos are trademarks and service marks of MHG (collectively the “MHG Trademarks”). Other company, product, and service names and logos used and displayed via the Service may be trademarks or service marks of their respective owners who may or may not endorse or be affiliated with or connected to MHG. Nothing in this Terms of Service or the Service should be construed as granting, by implication, estoppel, or otherwise, any license or right to use any of MHG Trademarks displayed on the Service, without our prior written permission in each instance. All goodwill generated from the use of MHG Trademarks will inure to our exclusive benefit.

\\r\\n

Third Party Material: Under no circumstances will MHG be liable in any way for any content, materials or services of, or provided by or on behalf of, any third parties (including users or health care providers), including, but not limited to, for any errors or omissions in any content, or for any loss or damage of any kind incurred as a result of the use of any such content. You acknowledge that MHG does not pre-screen content, but that MHG and its designees will have the right (but not the obligation) in their sole discretion to refuse or remove any content that is available via the Service. Without limiting the foregoing, MHG and its designees will have the right to remove any content that violates these Terms of Service or is deemed by MHG, in its sole discretion, to be otherwise objectionable. The Services help you find, and source certain third-party health care services provided by or on behalf of independent third party Providers not related to MHG. MHG does not guarantee or warrant, and makes no representations regarding, the reliability, quality or suitability of such health care services nor the Providers. By using the Service, you agree to hold us free from the responsibility for any liability or damage that might arise out of the transactions involved. As a user, by posting any content in our directory, or letting us do the same, you give us license to use your content, including any content, information, and any names, etc., in promotion of our directory and Services. NEITHER MHG NOR ITS AFFILIATES OR LICENSORS IS RESPONSIBLE FOR THE CONDUCT, WHETHER ONLINE OR OFFLINE, OF ANY THIRD-PARTY PROVIDER NOR ANY USER OF THE SERVICES. ANY INDIVIDUALS WHO PROVIDE ANY THIRD-PARTY SERVICES ARE NOT EMPLOYEES NOR CONTRACTORS OF MHG, AND MHG IS NOT RESPONSIBLE FOR THEIR ACTIONS OR INACTIONS NOR FOR ANY SERVICES THEY PROVIDE (OR FAIL TO PROVIDE).

\\r\\n

You acknowledge that the list of health care providers listed on the Service may not be a complete list of every health care provider within the specified specialty category or specified distance of the address specified and may not be updated on a regular basis even if we have been advised of incorrect or incomplete information. While we take commercially reasonable steps to ensure the information contained about a particular health care provider is accurate and complete, we rely on information reported by the health care provider, which might not be accurate, complete, and/or updated on a regular basis. We are not responsible for content or services descriptions from health care providers.

\\r\\n

User Content Transmitted Through the Service: With respect to the content or other materials you upload through the Service or share with other users or recipients (collectively, “User Content”), you represent and warrant that you own all right, title and interest in and to such User Content, including, without limitation, all copyrights and rights of publicity contained therein. By voluntarily providing us with User Content, which may include Personal Information (as defined in the Privacy Policy), you are consenting to our use of Personal Information in accordance with these Terms of Service and our Privacy Policy. You also agree that any User Content you submit through the Service that is communicated to our partners, affiliates, and medical providers will be accurate and complete. By uploading any User Content you hereby grant and will grant MHG and its affiliated companies a nonexclusive, worldwide, royalty free, fully paid up, transferable, sublicensable, perpetual, irrevocable license to copy, display, upload, perform, distribute, store, modify and otherwise use your User Content in connection with the operation of the Service, the promotion, advertising or marketing thereof, the improvement of the Service, and as aggregated and/or de-identified for any lawful purpose in any form, medium or technology now known or later developed.

\\r\\n

You acknowledge and agree that any questions, comments, suggestions, ideas, feedback or other information about the Service (“Submissions”), provided by you to MHG are non-confidential and MHG will be entitled to the unrestricted use and dissemination of these Submissions for any purpose, commercial or otherwise, without acknowledgment or compensation to you.

\\r\\n

You acknowledge and agree that MHG may preserve content and may also disclose content if required to do so by law or in the good faith belief that such preservation or disclosure is reasonably necessary to: (a) comply with legal process, applicable laws or government requests; (b) enforce these Terms of Service; (c) respond to claims that any content violates the rights of third parties; or (d) protect the rights, property, or personal safety of MHG, its users and the public. You understand that the technical processing and transmission of the Service, including your content, may involve (a) transmissions over various networks; and (b) changes to conform and adapt to technical requirements of connecting networks or devices.

\\r\\n

MHG does not provide any medical advice or services and should not be relied upon as a substitute for consultations with qualified professionals who are familiar with your individual needs. The Providers (and not we) are solely responsible for all content and any health care services they provide. MHG shall have no liability whatsoever to you for acts, omissions, care, or lack thereof, from Providers. We are not responsible for any disputes between Providers and you (e.g., resulting from the health care services they provide or are supposed to provide).

\\r\\n

Our Obligations

\\r\\n

To provide and process the services to you, MHG shares your personally identifiable information with our authorized service providers that perform certain services or functions on our behalf. MHG may be required by law to disclose information you have provided in using any of the services on the Site. MHG may also disclose information where someone poses a threat to MHG’s interests (such as user fraud) or whose activities could bring harm to others. In addition, it may be necessary in the reasonable opinion of officials of MHG that certain information be provided to third parties, such as law enforcement authorities or governing bodies for a particular health care provider. In the event that MHG receives a court order to disclose information on the Site about you or your activities on the Site, you agree that such information may be disclosed.

\\r\\n

You may request that we update or change the information you provided to us or to receive a copy of the information we have stored by emailing us at support@myhealthygate.com or by updating the information in your Member profile. We will make every reasonable effort to honor your wishes or provide you with an explanation of why we cannot make the changes requested. We may request proof of identity before responding to any requests.

\\r\\n

Third Party Websites

\\r\\n

The Service may provide, or third parties may provide, links or other access to other sites and resources on the Internet. MHG has no control over such sites and resources and MHG is not responsible for and does not endorse such sites and resources. You further acknowledge and agree that MHG will not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any content, events, goods or services available on or through any such site or resource.

\\r\\n

Foreign Languages

\\r\\n

Where MHG Content or Services (including these Terms) are translated into languages other than English, all such translations are for the convenience of our users only, and MHG is not responsible or liable in the event of any translation inaccuracy. The English-language version of these Terms shall control and apply in the event of any conflict with content or translation. You understand that Content, including but not limited to questions and answers, may not have the same meaning in translation, and that treatments (including but not limited to medication names) and other information may differ from country to country and in different languages and may not be available in all places. Additionally, you understand and agree that Virtual Consults with Medical Experts may not be available in languages other than English, and you agree not to conduct a consultation with a doctor in a language in which you are not proficient without the use of a professional translator. If you are connected to a Medical Expert who speaks your language, you understand that the doctor may not be a native speaker and that the doctor's ability to communicate may be limited. If you choose to use a translator in connection with a Virtual Consult, you understand that MHG is not liable for any errors or omissions in translation.

\\r\\n

Indemnity and Release

\\r\\n

You agree to release, indemnify, defend and hold MHG and its affiliates and its and their officers, employees, directors and agents (collectively, “Indemnitees”) harmless from any from any and all losses, damages, liabilities, fines, fees, penalties, costs, expenses, including reasonable attorneys’ fees, arising out of or related to any allegations, rights, claims, actions of any kind arising out of or related to: (i) injury (including death) or damage to property caused by your or your agents’ action or inaction; (ii) your use of the Service, (iii) any User Content or any other content or materials you supply directly or indirectly, (iv) your connection to the Service, (v) your violation of these Terms of Service or this Agreement, or (vi) your violation of any rights of another. If ANY OBLIGATION TO INDEMNIFY AN INDEMNITEE FOR ANY LOSS, LIABILITY OR EXPENSE ARISING FROM ANY NEGLIGENT, GROSSLY NEGLIGENT, RECKLESS, WILLFUL, FRAUDULENT OR INTENTIONAL CONDUCT COMMITTED BY ANY INDEMNITEE MAY NOT BE ENFORCEABLE AGAINST ANY VISITOR OF THE SERVICES TO THE EXTENT APPLICABLE LAW SO REQUIRES

\\r\\n

Disclaimer of Warranties

\\r\\n

YOUR USE OF THE SERVICE IS AT YOUR SOLE RISK. THE SERVICE IS PROVIDED ON AN “AS IS” AND “AS AVAILABLE” BASIS. MHG EXPRESSLY DISCLAIMS ALL WARRANTIES OF ANY KIND, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT.

\\r\\n

MHG MAKES NO WARRANTY THAT (I) THE SERVICE WILL MEET YOUR REQUIREMENTS, (II) THE SERVICE WILL BE UNINTERRUPTED, TIMELY, SECURE, OR ERROR-FREE, (III) THE RESULTS THAT MAY BE OBTAINED FROM THE USE OF THE SERVICE WILL BE ACCURATE OR RELIABLE, OR (IV) THE QUALITY OF ANY PRODUCTS, SERVICES, INFORMATION, PROVIDERS, OR OTHER MATERIAL PURCHASED OR OBTAINED BY YOU THROUGH THE SERVICE WILL MEET YOUR EXPECTATIONS.

\\r\\n

Termination

\\r\\n

You agree that MHG, in its sole discretion, may suspend or terminate your account (or any part thereof) or use of the Service and remove and discard any content within the Service, for any reason, including, without limitation, for lack of use or if MHG believes that you have violated or acted inconsistently with the letter or spirit of these Terms of Service. Any suspected fraudulent, abusive or illegal activity that may be grounds for termination of your use of Service, may be referred to appropriate law enforcement authorities. MHG may also in its sole discretion and at any time discontinue providing the Service, or any part thereof, with or without notice and MHG may immediately deactivate or delete your account and all related information and files in your account and/or bar any further access to such files or the Service. Further, you agree that MHG will not be liable to you or any third party for any termination of your access to the Service.

\\r\\n

General

\\r\\n

These Terms of Service, in conjunction with the Privacy Policy, constitute the entire agreement between you and MHG and govern your use of the Service, superseding any prior agreements between you and MHG with respect to the Services. You also may be subject to additional terms and conditions that may apply when you use affiliate or third party services, third party content or third party software. The failure of MHG to exercise or enforce any right or provision of these Terms of Service will not constitute a waiver of such right or provision. If any provision of these Terms of Service is found by a court of competent jurisdiction to be invalid, the parties nevertheless agree that the court should endeavor to give effect to the parties’ intentions as reflected in the provision, and the other provisions of these Terms of Service remain in full force and effect. You agree that regardless of any statute or law to the contrary, any claim or cause of action you may have arising out of or related to use of the Service or these Terms of Service must be filed within one (1) year after such claim or cause of action arose or be forever barred. A printed version of this agreement and of any notice given in electronic form will be admissible in judicial or administrative proceedings based upon or relating to this agreement to the same extent and subject to the same conditions as other business documents and records originally generated and maintained in printed form. You may not assign this Terms of Service without the prior written consent of MHG, but MHG may assign or transfer this Terms of Service, in whole or in part, without restriction. The section titles or headings in these Terms of Service are for convenience only and have no legal or contractual effect. Notices to you may be made via either email or regular mail. Notice to MhG must be in writing, sent via registered mail or nationally recognized overnight courier, with a duplicate copy to the legal department, with confirmation of delivery. The Service may also provide notices to you of changes to these Terms of Service or other matters by displaying notices or links to notices generally on the Service.

\\r\\n

We will not be deemed to be in breach of these terms or liable for any breach of these terms or our privacy policy due to any event or occurrence beyond our reasonable control, including without limitation, acts of God, terrorism, war, invasion, failures of any public networks, electrical shortages, disease, epidemic, pandemic, earthquakes or floods, civil disorder, strikes, fire or other disaster.

\\r\\n

Your Privacy

\\r\\n

We do not sell or rent your personal information to third parties for their marketing purposes without your explicit consent unless otherwise permitted, and we only use your information as described in the Privacy Policy. We view protection of users’ privacy as a very important community principle. We understand clearly that you and your information are one of our most important assets. Our current Privacy Policy is available on the Site at https://www.myhealthygate.com/privacy. If you object to your information being transferred or used in this way, please do not use the Services.

\\r\\n

We also do not have access to your medical documents and doctor notes taken during the consultation.

\\r\\n

Questions? Concerns? Suggestions?

\\r\\n

Please contact us by email at support@myhealthygate.com to report any violations of these Terms of Service or to pose any questions regarding these Terms of Service or the Service.

\\r\\n

Tele-Medicine

\\r\\n

Some of our Services may include a tele-health online solution that allows participating medical professionals and health care staff (“Providers”) to communicate with their clients, customers and/or patients (collectively, “Patients”) to provide health care related services online and perform virtual house calls via Internet connection. We are not responsible for internet connectivity or lack thereof or problems or issues related to the use thereof. We are not a medical service provider, health insurance company, nor licensed to sell health insurance. The Services are not intended for use by Providers and/or Patients in connection with active patient monitoring so as to allow immediate clinical action or continuous monitoring.

\\r\\n

The Providers who deliver services through our Service are independent professionals practicing within a group of independently owned professional practices. We do not practice medicine or any other licensed profession, and do not interfere with the practice of medicine or any other licensed profession by Providers, each of whom is responsible for his, her or their services and compliance with the requirements applicable to his/her/their profession and license.

\\r\\n

Information provided by Providers and/or Patients is merely transmitted via the Services, not verified or endorsed by us, and is provided on an “as-is” basis and we disclaim all warranties, either express or implied, including but not limited to the implied warranties of merchantability and fitness for particular purpose. We shall in no event be liable to you or to anyone for any decision made or action taken by any party (including, without limitation, any Service user) in reliance on information about Providers or Patients on the Service.

\\r\\n

If you reside outside Jordan, we are not reliable or responsible or affiliated with any insurance or Medicare beneficiaries unless listed by MHG. A health care provider’s ability to use our services is not an endorsement or recommendation of that health care provider by us. Neither we nor any third parties who promote the Services or provide you with a link to the Services shall be liable for any professional advice you obtain from a Provider via the Services. The medical advice provided by your Provider is not under our control, nor is it provided to you by us. If you are a Patient, you accept responsibility for yourself in the use of the Services. You acknowledge that your relationship for health care services is with your health care provider, and your obtaining services from the Provider is solely at your own risk and you assume full responsibility for all risk associated therewith, to the extent permitted by law. By using the Service, you agree to not hold us liable in any way for any malpractice or substandard treatment the Provider may render.

\\r\\n

We reserve the right, but not the obligation, to confirm certain credentials of Providers using our Services, such as validating that they are in good standing with their respective licensure board(s). The Providers utilizing or featured on the Service are independent practitioners practicing on their own behalf, not our employees. Any opinions, advice, or information expressed by a health care facility, professional or specialist or other Provider using or featured on the Service are of the facility, professional, specialist or other Provider alone. They do not reflect our opinions.

\\r\\n

We do not recommend or endorse any specific tests, Providers, products, procedures, medications, devices, opinions, or other information that may be mentioned on the Service or by a Provider or licensee of ours. We do not make any representations or warranties about the training or skill of any Providers who provide services via the Service. You will be provided with a list of available providers in different locations based solely on the information you provide to us. You are ultimately responsible for choosing your particular Provider. The inclusion of Providers on the Service or in any professional directory located on the Service does not imply recommendation or endorsement of such Provider nor is such information intended as a tool for verifying the credentials, qualifications, or abilities of any Provider contained therein.

\\r\\n

To the extent medical advice is provided to you by a Provider through the Services, such medical advice is based on your personal health data as provided by you to the Provider and the local standards of care for your presenting symptoms, based on the information you provide.

\\r\\n

Patients may be required to provide certain Personal Information, including name, date of birth, gender, address, email, mobile and work phone, as well as a user id and password. Patients may also provide certain optional information, including middle name or initial, home phone and other contact info, pharmacy name and contact details, picture and communications preferences. In addition, the Patient can communicate other health-related information to the Provider during a video consultation via the Services. Patient medication history is a list of prescriptions that healthcare providers have prescribed for you. A variety of sources, including pharmacies and health insurers, contribute to the collection of this history. By using the Services, you give your permission to allow your particular Provider to obtain your medication history, specifically for use in providing care. Optional information is not required to register for an account but may be helpful to us in providing you with a more customized experience when using the Site or its Services.

\\r\\n

The use of the Service by any entity or individual to verify the credentials of Providers is prohibited.

\\r\\n

INFORMED CONSENT & RISKS. As with any medical procedure, there are potential risks associated with the use of telemedicine or any other Services. We believe that the likelihood of these risks materializing is very low. These risks may include, without limitation, the following: Delays in medical evaluation and consultation or treatment may occur due to deficiencies or failures of the equipment which may include poor video and data quality. Security protocols could fail, causing a breach of privacy of personal medical information. Lack of access to complete medical records may result in adverse drug interactions or allergic reactions or other negative outcomes.

\\r\\n

You understand that the laws that protect privacy and the confidentiality of medical information also apply to telemedicine. You understand that telemedicine may involve electronic communication of your personal medical information to medical practitioners who may be located in other areas/ countries. You understand that you may expect the anticipated benefits from the use of telemedicine, but that no results can be guaranteed or assured. You understand that all information will be part of your medical record and available to you by printing the summary from the visit. This information will have the same restrictions on dissemination without your consent. Except to the extent already relied upon, you understand you may withdraw your consent at any time by contacting us as set forth herein to withdraw your consent and inactivate your account. You understand that your healthcare information may be shared with other individuals for treatment, payment and healthcare operations purposes. Psychotherapy and provider notes are maintained by clinicians but are not shared with others, while billing codes and encounter summaries are shared with others. If you obtain psychotherapy services, you understand that your therapist has the right to limit the information provided to you if in your therapist's professional judgment sharing the information with you would be harmful to you. You further understand that your healthcare information may be shared in the following circumstances: When a valid court order is issued for medical records. Reporting suspected abuse, neglect, or domestic violence. Preventing or reducing a serious threat to anyone's health or safety.

\\r\\n

BY USING THE SERVICES AND/OR AGREEING TO THESE TERMS, YOU AGREE AND CONSENT THAT YOU HAVE READ AND UNDERSTAND THE INFORMATION PROVIDED HEREIN, AND UNDERSTAND THE RISKS AND BENEFITS OF TELEMEDICINE, AND BY ACCEPTING THESE TERMS OF USE YOU HEREBY GIVE MY INFORMED CONSENT TO PARTICIPATE IN A TELEMEDICINE VISIT UNDER THE TERMS DESCRIBED HEREIN. YOU ARE CONSENTING TO RECEIVING CARE VIA THE SERVICE. THE SCOPE OF CARE WILL BE AT THE SOLE DISCRETION OF THE PROVIDER WHO IS TREATING YOU, WITH NO GUARANTEE OF DIAGNOSIS, TREATMENT, OR PRESCRIPTION. THE PROVIDER WILL DETERMINE WHETHER OR NOT THE CONDITION BEING DIAGNOSED AND/OR TREATED IS APPROPRIATE FOR A TELEHEALTH ENCOUNTER VIA THE SERVICE.

\\r\\n

Changes to These Terms of Service

\\r\\n

MHG reserves the right, at any time, to modify, alter, or update these Terms of Service by posting the modified, altered or updated terms on the Site or through other reasonable means, and you agree to be bound by such modifications, alterations or updates. If you do not agree to such modifications, alterations or updates, you should terminate your use of the Services. Any such changes will become effective when they are posted. Your continued use of any of the Services following the posting of notice of any changes in this Agreement shall constitute your acceptance of such modifications, alterations and updates.

\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".terms-and-condition {\\n padding: 8rem 0 4rem 0px; }\\n @media screen and (max-width: 991px) {\\n .terms-and-condition {\\n padding: 6rem 0 4rem 0px; } }\\n .terms-and-condition h2 {\\n font-size: 3rem;\\n font-weight: 600;\\n text-align: center;\\n margin-bottom: 20px; }\\n @media screen and (max-width: 991px) {\\n .terms-and-condition h2 {\\n font-size: 2rem;\\n font-weight: 600;\\n text-align: left;\\n margin-bottom: 20px; } }\\n @media screen and (max-width: 575px) {\\n .terms-and-condition h2 {\\n font-size: 1rem;\\n margin-bottom: 10px; } }\\n .terms-and-condition h3 {\\n font-size: 2rem;\\n font-weight: 600;\\n margin: 15px 0px;\\n line-height: 2; }\\n @media screen and (max-width: 991px) {\\n .terms-and-condition h3 {\\n font-size: 1.7rem;\\n line-height: inherit !important;\\n margin: 15px 0px; } }\\n @media screen and (max-width: 575px) {\\n .terms-and-condition h3 {\\n font-size: 1rem;\\n margin-bottom: 10px; } }\\n .terms-and-condition h4 {\\n font-size: 1.5rem;\\n font-weight: 600;\\n margin: 15px 0px;\\n line-height: 2; }\\n @media screen and (max-width: 575px) {\\n .terms-and-condition h4 {\\n font-size: 1rem; } }\\n .terms-and-condition p {\\n font-size: 1.25rem;\\n line-height: 1.75; }\\n @media screen and (max-width: 991px) {\\n .terms-and-condition p {\\n font-size: 1rem;\\n line-height: 1.75; } }\\n @media screen and (max-width: 575px) {\\n .terms-and-condition p {\\n font-size: 0.7rem;\\n line-height: inherit; } }\\n .terms-and-condition a {\\n color: #01385f; }\\n @media screen and (max-width: 575px) {\\n .terms-and-condition li {\\n font-size: 0.7rem;\\n line-height: inherit; } }\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: 'app-terms-and-conditions',\r\n templateUrl: './terms-and-conditions.component.html',\r\n styleUrls: ['./terms-and-conditions.component.scss']\r\n})\r\nexport class TermsAndConditionsComponent implements OnInit {\r\n\r\n constructor(\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n window.scroll(0, 0);\r\n }\r\n\r\n}\r\n","module.exports = \".policy-blk .section-heading{\\r\\n font-size: 24px;\\r\\n margin-bottom: 12px;\\r\\n margin-top: 25px;\\r\\n}\\r\\n.policy-blk .fa{\\r\\n position: absolute;\\r\\n top: 2px;\\r\\n right: 5px;\\r\\n background-color: #01385f;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 0px;\\r\\n cursor: pointer;\\r\\n z-index: 99;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n.terms-block{\\r\\n height: calc(100% - 50px);\\r\\n overflow: auto;\\r\\n}\\r\\n.wedo-box {\\r\\n text-align: center;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"terms_and_conditions\\\" | translate}}

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

{{\\\"our_simple_terms_and_conditions_template_can_instantly_generate_a_custom_terms_of_service_policy_for_your_business\\\" | translate}}\\r\\n {{'terms_and_conditions'|translate}}\\r\\n

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

{{\\\"privacy_policy\\\" | translate}}

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

{{\\\"our_simple_privacy_policies_can_help_you_grow_your_business_privacy_policy\\\"| translate }}\\r\\n {{'privacy_policy'|translate}}\\r\\n

\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","\r\nimport { AfterViewInit, Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatDialogRef } from \"@angular/material\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\n\r\n@Component({\r\n //providers: [HomeHeaderComponent],\r\n selector: \"app-terms-conditions\",\r\n templateUrl: \"./terms-conditions.component.html\",\r\n styleUrls: [\"./terms-conditions.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TermsConditionModalComponent implements OnInit{\r\n \r\n constructor(private dialogModalRef: MatDialogRef){\r\n\r\n }\r\n ngOnInit() {}\r\n\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 18px;\\r\\n margin-top: 10px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #01385f;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: block;\\r\\n color: #000;\\r\\n padding: 0px;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 16px;\\r\\n font-weight: 500;\\r\\n color: #01385f;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.clini-infos ul li i {\\r\\n position: relative;\\r\\n left: 0;\\r\\n top: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #01385f;\\r\\n font-size: 20px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: flex;\\r\\n font-weight: 600;\\r\\n justify-content: space-between;\\r\\n padding: 15px;\\r\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.60);\\r\\n font-size: 14px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type label {\\r\\n margin: 0px 10px 0px 0px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n width: 135px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #01385f;\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding-bottom: 10px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type .mat-radio-outer-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #63d891;\\r\\n border-radius: 0;\\r\\n display: inline-block;\\r\\n font-size: 15px !important;\\r\\n padding: 5px 10px;\\r\\n height: 36px !important;\\r\\n margin: 7px 10px 7px 0px;\\r\\n line-height: normal;\\r\\n color: #63d891;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n background-color: #01385f;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n flex-wrap: wrap;\\r\\n gap: 5px;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 0px;\\r\\n font-size: 16px;\\r\\n margin: 10px 0px 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n margin: 15px 0px 20px;\\r\\n line-height: 18px;\\r\\n}\\r\\n\\r\\n.fnt-sze {\\r\\n font-size: 14px;\\r\\n margin-right: 12px;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-txtarea textarea.mat-input-element {\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.custom-txtarea label {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mat-radio-label-content {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.terms-check {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/* .mat-datepicker-content .mat-calendar{\\r\\n width:550px !important;\\r\\n height: auto !important;\\r\\n} */\\r\\n\\r\\n.followupError {\\r\\n color: #f44336;\\r\\n}\\r\\n\\r\\n.hgt-scroll {\\r\\n height: 460px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n margin-top: 6px;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #01385f;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 0px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.cstm-cancel-btn i {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.link-btn.min-w-100 {\\r\\n min-width: 100px;\\r\\n margin-right: auto !important;\\r\\n}\\r\\n\\r\\n.appointment-panel .appointment-content {\\r\\n padding: 12px 15px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-label {\\r\\n padding-top: 15px !important;\\r\\n padding-bottom: 15px !important;\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell {\\r\\n padding: 16px 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell-content {\\r\\n width: 32px !important;\\r\\n left: 34% !important;\\r\\n font-weight: 600 !important;\\r\\n height: 32px;\\r\\n}\\r\\n\\r\\n/* .appointment-content .mat-calendar-body-today:selected(.mat-calendar-body-selected) {\\r\\n border-color: #f87515;\\r\\n background-color: #f87515;\\r\\n color: #fff;\\r\\n} */\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\r\\n border-color: rgba(0, 0, 0, 0.04);\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-controls {\\r\\n margin: 0 10px !important\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-spacer {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-header {\\r\\n padding: 0px 8px 0 8px !important;\\r\\n background-color: #01385f !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-period-button {\\r\\n margin: 0 auto !important;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n letter-spacing: 3px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-content {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header {\\r\\n background-color: #01385f !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header th {\\r\\n font-size: 13px !important;\\r\\n color: #fff !important;\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-card {\\r\\n box-shadow: none !important;\\r\\n padding: 0 !important;\\r\\n border: 1px solid #efefef !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header-divider {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-previous-button {\\r\\n position: absolute !important;\\r\\n left: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-arrow {\\r\\n border-top-color: #fff !important;\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n position: absolute;\\r\\n bottom: 135px;\\r\\n}\\r\\n\\r\\n.urgent-care h3 {\\r\\n color: #2f2220;\\r\\n margin-bottom: 20px !important;\\r\\n}\\r\\n\\r\\n.receipt {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n\\r\\n.cstm-add {\\r\\n display: block;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.cstm-add input:focus-visible {\\r\\n outline: none !important\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name>div>div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.select-box {\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.select-box input {\\r\\n width: 100%;\\r\\n margin: 0 !important;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.mat-step-icon, .mat-step-icon-not-touched {\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n/* scroller hide css */\\r\\n\\r\\n/* .appointment-content .ng-scrollbar-container{\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.mat-step-header .mat-step-icon {\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.mat-step-icon-content {\\r\\n top: 40% !important;\\r\\n}\\r\\n\\r\\n.next-btn.mat-raised-button {\\r\\n background-color: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #757575;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n display: inline-block;\\r\\n margin: 4px;\\r\\n}\\r\\n\\r\\n.select-box textarea {\\r\\n padding: 1rem;\\r\\n height: 80px !important;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n

Dr. {{fullname}}

\\r\\n
\\r\\n
{{spl.speciality}}
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (17)\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • {{userInfo.phoneNumber}}
  • \\r\\n
  • {{userInfo.email}}
  • \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
  • {{userInfo.address}}\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{\\\"urgent_care_appointments\\\" | translate}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n {{\\\"book_and_pay\\\" | translate}}\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n {{fts.label}}\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\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\\\" | translate}}

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

Your urgent care request has been successfully sent to concerned provider, please wait\\r\\n for his response

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

Sorry

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

Requested provider is not available now, your money will be refunded in a couple of\\r\\n business days

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\"","import { AcceptRejectAppointmentInvitationComponent } from './../../shared/accept-reject-appointment-invitation/accept-reject-appointment-invitation.component';\r\nimport { CancelAppointmentModel } from './../../platform/modules/scheduling/scheduler/scheduler.model';\r\nimport { NotificationsModel } from './../../shared/models/headerInfo';\r\nimport { debug } from \"util\";\r\nimport { state } from \"@angular/animations\";\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\n\r\n//import { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { isatty } from \"tty\";\r\nimport { userInfo } from \"os\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MatAutocomplete, MatAutocompleteSelectedEvent, MatChipInputEvent, MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Inject,\r\n Renderer2,\r\n ViewChild,\r\n ElementRef,\r\n NgZone\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n StaffAward,\r\n StaffQualification,\r\n StaffExperience\r\n} from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format, getHours, getMinutes, isThisQuarter } from \"date-fns\";\r\nimport { map, startWith, switchMap, take } from \"rxjs/operators\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { DatePipe, DOCUMENT } from \"@angular/common\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { AddUserDocumentComponent } from \"src/app/platform/modules/agency-portal/users/user-documents/add-user-document/add-user-document.component\";\r\nimport { TermsConditionModalComponent } from \"../terms-conditions/terms-conditions.component\";\r\nimport { SaveDocumentComponent } from \"../save-document/save-document.component\";\r\nimport { ManageFeesRefundsModel } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\nimport { AppService } from 'src/app/app-service.service';\r\nimport { UrgentCareProviderActionInitModel } from 'src/app/shared/models/callModel';\r\nimport { Observable, of } from 'rxjs';\r\nimport { SymptomCheckerService } from 'src/app/shared/symptom-checker/symptom-checker.service';\r\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\nimport { HyperPayComponent } from 'src/app/shared/hyper-pay/hyper-pay.component';\r\n//import { StripeToken, StripeSource } from \"stripe-angular\";\r\n\r\nconst getDateTimeString = (date: string, time: string): string => {\r\n const y = new Date(date).getFullYear(),\r\n m = new Date(date).getMonth(),\r\n d = new Date(date).getDate(),\r\n splitTime = time.split(\":\"),\r\n hours = parseInt(splitTime[0] || \"0\", 10),\r\n minutes = parseInt(splitTime[1].substring(0, 2) || \"0\", 10),\r\n meridiem = splitTime[1].substring(3, 5) || \"\",\r\n updatedHours =\r\n (meridiem || \"\").toUpperCase() === \"PM\" && hours != 12\r\n ? hours + 12\r\n : hours;\r\n\r\n const startDateTime = new Date(y, m, d, updatedHours, minutes);\r\n\r\n return format(startDateTime, \"YYYY-MM-DDTHH:mm:ss\");\r\n};\r\n@Component({\r\n selector: \"app-urgentcare-appointment\",\r\n templateUrl: \"./urgentcare-appointment.component.html\",\r\n styleUrls: [\"./urgentcare-appointment.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UrgentCareAppointmentComponent implements OnInit {\r\n submitted: boolean = false;\r\n todayDate: Date = new Date();\r\n isLinear = false;\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n thirdFormGroup: FormGroup;\r\n userInfo: any;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n staffId: number;\r\n providerId: string;\r\n\r\n // appointmenType: any = [\"New\", \"Followup\", \"Free\"];\r\n //appointmenType: any = [\"New\", \"Free\"];\r\n appointmenType: any = [\"New\", \"Followup\"];\r\n appointmentMode: any = [\"Online\", \"Face to Face\"];\r\n confirmation: any = { type: \"New\", mode: \"Online\" };\r\n providerAvailiabilitySlots: any = [];\r\n patientAppointments: any;\r\n staffAvailability: any;\r\n locationId: number;\r\n showLoader: boolean = false;\r\n providerAvailableDates: any = [];\r\n providerNotAvailableDates: any = [];\r\n userId: number;\r\n masterPatientLocation: Array;\r\n masterStaffs: Array;\r\n masterAddressTypes: Array;\r\n officeAndPatientLocations: Array;\r\n masterAppointmentTypes: Array;\r\n Organization: any;\r\n patientEmail: string;\r\n paymentToken: string = \"\";\r\n Message: any;\r\n isNotBooked: boolean;\r\n ApptReject: boolean = false;\r\n isProfileLoaded: boolean = false;\r\n //Notes: string = \"\";\r\n fileList: any = [];\r\n dataURL: any;\r\n // feeSettings: ManageFeesRefundsModel;\r\n hasPreviousNewMeeting = false;\r\n userControl = new FormControl();\r\n filteredSymptoms$: Observable;\r\n symptoms: any = [];\r\n age: any;\r\n @ViewChild('userInput') userInput: ElementRef;\r\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\r\n @ViewChild('autosize') autosize: CdkTextareaAutosize;\r\n appointmentModeId: number;\r\n\r\n triggerResize() {\r\n // Wait for changes to be applied, then trigger textarea resize.\r\n this._ngZone.onStable.pipe(take(1))\r\n .subscribe(() => this.autosize.resizeToFitContent(true));\r\n }\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private route: Router,\r\n private dialogModalRef: MatDialogRef,\r\n private _formBuilder: FormBuilder,\r\n private homeService: HomeService,\r\n private commonService: CommonService,\r\n private notifierService: NotifierService,\r\n private usersService: UsersService,\r\n private schedulerService: SchedulerService,\r\n private symptomCheckerService: SymptomCheckerService,\r\n private datePipe: DatePipe,\r\n private renderer2: Renderer2,\r\n private dialogModal: MatDialog,\r\n private userService: UsersService,\r\n private notifier: NotifierService,\r\n private appService: AppService,\r\n private _ngZone: NgZone,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n\r\n this.staffId = data.staffId;\r\n this.userInfo = data.userInfo;\r\n this.locationId = data.locationId;\r\n this.providerId = data.providerId;\r\n this.age = data.age;\r\n\r\n dialogModalRef.disableClose = true;\r\n this.masterStaffs = [];\r\n this.masterPatientLocation = [];\r\n this.masterAppointmentTypes = [];\r\n this.masterAddressTypes = [];\r\n this.officeAndPatientLocations = [];\r\n this.filteredSymptoms$ = this.userControl.valueChanges\r\n\r\n .pipe(\r\n startWith(''),\r\n // use switch map so as to cancel previous subscribed events, before creating new once\r\n switchMap(value => {\r\n if (value != null && typeof (value) == \"string\") {\r\n if (value.length > 2) {\r\n return this.getPatientSymptoms(value).pipe()\r\n } else {\r\n // if no value is present, return null\r\n return of(null);\r\n }\r\n }\r\n else return of(null);\r\n })\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.Message = null;\r\n this.isNotBooked = true;\r\n this.homeService.getOrganizationDetail().subscribe(response => {\r\n if (response.statusCode == 200) {\r\n this.Organization = response.data;\r\n }\r\n });\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userId = user.data.userID;\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n this.patientEmail = user.patientData.email;\r\n }\r\n }\r\n });\r\n const s = this.renderer2.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n this.firstFormGroup = this._formBuilder.group({\r\n appointmentDate: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: [\"\", Validators.required]\r\n });\r\n this.thirdFormGroup = this._formBuilder.group({\r\n Notes: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n\r\n if (this.providerId != \"\") {\r\n\r\n this.getStaffDetail();\r\n //this.callProvideractionInitiate(426);\r\n //this.getLastNewAppointment(this.providerId);\r\n }\r\n else {\r\n this.bindStaffProfile();\r\n }\r\n\r\n\r\n // this.getProvidersFollowUpDaysAllowed(this.providerId);\r\n }\r\n\r\n /*Stripe Start */\r\n // openCheckout() {\r\n\r\n // let _amount = this.userInfo.urgentCarePayRate;\r\n\r\n // const handler = (window).StripeCheckout.configure({\r\n // key: this.Organization.stripeKey,\r\n // locale: \"auto\",\r\n // token: function (token: any) {\r\n // //console.log(token);\r\n // if (token.id != \"\") {\r\n // localStorage.setItem(\"payment_token\", token.id);\r\n // //this.book(token.id);\r\n // }\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 // }\r\n // });\r\n\r\n // handler.open({\r\n // name: this.Organization.organizationName,\r\n // description: this.Organization.description,\r\n // image: this.Organization.logo,\r\n // //amount: this.userInfo.payRate * 100,\r\n // amount: _amount * 100,\r\n // currency: \"inr\",\r\n // email: this.patientEmail,\r\n // closed: () => {\r\n // this.paymentToken = localStorage.getItem(\"payment_token\");\r\n // localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n // }\r\n // });\r\n\r\n // // }\r\n // // else{\r\n // // this.bookNewFreeAppointment(\"\", \"Free\");\r\n // // }\r\n // }\r\n\r\n /*Stripe End */\r\n get formGroup1() {\r\n return this.firstFormGroup.controls;\r\n }\r\n get formGroup3() {\r\n return this.thirdFormGroup.controls;\r\n }\r\n\r\n onSlotSelect(slot: any) {\r\n const index = this.providerAvailiabilitySlots.findIndex(\r\n x => x.isSelected == true\r\n );\r\n if (index != -1) {\r\n this.providerAvailiabilitySlots[index].isSelected = false;\r\n this.providerAvailiabilitySlots[index].isAvailable = true;\r\n }\r\n // this.providerAvailiabilitySlots.forEach(slot => {\r\n // slot.isSelected = false;\r\n\r\n // });\r\n this.confirmation.startTime = slot.startTime;\r\n this.confirmation.endTime = slot.endTime;\r\n slot.isSelected = true;\r\n slot.isAvailable = false;\r\n }\r\n\r\n onDateChange(event: any) {\r\n\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n //this.firstFormGroup.get('appointmentDate').setValue(event);\r\n //let interval = 30;\r\n let interval = this.userInfo.timeInterval;\r\n const filterModal = {\r\n locationIds: this.locationId,\r\n // fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n // toDate: format(event.value, \"YYYY-MM-DD\"),\r\n fromDate: format(event, \"YYYY-MM-DD\"),\r\n toDate: format(event, \"YYYY-MM-DD\"),\r\n staffIds: this.staffId,\r\n patientIds: (\"\" || []).join(\",\")\r\n };\r\n let clientAppointments: Array = [];\r\n\r\n let currentAvailabilityDay: any;\r\n let currentAvailableDates: Array = [];\r\n let currentUnAvailableDates: Array = [];\r\n let days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\"\r\n ];\r\n // let dayName = days[new Date(event.value).getDay()];\r\n let dayName = days[new Date(event).getDay()];\r\n this.staffAvailability = [];\r\n\r\n switch (this.confirmation.mode.toLowerCase()) {\r\n case 'online':\r\n this.appointmentModeId = 1\r\n break;\r\n case 'face to face':\r\n this.appointmentModeId = 2\r\n break;\r\n case 'home visit':\r\n this.appointmentModeId = 3\r\n break;\r\n\r\n }\r\n\r\n this.usersService\r\n .getStaffAvailabilityByLocation(this.staffId, this.locationId, format(event.value, \"YYYY-MM-DD\"), this.appointmentModeId)\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n if (response.statusCode == 200) {\r\n this.schedulerService\r\n .getListData(filterModal)\r\n .subscribe((response: any) => {\r\n this.showLoader = false;\r\n if (response.statusCode == 200) {\r\n this.patientAppointments = response.data;\r\n this.patientAppointments.forEach(app => {\r\n let obj = {\r\n startTime: app.startDateTime,\r\n endTime: app.endDateTime\r\n };\r\n let timeObj = this.getStartEndTime(obj),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n if (!app.cancelTypeId || app.cancelTypeId == null && app.cancelTypeId == 0) {\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n clientAppointments.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n statusName: app.statusName\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.staffAvailability = availibiltyResponse.data.days;\r\n this.providerAvailableDates = availibiltyResponse.data.available;\r\n this.providerNotAvailableDates =\r\n availibiltyResponse.data.unavailable;\r\n\r\n //Find day wise availability\r\n currentAvailabilityDay = this.staffAvailability.filter(\r\n x => x.dayName === dayName\r\n );\r\n\r\n //Find date wise availability\r\n if (\r\n this.providerAvailableDates != null &&\r\n this.providerAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates = this.providerAvailableDates.filter(\r\n x =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n );\r\n }\r\n\r\n //find datewise unavailabilty\r\n if (\r\n this.providerNotAvailableDates != null &&\r\n this.providerNotAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates = this.providerNotAvailableDates.filter(\r\n x =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n );\r\n }\r\n let slots: Array = [];\r\n let slotsIntervals: Array = [];\r\n let unAvaiabilityIntervalArr: Array = [];\r\n let availDaySlots: Array = [];\r\n let availDateSlots: Array = [];\r\n let unAvailDateSlots: Array = [];\r\n\r\n //let curentTime = this.parseTime(currentDate);\r\n if (\r\n currentAvailabilityDay != null &&\r\n currentAvailabilityDay.length > 0\r\n ) {\r\n currentAvailabilityDay.forEach(currentDay => {\r\n let timeObj = this.getStartEndTime(currentDay),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n availDaySlots.push(x);\r\n });\r\n });\r\n }\r\n if (\r\n currentAvailableDates != null &&\r\n currentAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates.forEach(avail => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n availDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (\r\n currentUnAvailableDates != null &&\r\n currentUnAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates.forEach(avail => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n unAvailDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (availDateSlots.length == 0) {\r\n if (availDaySlots.length > 0) {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach(slot => {\r\n const foundIndex = availDaySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDaySlots = availDaySlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDaySlots;\r\n }\r\n } else {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach(slot => {\r\n const foundIndex = availDateSlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDateSlots = availDateSlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDateSlots;\r\n }\r\n\r\n if (slots.length > 0) {\r\n slots.forEach(x => {\r\n this.providerAvailiabilitySlots.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n location: \"Max Hospital, Mohali\",\r\n isAvailable: true,\r\n isSelected: false,\r\n isPassed: false,\r\n isReserved: false\r\n });\r\n });\r\n }\r\n if (clientAppointments.length > 0) {\r\n\r\n clientAppointments.forEach(slot => {\r\n let status = (slot.statusName as string).toLowerCase();\r\n if ((slot.statusName as string).toLowerCase() != \"cancel\") {\r\n const foundIndex = this.providerAvailiabilitySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isAvailable = false;\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isReserved = true;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n let currentDate = new Date();\r\n if (\r\n this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n ) {\r\n let currentStartHr = currentDate.getHours(),\r\n currentStartMin = currentDate.getMinutes(),\r\n currentTime = currentStartHr * 60 + currentStartMin;\r\n this.providerAvailiabilitySlots.forEach(slot => {\r\n if (slot.isAvailable == true) {\r\n let selStart = slot.startTime.split(\" \");\r\n let selStartTime = selStart[0];\r\n let selStartHr = +selStartTime.split(\":\")[0];\r\n let selHrMin =\r\n selStart[1] == \"AM\"\r\n ? selStartHr * 60\r\n : selStartHr == 12\r\n ? selStartHr * 60\r\n : (selStartHr + 12) * 60;\r\n let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n let selEnd = slot.endTime.split(\" \");\r\n let selEndTime = selEnd[0];\r\n let selEndHr = +selEndTime.split(\":\")[0];\r\n let selEndHrMin =\r\n selEnd[1] == \"AM\"\r\n ? selEndHr * 60\r\n : selEndHr == 12 ? selEndHr * 60 : (selEndHr + 12) * 60;\r\n let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n if (\r\n currentTime >= selStartMin &&\r\n (currentTime >= selEndMin || currentTime < selEndMin)\r\n ) {\r\n slot.isPassed = true;\r\n slot.isAvailable = false;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n // this.confirmation.date = event.value;\r\n this.confirmation.date = event;\r\n }\r\n getStartEndTime(obj: any) {\r\n let startDate: Date = new Date(obj.startTime),\r\n endDate: Date = new Date(obj.endTime);\r\n\r\n let slotStartHr = startDate.getHours(),\r\n slotStartMin = startDate.getMinutes(),\r\n slotEndHr = endDate.getHours(),\r\n slotEndMin = endDate.getMinutes(),\r\n startTime = this.parseTime(slotStartHr + \":\" + slotStartMin),\r\n endTime = this.parseTime(slotEndHr + \":\" + slotEndMin);\r\n return { startTime: startTime, endTime: endTime };\r\n }\r\n parseTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n convertHours(mins: number) {\r\n let hour = Math.floor(mins / 60);\r\n mins = mins % 60;\r\n let time = \"\";\r\n if (this.pad(hour, 2) < 12) {\r\n time = this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" AM\";\r\n } else {\r\n time =\r\n this.pad(hour, 2) == 12\r\n ? this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" PM\"\r\n : this.pad(hour, 2) - 12 + \":\" + this.pad(mins, 2) + \" PM\";\r\n }\r\n //let converted = this.pad(hour, 2)+':'+this.pad(mins, 2);\r\n return time;\r\n }\r\n\r\n pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? this.pad(\"0\" + str, max) : str;\r\n }\r\n\r\n calculateTimeSlotRange(\r\n start_time: number,\r\n end_time: number,\r\n interval: number = 30\r\n ) {\r\n let i, formattedStarttime, formattedEndtime;\r\n let time_slots: Array = [];\r\n for (let i = start_time; i <= end_time - interval; i = i + interval) {\r\n formattedStarttime = this.convertHours(i);\r\n formattedEndtime = this.convertHours(i + interval);\r\n time_slots.push({\r\n startTime: formattedStarttime,\r\n endTime: formattedEndtime\r\n });\r\n }\r\n return time_slots;\r\n }\r\n\r\n onTypeChange(type: any) {\r\n this.confirmation.type = type;\r\n }\r\n onModeChange(mode: any) {\r\n this.confirmation.mode = mode;\r\n }\r\n bindStaffProfile() {\r\n\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 101\r\n }\r\n this.isProfileLoaded = true;\r\n //////;\r\n this.confirmation.date = new Date(Date.now());\r\n this.onDateChange(this.confirmation.date);\r\n }\r\n getStaffDetail() {\r\n if (this.providerId != \"\") {\r\n\r\n this.homeService.getProviderDetail(this.providerId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.userInfo = res.data;\r\n //providerCancellationRules\r\n this.bindStaffProfile();\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n //location.reload();\r\n }\r\n\r\n jumpwaitingroom() {\r\n this.dialogModalRef.close('close');\r\n this.route.navigate([\"/web/client/waiting-room\"]);\r\n\r\n }\r\n\r\n bookNewAppointment(): any {\r\n\r\n this.submitted = true;\r\n const patientId = null;\r\n this.confirmation.date = new Date(Date.now());\r\n\r\n let stime = null, etime = null; let found = false;\r\n this.providerAvailiabilitySlots.forEach(element => {\r\n //////;\r\n let parsetime = (new Date(new Date().toDateString() + ' ' + element.startTime));\r\n if (element.isAvailable == true && found == false && parsetime.getTime() >= this.confirmation.date.getTime()) {\r\n stime = element.startTime;\r\n etime = element.endTime;\r\n found = true;\r\n }\r\n });\r\n\r\n\r\n let _amount = 0;\r\n if (this.confirmation.type == 'New' && this.confirmation.mode == 'Online') {\r\n _amount = this.userInfo.payRate;\r\n }\r\n else if (this.confirmation.type == 'New' && this.confirmation.mode == 'Face to Face') {\r\n _amount = this.userInfo.ftFpayRate;\r\n }\r\n else if (this.confirmation.type == 'New' && this.confirmation.mode == 'Home Visit') {\r\n _amount = this.userInfo.homeVisitPayRate;\r\n }\r\n else if (this.confirmation.type == 'Followup') {\r\n if (!this.checkIfAllowed) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 101\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: null,\r\n ServiceLocationID: this.locationId || null,\r\n\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n stime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n etime\r\n ),\r\n\r\n IsTelehealthAppointment: true,//this.confirmation.mode==\"Online\"?true:false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n PayRate: _amount,\r\n PaymentToken: null,\r\n PaymentMode: 'HyperPay',\r\n IsBillable: true,\r\n IsUrgentCareAppointment: true,\r\n providerId: this.providerId,\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n this.schedulerService\r\n .checkoutPaymentForAppointment(_amount + \"\")\r\n .subscribe((response: any) => {\r\n //console.log('payment = > ', response);\r\n const script = document.createElement(\"script\");\r\n\r\n script.src = `https://test.oppwa.com/v1/paymentWidgets.js?checkoutId=${response.id}`;\r\n script.async = true;\r\n\r\n document.body.appendChild(script);\r\n localStorage.setItem('urgentAppointmentbookedData', JSON.stringify(appointmentData[0]));\r\n\r\n\r\n this.openHyperPay(response.id)\r\n });\r\n }\r\n\r\n openHyperPay(id) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(HyperPayComponent, {\r\n hasBackdrop: true,\r\n width: '20%',\r\n data: {\r\n id: id,\r\n isUrgent: true,\r\n }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n bookNewFreeAppointment(tokenId: string, paymentMode: string): any {\r\n\r\n this.submitted = true;\r\n\r\n\r\n const patientId = null;\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n\r\n this.locationId = 101\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: null,\r\n ProviderName: this.fullname,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n // IsTelehealthAppointment: true,\r\n IsTelehealthAppointment: this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.formGroup3.Notes.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n // PayRate: this.userInfo.payRate,\r\n // PayRate: this.confirmation.mode==\"Online\"?this.userInfo.payRate:this.userInfo.ftFpayRate ,\r\n PayRate: 0.00,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n this.createFreeAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n createFreeAppointmentFromPatientPortal(appointmentData: any) {\r\n this.schedulerService\r\n .bookNewFreeAppointmentFromPatientPortal(appointmentData)\r\n .subscribe(response => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n // this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n openfreeapptCheckout() {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n }\r\n\r\n createModal() {\r\n\r\n let documentModal;\r\n documentModal = this.dialogModal.open(SaveDocumentComponent, { data: 0 })\r\n documentModal.afterClosed().subscribe((result: string) => {\r\n // if (result == 'save')\r\n // this.getUserDocuments();\r\n });\r\n }\r\n show: boolean = false;\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width: '70%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n //\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n this.show = true;\r\n });\r\n }\r\n\r\n checkboxchecked() {\r\n\r\n }\r\n\r\n handleImageChange(e) {\r\n //if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n let fileExtension = e.target.files[0].name.split('.').pop().toLowerCase();\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.fileList.push({\r\n data: this.dataURL,\r\n ext: fileExtension,\r\n fileName: e.target.files[0].name\r\n });\r\n\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n // }\r\n // else\r\n // this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n }\r\n\r\n saveDocuments(apptId: number) {\r\n ///Please chnage this API to avoid loops\r\n\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: \"Document\",\r\n documentTypeIdStaff: 15,\r\n expiration: \"\",\r\n key: \"STAFF\",\r\n otherDocumentType: \"\",\r\n userId: 0,\r\n patientAppointmentId: apptId\r\n }\r\n let dic = [];\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(`\"${element.data.replace(/^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/, '')}\": \"${element.ext}\"`);\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {})\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.userService.uploadUserDocuments(formValues).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n localStorage.setItem(\"preAppointmentDataDocs\", JSON.stringify(response.data));\r\n\r\n //this.notifier.notify('success', response.message);\r\n //this.closeDialog(\"save\");\r\n }\r\n else this.notifier.notify('error', response.message);\r\n });\r\n }\r\n else {\r\n //this.notifier.notify('error', \"Please add atleast one file\");\r\n }\r\n }\r\n\r\n\r\n\r\n get checkIfAllowed() {\r\n if (this.confirmation.type == 'Followup') {\r\n if (this.userInfo && this.userInfo.followUpDays &&\r\n this.firstFormGroup.controls.appointmentDate.value) {\r\n\r\n return this.hasPreviousNewMeeting;\r\n\r\n\r\n } else { return false; }\r\n } else { return true; }\r\n }\r\n\r\n getLastNewAppointment(staffId) {\r\n\r\n this.schedulerService.getGetLastNewAppointment(staffId).subscribe(response => {\r\n if (response.statusCode === 200) {\r\n this.hasPreviousNewMeeting = response.data ? true : false;\r\n\r\n }\r\n });\r\n }\r\n\r\n closeModal() {\r\n this.dialogModal.closeAll();\r\n }\r\n\r\n callProvideractionInitiate(pateintapptid: number) {\r\n\r\n if (pateintapptid > 0 && this.userId > 0) {\r\n this.appService\r\n .getUrgentCareProviderActionInitiate(pateintapptid, this.userId)\r\n .subscribe((res) => {\r\n\r\n // console.log(res);\r\n });\r\n }\r\n\r\n }\r\n\r\n showproviderunavailable() {\r\n this.isNotBooked = true;\r\n this.ApptReject = true;\r\n\r\n }\r\n\r\n getPatientSymptoms(searchText: string = 'headache'): any {\r\n return this.symptomCheckerService.getPatientSymptoms(searchText, 32)\r\n .pipe(map(x => {\r\n return x;\r\n }));\r\n\r\n }\r\n add(event: MatChipInputEvent): void {\r\n\r\n\r\n if (!this.matAutocomplete.isOpen) {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n // Add our fruit\r\n if ((value || '').trim()) {\r\n this.symptoms.push(value.trim());\r\n }\r\n\r\n // Reset the input value\r\n if (input) {\r\n input.value = '';\r\n }\r\n\r\n this.userControl.setValue(null);\r\n }\r\n }\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n\r\n this.symptoms.push({\r\n id: event.option.value.id,\r\n value: event.option.viewValue,\r\n choice_id: \"present\"\r\n\r\n });\r\n //this.optionChecked=true;\r\n this.userInput.nativeElement.value = event.option.viewValue;\r\n this.userControl.setValue(event.option.viewValue);\r\n\r\n }\r\n\r\n}\r\n","module.exports = \".mb-7 {\\r\\n margin-bottom: 70px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-checkbox {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header {\\r\\n padding: 0px 15px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header-title {\\r\\n align-items: center;\\r\\n color: #01385f;\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header-title i {\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n.search-filter .ng-select .ng-clear-wrapper .ng-clear {\\r\\n padding-top: 3px;\\r\\n}\\r\\n\\r\\n.search-filter .ng-select .ng-select-container {\\r\\n border: 1px solid #ccc !important;\\r\\n}\\r\\n\\r\\n.mat-raised-button {\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n border-radius: 10px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select {\\r\\n width: 100%;\\r\\n border-radius: 2px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container {\\r\\n border: 0px;\\r\\n border-radius: 0px;\\r\\n -webkit-border-radius: 0px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input {\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 36px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-accordion {\\r\\n background: #fff;\\r\\n box-shadow: 0px 24px 24px rgba(0, 0, 0, 0.06);\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-card {\\r\\n box-shadow: none !important;\\r\\n}\\r\\n\\r\\n.search-filter .mat-accordion .mat-expansion-panel-header {\\r\\n border-bottom: 1px solid #E0E0E0;\\r\\n}\\r\\n\\r\\n.search-filter .mat-accordion .mat-expansion-panel-spacing {\\r\\n margin: 0;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n.count-list {\\r\\n background: #fff;\\r\\n /* Old browsers */\\r\\n color: #fff;\\r\\n padding: 15px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n margin-bottom: 15px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n margin-top: 5rem;\\r\\n box-shadow: 0px -6px 34px rgb(0 0 0 / 10%);\\r\\n}\\r\\n\\r\\n.sortBy span {\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.sortBy select {\\r\\n border: 1px solid #17a2b8;\\r\\n color: #17a2b8;\\r\\n margin: 0px 15px;\\r\\n padding: 5px;\\r\\n border-radius: 8px;\\r\\n}\\r\\n\\r\\n.sortBy .thumbnail-icon a {\\r\\n color: #9B9B9B;\\r\\n margin: 0px 6px;\\r\\n}\\r\\n\\r\\n.sort-by {\\r\\n float: left;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.sort-by button {\\r\\n font-size: 18px;\\r\\n padding: 4px 18px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.sort-by button:hover {\\r\\n box-shadow: 0px 10px 20px rgb(0 0 0 / 16%);\\r\\n}\\r\\n\\r\\n.sort-by .mat-raised-button {\\r\\n border: 2px solid #01385f !important;\\r\\n padding: 2px 25px;\\r\\n color: #01385f !important;\\r\\n font-weight: 600;\\r\\n background-color: #fff !important;\\r\\n font-size: 14px;\\r\\n cursor: pointer;\\r\\n border-radius: 7px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.custom-ng-select {\\r\\n width: 135px;\\r\\n display: inline-block;\\r\\n margin-left: 10px;\\r\\n height: 30px;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.ng-select-single .ng-select-container {\\r\\n height: 35px;\\r\\n min-height: 25px;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 25px;\\r\\n}\\r\\n\\r\\n.sortBy .ng-select {\\r\\n margin-right: 1rem;\\r\\n min-width: 105px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container {\\r\\n border: 2px solid #17a2b8;\\r\\n color: #17a2b8;\\r\\n border-radius: 8px;\\r\\n}\\r\\n\\r\\n.sortBy .ng-select .ng-arrow-wrapper .ng-arrow {\\r\\n border-color: #17a2b8 transparent transparent; \\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input {\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 36px;\\r\\n}\\r\\n\\r\\n.sortBy .ng-select .ng-select-container .ng-value-container .ng-placeholder {\\r\\n color: #17a2b8;\\r\\n}\\r\\n\\r\\n.count-list h3 {\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n margin: 0px;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-input {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-calendar-container {\\r\\n z-index: 1;\\r\\n top: inherit;\\r\\n}\\r\\n\\r\\n.search-filter .ngx-datepicker-container .ngx-datepicker-input {\\r\\n border: 1px solid #ccc !important;\\r\\n border-radius: 4px !important;\\r\\n -webkit-border-radius: 4px !important;\\r\\n min-height: 36px;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-selected,\\r\\n.main-calendar-days .day-unit:hover {\\r\\n background: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-today {\\r\\n background: #63d891 !important;\\r\\n}\\r\\n\\r\\n.filter-widget .mat-checkbox {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.filter-widget .more-widget {\\r\\n color: #17a2b8;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.filter-widget .ng-scrollbar-view {\\r\\n overflow: auto;\\r\\n}\\r\\n\\r\\n.filter-btn {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n/* .doctor-widget {\\r\\n margin-bottom: 30px;\\r\\n} */\\r\\n\\r\\n.doctor-widget .doc-info {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.doc-info-left {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.doctor-img {\\r\\n width: 180px;\\r\\n height: 180px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n overflow: hidden;\\r\\n margin-right: 15px;\\r\\n /* flex: 0 0 180px; */\\r\\n /* display: flex; */\\r\\n}\\r\\n\\r\\n.doctor-widget .doc-name {\\r\\n font-size: 24px;\\r\\n font-weight: 500;\\r\\n margin-bottom: 3px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.doc-name a {\\r\\n color: #01385f;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.doc-name a:hover {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.mat-card-content p.doc-speciality {\\r\\n font-size: 14px;\\r\\n color: #146795;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.doc-department {\\r\\n color: #4B6D97;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n margin-bottom: 5px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.hand{\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 0px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.list-grid-btn {\\r\\n font-size: 20px;\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n\\r\\n.list-grid-btn .active {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.list-grid-btn i {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.cfee {\\r\\n margin-bottom: 7px;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n.clinic-services {\\r\\n color: #6AB8E4;\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n flex-wrap: wrap;\\r\\n min-height: 62px;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n border: 1px solid #6AB8E4;\\r\\n border-radius: 4px;\\r\\n display: inline-block;\\r\\n font-size: 12px;\\r\\n padding: 3px 10px;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n margin-right: 5px;\\r\\n margin-bottom: 5px;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.clinic-booking {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n flex-wrap: wrap;\\r\\n border-top: 1px solid #ddd;\\r\\n padding-top: 15px;\\r\\n margin-top: 15px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.clinic-booking .mat-raised-button {\\r\\n box-shadow: none;\\r\\n -ms-box-shadow: none;\\r\\n min-width: 120px;\\r\\n border-radius: 10px;\\r\\n padding: 5px 10px;\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n line-height: 36px;\\r\\n}\\r\\n\\r\\n.clinic-booking button.mat-accent {\\r\\n background-color: transparent;\\r\\n color: #17a2b8;\\r\\n border: 2px solid #17a2b8;\\r\\n}\\r\\n\\r\\na.link-btn {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,\\r\\n.mat-checkbox-checked.mat-accent .mat-checkbox-background {\\r\\n background-color: #fff !important;\\r\\n border: 2px solid #b9b9b9 !important;\\r\\n}\\r\\n\\r\\n.mat-checkbox-frame {\\r\\n border-color: #b9b9b9 !important;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #17a2b8 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #17a2b8;\\r\\n border-radius: 3px;\\r\\n}\\r\\n\\r\\n.link-btn:hover {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.chk-availability label {\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n color: #17a2b8;\\r\\n}\\r\\n\\r\\n.chk-availability button {\\r\\n background: #fff;\\r\\n border: 1px solid #b9b9b9;\\r\\n border-radius: 5px;\\r\\n font-size: 13px;\\r\\n color: #b9b9b9;\\r\\n font-weight: 500;\\r\\n margin-right: 10px;\\r\\n margin-bottom: 10px;\\r\\n padding: 5px 10px;\\r\\n line-height: 13px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.chk-availability button:disabled {\\r\\n cursor: not-allowed;\\r\\n border: 1px solid #e5e5e5;\\r\\n}\\r\\n\\r\\n.chk-availability button.active {\\r\\n border-color: #17a2b8;\\r\\n color: #17a2b8;\\r\\n background: #fff;\\r\\n}\\r\\n\\r\\n.chk-availability button:not(:disabled):hover {\\r\\n background: #17a2b8;\\r\\n color: #fff;\\r\\n border-color: #17a2b8;\\r\\n}\\r\\n\\r\\np.see-fees {\\r\\n cursor: pointer;\\r\\n margin: 0;\\r\\n font-size: 18px;\\r\\n margin-right: 0.25rem;\\r\\n min-width: 80px;\\r\\n}\\r\\n\\r\\n.clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.clini-infos ul li {\\r\\n display: block;\\r\\n line-height: 25px;\\r\\n word-break: break-word;\\r\\n color: #01385f;\\r\\n position: relative;\\r\\n padding-left: 25px;\\r\\n padding-right: 5px;\\r\\n font-size: 15px;\\r\\n min-height: 28px;\\r\\n}\\r\\n\\r\\n.clini-infos ul li a {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.clini-infos ul li .direction {\\r\\n color: #17a2b8;\\r\\n cursor: pointer;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.clini-infos ul li i {\\r\\n font-size: 15px;\\r\\n min-width: 20px;\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 6px;\\r\\n}\\r\\n\\r\\n.doc-info-cont .row {\\r\\n margin-left: 0;\\r\\n}\\r\\n\\r\\n.mat-form-field+.mat-form-field {\\r\\n margin-left: 8px;\\r\\n}\\r\\n\\r\\n/* grid view */\\r\\n\\r\\n/* .grid-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n\\r\\n/* .grid-profile .clinic-services {\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.grid-profile .doc-info,\\r\\n.grid-profile .doc-info-left {\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-img {\\r\\n float: left;\\r\\n height: 160px;\\r\\n width: 160px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n width: 100%;\\r\\n margin-top: 15px;\\r\\n flex-direction: row;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn .fee-sec {\\r\\n margin-right: 5px;\\r\\n color: #01385f;\\r\\n font-weight: 600;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn .fee-sec h3 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn .fee-sec h4 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.grid-profile button {\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-info-right {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-info-right .clini-infos {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.grid-profile .addres {\\r\\n min-height: 28px;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-department {\\r\\n /* min-height: 30px; */\\r\\n word-break: break-all;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-widget .doc-info {\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n/* list view */\\r\\n\\r\\n/* .list-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n\\r\\n.list-profile a {\\r\\n margin-right: 15px;\\r\\n}\\r\\n\\r\\n@media (max-width: 1199px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 160px;\\r\\n height: 160px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n }\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: column;\\r\\n gap: 10px;\\r\\n }\\r\\n .clinic-btn {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n }\\r\\n .list-profile a {\\r\\n margin-right: 0px;\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n /* .list-grid-btn,\\r\\n .sort-by {\\r\\n margin-top: 15px;\\r\\n } */\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n .count-list {\\r\\n justify-content: flex-start;\\r\\n flex-wrap: wrap;\\r\\n align-items: center;\\r\\n }\\r\\n .count-list h3 {\\r\\n margin: 5px 15px 5px 0px;\\r\\n font-size: 18px;\\r\\n }\\r\\n .sort-by {\\r\\n float: none;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .doctor-widget .doc-info {\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n }\\r\\n .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 160px !important;\\r\\n height: 160px !important;\\r\\n float: left;\\r\\n }\\r\\n .clini-infos ul li {\\r\\n display: inline-block;\\r\\n padding-right: 10px;\\r\\n }\\r\\n .clini-infos ul li i {\\r\\n min-width: auto;\\r\\n }\\r\\n .doc-info-left {\\r\\n width: 100%;\\r\\n display: inherit;\\r\\n }\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: row;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 480px) {\\r\\n /* .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n } */\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: column;\\r\\n }\\r\\n .clinic-btn {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n.ngx-datepicker-calendar-container {\\r\\n z-index: 2 !important;\\r\\n}\\r\\n\\r\\n.ngx-slider .ngx-slider-bubble {\\r\\n font-weight: 500;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n line-height: 14px;\\r\\n padding-top: 0;\\r\\n margin-top: 8px;\\r\\n}\\r\\n\\r\\nmat-slider {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.price-range span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.mat-slider-thumb {\\r\\n border: 8px solid transparent !important;\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.mat-slider-track-fill {\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\n.cancl-pol-txt {\\r\\n color: #17a2b8 !important;\\r\\n cursor: pointer !important;\\r\\n font-weight: 500 !important;\\r\\n line-height: 20px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.green-outline-btn {\\r\\n border-color: #17a2b8 !important;\\r\\n color: #17a2b8 !important;\\r\\n line-height: 36px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

{{totalRecords}} {{\\\"matches_found\\\"|translate}}- {{searchedLocation}}

\\r\\n
\\r\\n
\\r\\n {{\\\"sort_by\\\"|translate}}: \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'search'|translate}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\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'|translate}}\\r\\n \\r\\n \\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_speciality'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{spl.value}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 10 && speciality.length>10\\\"\\r\\n (click)=\\\"maxIndex = (maxIndex - 10)\\\">{{'less'|translate}}...\\r\\n {{'more'|translate}}...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Select_services'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{srv.value}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 10 && services.length\\\"\\r\\n (click)=\\\"maxIndexService = (maxIndexService - 10)\\\">{{'less'|translate}}...\\r\\n {{'more'|translate}}...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{'consultation_fee'|translate}} (JOD)\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n
\\r\\n

Dr. {{provider.fullName}}

\\r\\n \\r\\n
\\r\\n \\r\\n {{spl.speciality}}\\r\\n 0 && i<=2\\\">, {{spl.speciality}}\\r\\n 2\\\">+{{ provider.specialities?.length-3}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n 0\\\"\\r\\n class=\\\"d-inline-block average-rating\\\">({{provider.totalReviews}})\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n {{taxonomy.taxonomy}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{provider.phoneNumber}}
  • \\r\\n
  • {{provider.email}}
  • \\r\\n
  • {{provider.address}} \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{'view_profile'|translate}}\\r\\n
\\r\\n

{{'see_fees'|translate}}

\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
{{'your_search_did_not_matched_any_results_please_try_a_different_search.'|translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { BookAppointmentComponent } from \"./../book-appointment/book-appointment.component\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { HomeService } from \"./../home/home.service\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { AfterViewInit, Component, ElementRef, OnInit, QueryList, ViewChild, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { DatepickerOptions } from \"ng2-datepicker\";\r\nimport * as enLocale from \"date-fns/locale/en\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ProviderSearchFilterModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\nimport { NullInjector } from \"@angular/core/src/di/injector\";\r\nimport { BookFreeAppointmentComponent } from \"../book-freeappointment/book-freeappointment.component\";\r\nimport { of } from \"rxjs\";\r\nimport {\r\n debounceTime,\r\n map,\r\n distinctUntilChanged,\r\n filter\r\n} from \"rxjs/operators\";\r\nimport { fromEvent } from 'rxjs';\r\nimport { ProviderProfileModalComponent } from \"../provider-profile/provider-profile.component\";\r\nimport { LabelType, Options } from \"@angular-slider/ngx-slider\";\r\nimport { CancelationRule } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\nimport { ProviderFeeSettingsComponent } from \"../provider-fee-settings/provider-fee-settings.component\";\r\nimport { UrgentCareAppointmentComponent } from \"../urgentcare-appointment/urgentcare-appointment.component\";\r\nimport { ConsultationFeesComponent } from \"../consultation-fees/consultation-fees.component\";\r\n// import { Options } from \"ngx-google-places-autocomplete/objects/options/options\";\r\n// type NewType = Options;\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-urgentcareprovider-list\",\r\n templateUrl: \"./urgentcareprovider-list.component.html\",\r\n styleUrls: [\"./urgentcareprovider-list.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UrgentCareProviderListComponent implements OnInit, AfterViewInit {\r\n panelOpenState = false;\r\n specialityIconCheck : any;\r\n specialityIcon : any;\r\n showLoader: boolean = true;\r\n selectedSpeciality: any;\r\n selectedLocation: any;\r\n selectedDate: any;\r\n @ViewChild('tempselectedDate') tempselectedDate: ElementRef;\r\n @ViewChildren('temprating') temprating: QueryList;\r\n \r\n providerserachtext:string;\r\n doctorWidgetClass: string = \"col-sm-6 grid-profile mb-3\";\r\n options: DatepickerOptions;\r\n metaData: any;\r\n sortby: any[] = [\r\n { value: 1, label: \"Price Low\" },\r\n { value: 2, label: \"Price High\" },\r\n { value: 3, label: \"Rating\" }\r\n ];\r\n\r\n location: any[] = [];\r\n speciality: any[] = [];\r\n services: any[] = [];\r\n minIndex: number = 0;\r\n maxIndex: number = 10;\r\n minIndexService: number = 0;\r\n maxIndexService: number = 10;\r\n filterModel: ProviderSearchFilterModel;\r\n providers: any = [];\r\n totalRecords: number = 0;\r\n searchedLocation: string = \"\";\r\n masterGender: any = [];\r\n\r\n Slider: Options = {\r\n floor: 0,\r\n ceil: 1000,\r\n translate: (value: number, label: LabelType): string => {\r\n return \"JOD \" + value;\r\n }\r\n };\r\n minrate= 0;\r\n maxrate=1000;\r\n \r\n\r\n checkedLocations: string[] = [];\r\n checkedSpecialities: string[] = [];\r\n checkedGenders: string[] = [];\r\n checkedServices: string[] = [];\r\n checkedRates: string[] = [];\r\n reviewRates: string[] = [];\r\n @ViewChild('prosearchtext') prosearchtext: ElementRef;\r\n staffId:string;\r\n constructor(\r\n private commonService: CommonService,\r\n private datePipe: DatePipe,\r\n private route: ActivatedRoute,\r\n private homeService: HomeService,\r\n private dialogModal: MatDialog,\r\n private headerComp: HomeHeaderComponent,\r\n private router: Router\r\n ) {\r\n let dte = new Date();\r\n dte.setDate(dte.getDate() - 1);\r\n this.options = {\r\n minYear: 1970,\r\n maxYear: 2030,\r\n displayFormat: \"MMM D[,] YYYY\",\r\n barTitleFormat: \"MMMM YYYY\",\r\n dayNamesFormat: \"dd\",\r\n firstCalendarDay: 0, // 0 - Sunday, 1 - Monday\r\n locale: enLocale,\r\n minDate: dte, // Minimal selectable date\r\n //maxDate: new Date(Date.now()), // Maximal selectable date\r\n barTitleIfEmpty: \"Click to select a date\",\r\n placeholder: \"Select Date\", // HTML input placeholder attribute (default: '')\r\n fieldId: \"my-date-picker\", // ID to assign to the input field. Defaults to datepicker-\r\n useEmptyBarTitle: false // Defaults to true. If set to false then barTitleIfEmpty will be disregarded and a date will always be shown\r\n };\r\n this.filterModel = new ProviderSearchFilterModel();\r\n }\r\n\r\n\r\n ngAfterViewInit(): void {\r\n this.searchInitilizer();\r\n }\r\n\r\n ngOnInit() {\r\n window.scroll(0,0)\r\n this.getMasterData();\r\n \r\n this.route.queryParams.subscribe(params => {\r\n this.staffId = params[\"providerId\"];\r\n this.specialityIcon = params[\"searchTerm\"];\r\n // this.checkedSpecialities.push(\r\n // this.commonService.encryptValue(params[\"sp\"], false)\r\n // );\r\n if (\r\n params[\"loc\"] != \"\" &&\r\n params[\"loc\"] != null &&\r\n params[\"loc\"] != undefined\r\n ) {\r\n this.checkedLocations.push(\r\n this.commonService.encryptValue(params[\"loc\"], false)\r\n );\r\n }\r\n this.filterModel.Date = params[\"d\"];\r\n });\r\n\r\n // this.setPaginatorModel(\r\n // this.filterModel.pageNumber,\r\n // this.filterModel.pageSize,\r\n // this.filterModel.sortColumn,\r\n // this.filterModel.sortOrder\r\n // );\r\n // this.getProviderList(this.filterModel);\r\n }\r\n public isKeySet(obj: any, key: string): boolean {\r\n let isFound = false;\r\n obj.forEach(element => {\r\n if ((element as string) == key.toString()) isFound = true;\r\n });\r\n return isFound;\r\n }\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n let date = null;\r\n if (\r\n this.selectedDate != undefined &&\r\n this.selectedDate != null &&\r\n this.selectedDate != \"\"\r\n ) {\r\n date = new Date(this.selectedDate);\r\n //date.setDate(date.getDate() + 1);\r\n }\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.Date =\r\n date != null\r\n ? this.datePipe.transform(new Date(date), \"dd-MM-yyyy\")\r\n : null;\r\n this.filterModel.Locations = this.selectedLocation;\r\n this.filterModel.Specialities = this.checkedSpecialities.toString();\r\n this.filterModel.Rates = this.checkedRates.toString();\r\n\r\n this.filterModel.MinRate = this.minrate.toString();\r\n\r\n this.filterModel.ReviewRating = this.reviewRates.toString();\r\n this.filterModel.Services = this.checkedServices.toString();\r\n this.filterModel.Gender = this.checkedGenders.toString();\r\n //this.filterModel.Genders.push(\"0\");\r\n //this.filterModel.Specialities.push(this.selectedSpeciality);\r\n this.filterModel.ProviderId = this.staffId ? this.staffId : '';\r\n }\r\n onSpecialityChange(option, event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n //this.prosearchtext.nativeElement.value = '';\r\n if (event.source.checked) {\r\n this.checkedSpecialities.push(option.id.toString());\r\n \r\n } else {\r\n for (var i = 0; i < this.checkedSpecialities.length; i++) {\r\n if (this.checkedSpecialities[i] == option.id) {\r\n this.checkedSpecialities.splice(i, 1);\r\n }\r\n }\r\n }\r\n \r\n this.getMasterData(this.checkedSpecialities,1)\r\n this.applyFilter(true);\r\n \r\n\r\n }\r\n onServiceChange(option, event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n //this.prosearchtext.nativeElement.value = '';\r\n if (event.source.checked) {\r\n this.checkedServices.push(option.id.toString());\r\n } else {\r\n for (var i = 0; i < this.checkedServices.length; i++) {\r\n if (this.checkedServices[i] == option.id) {\r\n this.checkedServices.splice(i, 1);\r\n }\r\n }\r\n }\r\n this.applyFilter(true);\r\n }\r\n onGenderChange(option, event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.prosearchtext.nativeElement.value = '';\r\n if (event.source.checked) {\r\n this.checkedGenders.push(option.id.toString());\r\n } else {\r\n for (var i = 0; i < this.checkedGenders.length; i++) {\r\n if (this.checkedGenders[i] == option.id) {\r\n this.checkedGenders.splice(i, 1);\r\n }\r\n }\r\n }\r\n this.applyFilter(true);\r\n }\r\n\r\n // onConsultationFeeChange(event) {\r\n // this.filterModel.ProviderId = '';\r\n // this.staffId = '';\r\n // this.prosearchtext.nativeElement.value = '';\r\n // if (event.source.checked) {\r\n // this.checkedRates.push(event.source.id.toString());\r\n // } else {\r\n // for (var i = 0; i < this.checkedRates.length; i++) {\r\n // if (this.checkedRates[i] == event.source.id) {\r\n // this.checkedRates.splice(i, 1);\r\n // }\r\n // }\r\n // }\r\n \r\n // this.applyFilter(true);\r\n // }\r\n\r\n onConsultationFeeChange(event) {\r\n\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n //this.prosearchtext.nativeElement.value = '';\r\n this.checkedRates=[this.maxrate.toString()];\r\n \r\n this.applyFilter(true);\r\n }\r\n\r\n onReviewRatingChange(event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.prosearchtext.nativeElement.value = '';\r\n if (event.source.checked) {\r\n this.reviewRates.push(event.source.id.toString());\r\n } else {\r\n for (var i = 0; i < this.reviewRates.length; i++) {\r\n if (this.reviewRates[i] == event.source.id) {\r\n this.reviewRates.splice(i, 1);\r\n }\r\n }\r\n }\r\n \r\n this.applyFilter(true);\r\n }\r\n\r\n onDateChange(event) {\r\n\r\n this.applyFilter(true);\r\n }\r\n\r\n // onFeeChange(option, event) {\r\n // if (event.source.checked) {\r\n // this.checkedRates.push(option.id.toString());\r\n // } else {\r\n // for (var i = 0; i < this.checkedRates.length; i++) {\r\n // if (this.checkedRates[i] == option.id) {\r\n // this.checkedRates.splice(i, 1);\r\n // }\r\n // }\r\n // }\r\n // }\r\n clearFilter() {\r\n \r\n this.prosearchtext.nativeElement.value = '';\r\n this.checkedGenders = [];\r\n this.checkedRates = [];\r\n this.checkedServices = [];\r\n this.checkedSpecialities = [];\r\n this.selectedSpeciality = [];\r\n this.reviewRates=[];\r\n this.tempselectedDate['displayValue']='';\r\n this.temprating.forEach(element => {\r\n element.checked=false;\r\n });\r\n // this.selectedSpeciality = \"\";\r\n // this.route.queryParams.subscribe(params => {\r\n // this.selectedSpeciality = +this.commonService.encryptValue(\r\n // params[\"sp\"],\r\n // false\r\n // );\r\n // });\r\n // this.checkedSpecialities.push(this.selectedSpeciality);\r\n \r\n //To reset the Consultation Fees slider.\r\n this.maxrate=1000;\r\n this.minrate=0;\r\n \r\n this.applyFilter(false);\r\n }\r\n applyFilter(isSearching: boolean = true) {\r\n \r\n this.setPaginatorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder\r\n );\r\n this.getProviderList(this.filterModel, isSearching);\r\n }\r\n seaching: boolean = false;\r\n clearing: boolean = false;\r\n getProviderList(\r\n filterModel: ProviderSearchFilterModel,\r\n Isflitering: boolean = false\r\n ) {\r\n if (Isflitering) this.seaching = true;\r\n else this.clearing = true;\r\n\r\n this.homeService.getUrgentCareProviderList(filterModel).subscribe((response: any) => {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n this.providers = response.data;\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords; \r\n } else {\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n this.showLoader = false;\r\n this.seaching = false;\r\n this.clearing = false;\r\n });\r\n }\r\n \r\n getMasterData(globalCodeId:any[]=[],requestType:any=0) {\r\n \r\n \r\n \r\n this.route.queryParams.subscribe(params => {\r\n \r\n var prvSelectedValue=this.commonService.encryptValue(params[\"sp\"], false)\r\n var prvSelectedService=this.commonService.encryptValue(params[\"srvc\"], false)\r\n if(prvSelectedService!='' && prvSelectedService!=null && this.checkedServices.length==0 && requestType==0)\r\n {\r\n this.checkedServices.push(prvSelectedService);\r\n }\r\n if(prvSelectedValue!='' && prvSelectedValue!=null && this.checkedSpecialities.length==0 && requestType==0)\r\n {\r\n this.checkedSpecialities.push(prvSelectedValue);\r\n }\r\n\r\n });\r\n \r\n \r\n this.homeService\r\n .getMasterData(\r\n \"masterLocation,MASTERTAXONOMY,MASTERSTAFFSERVICE,MASTERSPECIALITY,MASTERGENDER\",true,this.checkedSpecialities\r\n\r\n )\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n // this.speciality =\r\n // response.masterTaxonomy != null ? response.masterTaxonomy : [];\r\n this.speciality =\r\n response.masterSpeciality != null ? response.masterSpeciality : [];\r\n this.location =\r\n response.masterLocation != null ? response.masterLocation : [];\r\n this.services =\r\n response.masterStaffServices != null\r\n ? response.masterStaffServices\r\n : [];\r\n \r\n this.route.queryParams.subscribe(params => {\r\n // this.selectedSpeciality\r\n // if( this.commonService.encryptValue(params[\"sp\"], false)!=undefined && this.commonService.encryptValue(params[\"sp\"], false)!=null)\r\n \r\n // {\r\n \r\n // this.checkedSpecialities.push(\r\n // this.commonService.encryptValue(params[\"sp\"], false)\r\n // );\r\n // }\r\n if (\r\n params[\"loc\"] != \"\" &&\r\n params[\"loc\"] != null &&\r\n params[\"loc\"] != undefined\r\n ) {\r\n this.selectedLocation = +this.commonService.encryptValue(\r\n params[\"loc\"],\r\n false\r\n ); //\r\n\r\n this.searchedLocation = this.location.find(\r\n x => (x.id = this.selectedLocation)\r\n ).locationName;\r\n }\r\n this.selectedDate = params[\"d\"]; // this.datePipe.transform(params['d'], 'yyyy-MM-dd');\r\n });\r\n }\r\n if(!this.specialityIcon){\r\n this.applyFilter();\r\n }\r\n else{\r\n this.Providersearchtext(this.specialityIcon);\r\n }\r\n });\r\n }\r\n bookAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n \r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n // this.headerComp.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // this.headerComp.redirectToDashboard(\"/web\");\r\n // } else {\r\n //this.headerComp.isPatient = result.isPatient;\r\n //this.headerComp.IsLogin = true;\r\n //this.headerComp.loading = true;\r\n //this.headerComp.setispateintlogin();\r\n // location.reload();\r\n this.openDialogBookAppointment(staffId, providerId);\r\n //}\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n // if (result != null && result.response.access_token != \"\") {\r\n\r\n // this.headerComp.IsLogin == true;\r\n // this.headerComp.checkUserLogin();\r\n // }\r\n });\r\n } else {\r\n this.openDialogBookAppointment(staffId, providerId);\r\n }\r\n //let staffId = this.commonService.encryptValue(id);\r\n }\r\n openDialogBookAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(UrgentCareAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffId: staffId,\r\n userInfo: null,\r\n providerId: providerId,\r\n locationId: this.selectedLocation || 0\r\n },\r\n width:\"60%\"\r\n //,height:\"50%\"\r\n\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n // if (result == \"booked\") {\r\n // }\r\n //location.reload();\r\n }\r\n });\r\n }\r\n // redirectToProfilePage(providerId: string) {\r\n // if (\r\n // this.selectedLocation != undefined &&\r\n // this.selectedLocation != null &&\r\n // this.selectedLocation != \"\"\r\n // )\r\n // this.router.navigate([\"/doctor-profile\"], {\r\n // queryParams: {\r\n // id: providerId,\r\n // loc: this.commonService.encryptValue(this.selectedLocation, true)\r\n // }\r\n // });\r\n // else\r\n // this.router.navigate([\"/doctor-profile\"], {\r\n // queryParams: {\r\n // id: providerId\r\n // }\r\n // });\r\n // }\r\n\r\n redirectToProfilePage(providerId: string){\r\n let dbModal;\r\n dbModal = this.dialogModal.open(ProviderProfileModalComponent, {\r\n hasBackdrop: true,\r\n data: { id: providerId},\r\n width:'80%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n \r\n }\r\n });\r\n }\r\n\r\n bookFreeAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n // this.headerComp.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // this.headerComp.redirectToDashboard(\"/web\");\r\n // } else {\r\n\r\n //this.headerComp.IsLogin = true;\r\n //this.headerComp.checkUserLogin();\r\n location.reload();\r\n //}\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n // if (result != null && result.response.access_token != \"\") {\r\n\r\n // this.headerComp.IsLogin == true;\r\n // this.headerComp.checkUserLogin();\r\n // }\r\n });\r\n } else {\r\n this.openDialogBookFreeAppointment(staffId, providerId);\r\n }\r\n //let staffId = this.commonService.encryptValue(id);\r\n }\r\n openDialogBookFreeAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(BookFreeAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffId: staffId,\r\n userInfo: null,\r\n providerId: providerId,\r\n locationId: this.selectedLocation || 0\r\n }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n if (result == \"booked\") {\r\n }\r\n }\r\n });\r\n }\r\n\r\n onSortChange(event) {\r\n \r\n this.filterModel.SortType=event.value.toString();\r\n this.applysortFilter(true);\r\n }\r\n\r\n applysortFilter(isSearching: boolean = true) {\r\n \r\n this.setPaginatorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder\r\n );\r\n this.getSortProviderList(this.filterModel, isSearching);\r\n }\r\n sortseaching: boolean = false;\r\n sortclearing: boolean = false;\r\n getSortProviderList(\r\n filterModel: ProviderSearchFilterModel,\r\n Isflitering: boolean = false\r\n ) {\r\n \r\n if (Isflitering) this.sortseaching = true;\r\n else this.sortclearing = true;\r\n \r\n this.homeService.getSortUrgentCareProviderList(filterModel).subscribe((response: any) => {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n this.providers = response.data;\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords; \r\n } else {\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n this.showLoader = false;\r\n this.seaching = false;\r\n this.clearing = false;\r\n });\r\n }\r\n\r\n\r\n searchInitilizer()\r\n {\r\n fromEvent(this.prosearchtext.nativeElement,'keyup').pipe(\r\n\r\n map((event: any) => {\r\n return event.target.value;\r\n })\r\n , filter(res => res.length > 2 || res.length ==0)\r\n , debounceTime(1000)\r\n , distinctUntilChanged()\r\n ).subscribe((text:string) => {\r\n\r\n this.Providersearchtext(text);\r\n })\r\n }\r\n\r\n Providersearchtext(text:string) {\r\n \r\n this.filterModel.ProvidersearchText=text;\r\n this.filterModel.ProviderId = '';\r\n this.homeService.getsearchtextUrgentCareProviderList(this.filterModel).subscribe((response: any) => { \r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n this.providers = response.data;\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords; \r\n } else {\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n this.showLoader = false;\r\n this.seaching = false;\r\n this.clearing = false;\r\n });\r\n }\r\n\r\n openCancellationRulesPopup(rules){\r\n rules = rules ? rules : [];\r\n const dbModal = this.dialogModal.open(ProviderFeeSettingsComponent, {\r\n hasBackdrop: true,\r\n data: rules as CancelationRule[],\r\n width:'400px',\r\n maxWidth:'400px',\r\n minWidth:'40%'\r\n });\r\n }\r\n\r\n openSeeFees(providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(ConsultationFeesComponent, {\r\n width:'60%',\r\n data: { id: providerId }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n \r\n });\r\n }\r\n \r\n}\r\n","module.exports = \".video_popup {\\r\\n padding: 1rem;\\r\\n}\\r\\n.video_popup iframe {\\r\\n width: 100%;\\r\\n height: 400px;\\r\\n}\\r\\n.video_header {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n padding: 1rem;\\r\\n align-items: center;\\r\\n}\\r\\n.video_header h4 {\\r\\n font-size: 26px;\\r\\n font-weight: 500;\\r\\n color: #01385f;\\r\\n margin: 0;\\r\\n}\\r\\n.video_header i {\\r\\n color: #01385f;\\r\\n font-size: 20px;\\r\\n cursor: pointer;\\r\\n}\"","module.exports = \"
\\r\\n

Watch Video

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-video-popup',\r\n templateUrl: './video-popup.component.html',\r\n styleUrls: ['./video-popup.component.css']\r\n})\r\nexport class VideoPopupComponent implements OnInit {\r\n videoData:any;\r\n playerSrc:any;\r\n\r\n constructor(\r\n private domSanitizer: DomSanitizer,\r\n private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n this.playerSrc = this.domSanitizer.bypassSecurityTrustResourceUrl(this.data.videoPath);\r\n //this.videoData=this.data;\r\n // console.log(this.data)\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n}\r\n","module.exports = \".wedo-banner {\\r\\n background-image: url('what-wo-do-banner.jpg');\\r\\n background-repeat: no-repeat;\\r\\n background-position: center;\\r\\n width: 100%;\\r\\n position: relative;\\r\\n background-size: cover;\\r\\n height: 550px;\\r\\n}\\r\\n\\r\\n.whatwedo-content {\\r\\n background: rgb(24 155 237 / 30%);\\r\\n color: #fff;\\r\\n text-align: center;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n width: 55%;\\r\\n height: 550px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n right: 0;\\r\\n border-top-left-radius: 100%;\\r\\n}\\r\\n\\r\\n.whatwedo-content h2 {\\r\\n font-size: 2.6rem;\\r\\n padding-top: 50px;\\r\\n text-align: right;\\r\\n line-height: 62px;\\r\\n}\\r\\n\\r\\nsection.the-benefits,\\r\\n.meet-doctor,\\r\\nsection.categories,\\r\\nsection.book-doctor,\\r\\n.happy-client {\\r\\n padding: 60px 0;\\r\\n}\\r\\n\\r\\nsection.blue-line {\\r\\n background: #2F2660;\\r\\n padding: 30px 0;\\r\\n}\\r\\n\\r\\nsection.blue-line h2,\\r\\nsection.blue-line a {\\r\\n color: #ffffff;\\r\\n margin: 0;\\r\\n font-size: 1.6rem;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\nsection.blue-line a {\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.wedo-box h4 {\\r\\n text-align: center;\\r\\n line-height: 36px;\\r\\n font-size: 1.5rem;\\r\\n color: #000;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.category-items {\\r\\n padding: 10% 0 2% 0;\\r\\n background-color: #fff;\\r\\n margin-bottom: 30px;\\r\\n min-height: 430px;\\r\\n}\\r\\n\\r\\n.category-items img {\\r\\n max-width: 100px;\\r\\n /* margin-bottom: 30px; */\\r\\n}\\r\\n\\r\\n.category-items p {\\r\\n font-size: 2rem;\\r\\n color: #000;\\r\\n line-height: 54px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.primary-care {\\r\\n background-image: url('primary-care.png');\\r\\n background-repeat: no-repeat;\\r\\n background-position: right;\\r\\n height: 530px;\\r\\n background-size: 70%;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin: 60px 0;\\r\\n transition: 0.3s;\\r\\n}\\r\\n\\r\\n.primary-care:hover {\\r\\n -webkit-transform: translateY(-5px);\\r\\n transform: translateY(-5px);\\r\\n box-shadow: 0 2rem 1.2rem -1.2rem rgb(33 37 41 / 20%), 0 0 0.5rem 0rem rgb(33 37 41 / 5%) !important;\\r\\n}\\r\\n\\r\\n.primary-left {\\r\\n background-image: url('teleHealth-small.png');\\r\\n background-repeat: no-repeat;\\r\\n background-position: left;\\r\\n}\\r\\n\\r\\n.primary-left .inside-box {\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n.mental-health {\\r\\n background-image: url('mental-health.png');\\r\\n background-repeat: no-repeat;\\r\\n background-position: right;\\r\\n}\\r\\n\\r\\n.bill-claim {\\r\\n background-image: url('claim-bills.jpg');\\r\\n background-repeat: no-repeat;\\r\\n background-position: left;\\r\\n}\\r\\n\\r\\n.inside-box {\\r\\n background: #fff;\\r\\n max-width: 600px;\\r\\n padding: 30px 0px 30px 30px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.inside-box p {\\r\\n border-right: 6px solid #01385f;\\r\\n padding-right: 20px;\\r\\n}\\r\\n\\r\\n.inside-box h2,\\r\\n.inside-box a {\\r\\n color: #01385f;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\nsection.prime-care-box {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.secure-categories .section-heading {\\r\\n text-align: center;\\r\\n color: #2F2660;\\r\\n margin: 15px 5px;\\r\\n font-weight: 600;\\r\\n font-size: 1.5rem;\\r\\n}\\r\\n\\r\\n.category-items p {\\r\\n font-size: 1.2rem;\\r\\n color: #000;\\r\\n line-height: 27px;\\r\\n font-weight: 500;\\r\\n padding: 0 12px;\\r\\n}\\r\\n\\r\\nsection.secure-categories {\\r\\n padding: 40px 0;\\r\\n}\\r\\n\\r\\n.how_works_section {\\r\\n padding-top: 50px;\\r\\n padding-bottom: 100px;\\r\\n background: #F7FAFD;\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n .how_works_section {\\r\\n padding-top: 60px;\\r\\n padding-bottom: 60px;\\r\\n }\\r\\n .whatwedo-content {\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n border-radius: 0;\\r\\n }\\r\\n}\\r\\n\\r\\n.how_works_section .single_place {\\r\\n background: #fff;\\r\\n border-radius: 5px;\\r\\n overflow: hidden;\\r\\n -webkit-transform: scale(1);\\r\\n transform: scale(1);\\r\\n transition: 0.3s ease-in-out;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place .thumb {\\r\\n position: relative;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place .thumb img {\\r\\n width: 100%;\\r\\n -webkit-transform: scale(1);\\r\\n transform: scale(1);\\r\\n transition: 0.3s;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place .place_info {\\r\\n padding: 27px 20px 25px 20px;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place .place_info h3 {\\r\\n font-size: 23px;\\r\\n font-weight: 500;\\r\\n color: #2f2660;\\r\\n margin-bottom: 10px;\\r\\n transition: 0.3s;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place .place_info p {\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n color: #7A838B;\\r\\n margin-top: 2px;\\r\\n margin-bottom: 7px;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place .place_info .rating_days span i {\\r\\n font-size: 12px;\\r\\n color: #FDAE5C;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place .place_info .rating_days span a {\\r\\n font-size: 14px;\\r\\n color: #7A838B;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place:hover .thumb img {\\r\\n -webkit-transform: scale(1);\\r\\n transform: scale(1.1);\\r\\n}\\r\\n\\r\\n.how_works_section .single_place:hover .place_info h3 {\\r\\n color: #01385f !important\\r\\n}\\r\\n\\r\\n/* new css added */\\r\\n\\r\\n.grid {\\r\\n position: relative;\\r\\n padding: 0.5em 0 0em;\\r\\n max-width: 1000px;\\r\\n list-style: none;\\r\\n text-align: center;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.grid figure {\\r\\n position: relative;\\r\\n float: left;\\r\\n overflow: hidden;\\r\\n margin: 10px 4.3% 2% 0%;\\r\\n min-width: 340px;\\r\\n max-width: 480px;\\r\\n max-height: 330px;\\r\\n width: 32%;\\r\\n background: #3085a3;\\r\\n text-align: center;\\r\\n border-radius: 5px;\\r\\n}\\r\\n\\r\\n.grid figure img {\\r\\n position: relative;\\r\\n display: block;\\r\\n min-height: 100%;\\r\\n max-width: 100%;\\r\\n opacity: 0.8;\\r\\n}\\r\\n\\r\\n.grid figure figcaption {\\r\\n padding: 2em;\\r\\n color: #fff;\\r\\n text-transform: uppercase;\\r\\n font-size: 1.25em;\\r\\n -webkit-backface-visibility: hidden;\\r\\n backface-visibility: hidden;\\r\\n}\\r\\n\\r\\n.grid figure figcaption::before,\\r\\n.grid figure figcaption::after {\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.grid figure figcaption,\\r\\n.grid figure figcaption>a {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n cursor: default;\\r\\n}\\r\\n\\r\\n.grid figure figcaption>a {\\r\\n z-index: 1000;\\r\\n text-indent: 200%;\\r\\n white-space: nowrap;\\r\\n font-size: 0;\\r\\n opacity: 0;\\r\\n cursor: default;\\r\\n}\\r\\n\\r\\n.grid figure h2 {\\r\\n word-spacing: -0.15em;\\r\\n font-weight: 300;\\r\\n font-size: 1.5rem;\\r\\n}\\r\\n\\r\\n.grid figure h2 span {\\r\\n font-weight: 800;\\r\\n}\\r\\n\\r\\n.grid figure h2,\\r\\n.grid figure p {\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.grid figure p {\\r\\n letter-spacing: 1px;\\r\\n font-size: 68.5%;\\r\\n}\\r\\n\\r\\nfigure.effect-feature img {\\r\\n max-width: none;\\r\\n width: calc(100% + 50px);\\r\\n opacity: 0.5;\\r\\n transition: opacity 0.35s, -webkit-transform 0.35s;\\r\\n transition: opacity 0.35s, transform 0.35s;\\r\\n transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;\\r\\n -webkit-transform: translate3d(-40px, 0, 0);\\r\\n transform: translate3d(-40px, 0, 0);\\r\\n}\\r\\n\\r\\nfigure.effect-feature figcaption {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\nfigure.effect-feature figcaption>div {\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n padding: 0 15px;\\r\\n width: 100%;\\r\\n height: 50%;\\r\\n}\\r\\n\\r\\nfigure.effect-feature h2,\\r\\nfigure.effect-feature p {\\r\\n -webkit-transform: translate3d(0, 40px, 0);\\r\\n transform: translate3d(0, 40px, 0);\\r\\n}\\r\\n\\r\\nfigure.effect-feature h2 {\\r\\n transition: -webkit-transform 0.35s;\\r\\n transition: transform 0.35s;\\r\\n transition: transform 0.35s, -webkit-transform 0.35s;\\r\\n}\\r\\n\\r\\nfigure.effect-feature p {\\r\\n color: rgba(255, 255, 255, 0.8);\\r\\n opacity: 0;\\r\\n transition: opacity 0.2s, -webkit-transform 0.35s;\\r\\n transition: opacity 0.2s, transform 0.35s;\\r\\n transition: opacity 0.2s, transform 0.35s, -webkit-transform 0.35s;\\r\\n}\\r\\n\\r\\nfigure.effect-feature:hover img {\\r\\n opacity: .8;\\r\\n}\\r\\n\\r\\nfigure.effect-feature:hover p {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\nfigure.effect-feature:hover img,\\r\\nfigure.effect-feature:hover h2,\\r\\nfigure.effect-feature:hover p {\\r\\n -webkit-transform: translate3d(0, 0, 0);\\r\\n transform: translate3d(0, 0, 0);\\r\\n}\\r\\n\\r\\nfigure.effect-feature:hover h2 {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\nfigure.effect-feature:hover p {\\r\\n transition-delay: 0.05s;\\r\\n transition-duration: 0.35s;\\r\\n}\\r\\n\\r\\n@media (max-width:575px) {\\r\\n .whatwedo-content h2 {\\r\\n font-size: 2rem;\\r\\n }\\r\\n .whatwedo-content {\\r\\n padding: 20px 0;\\r\\n }\\r\\n .wedo-banner {\\r\\n height: 400px;\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n .wedo-box h4,\\r\\n .category-items p {\\r\\n font-size: 1.2rem;\\r\\n line-height: 34px;\\r\\n }\\r\\n section.blue-line h2,\\r\\n section.blue-line a {\\r\\n font-size: 1.3rem;\\r\\n }\\r\\n section.blue-line {\\r\\n padding: 20px 0;\\r\\n }\\r\\n .category-items {\\r\\n -webkit-transform: none;\\r\\n transform: none;\\r\\n }\\r\\n .primary-care {\\r\\n height: 530px;\\r\\n background-size: cover;\\r\\n margin: 30px 0;\\r\\n }\\r\\n section.prime-care-box {\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n .grid {\\r\\n display: block;\\r\\n }\\r\\n .grid figure {\\r\\n min-width: auto;\\r\\n max-width: initial;\\r\\n width: 100%;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Top Rated Secure and Easy Telehealth Solutions

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

Why to use Corvus?

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

Developed using the latest technologies and security compliances Corvus is a SaaS based solution which can be customized to match your offerings. Integrate with third party software, medical devices (IoT) and EHR’s and manage activities\\r\\n and reports, all through the provider dashboard. Create a unified experience through web or mobile based experience for improved outcomes and patient engagement.\\r\\n

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

TeleHealth has recently partnered with 200+ new doctors. \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"saas\\\"\\r\\n
\\r\\n
\\r\\n

SaaS-based Architecture

\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"search\\\"\\r\\n
\\r\\n
\\r\\n

{{\\\"advanced\\\" | translate}} {{\\\"search\\\" | translate}} Features

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"booking\\\"\\r\\n
\\r\\n
\\r\\n

{{\\\"appointment\\\" | translate}} Booking & Scheduling

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"vedio\\\"\\r\\n
\\r\\n
\\r\\n

Video {{\\\"consultation\\\" | translate }}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"soap\\\"\\r\\n
\\r\\n
\\r\\n

Dynamic {{\\\"soap\\\"|translate}} {{\\\"notes\\\" | translate}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"healthcare\\\"\\r\\n
\\r\\n
\\r\\n

Healthcare System Integration

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"eprescription\\\"\\r\\n
\\r\\n
\\r\\n

{{\\\"e-_prescription\\\" | translate}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Symptom\\\"\\r\\n
\\r\\n
\\r\\n

Symptom Checker

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"portal\\\"\\r\\n
\\r\\n
\\r\\n

{{\\\"advanced\\\" | translate}} {{\\\"provider\\\"| translate}} Portal

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

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

We provide our patients with a high level of confidentiality. \\r\\n \\r\\n

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

Health Risk Assessment

\\r\\n

Detect care gaps, health risks and health scores for chronic diseases. Intelligently assess risks through AI, chatbots (virtual coaches), cusotm algorithms, symtom checker, dynamic assessment forms, care plan and health records\\r\\n analysis.\\r\\n

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

Remote Monitoring

\\r\\n

The integration of medical devices such as stethoscope, ophthalmoscope, dermatoscope, otoscope, etc. and wearables from Apple, Samsung, Google health provides real-time data and help in health monitoring, disease detection and\\r\\n prevention.\\r\\n

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

Clinical Workflow Management

\\r\\n

Integrate your telehealth platform with EHR/EMR, pharmacies and labs for an effective communication for better patient outcomes. Benefit from interoperability, healthcare analytical engine, waiting room solutions, CDSS, dynamic\\r\\n reporting.\\r\\n

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

Billing and Claim Processing

\\r\\n

HIPAA compliant solutions to help mitigate audit risks and aceelearate cash flow through optimizing claim processing & reimbursements, charge capture, document management, claim scrubbing, denial management, claim adjudication.

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

How It Works for You

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"1\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n

Product Understanding

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

Consultation on the product features, costing and tentative timelines.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"2\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n

Designing & Customization

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

Add-ons and design changes. Use of project management tools, daily progress update, biweekly releases.

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"3\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n

Resource/ Team Alignment

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

Identification of right team with right skillset. Detailed project plan, schedules and timelines.

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"4\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n

Application Testing & Deployment

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

Bugs reporting and fixing, regression testing, application deployment on servers. Post deployment support

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","\r\nimport { AfterViewInit, Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-what-we-do\",\r\n templateUrl: \"./what-we-do.component.html\",\r\n styleUrls: [\"./what-we-do.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class WhatWeDoComponent implements OnInit{\r\n \r\n ngOnInit() {}\r\n}\r\n","import { Observable, Subject } from \"rxjs\";\r\nimport { environment } from \"../environments/environment\";\r\nimport { HubConnectionBuilder, LogLevel } from \"@microsoft/signalr\";\r\n\r\nexport class HubConnection {\r\n hubConnection: any;\r\n private notificationSubject = new Subject();\r\n hubConnectionnotification: any;\r\n\r\n constructor() {\r\n //this.hubConnection = new HubConnection();\r\n this.createHubConnection = this.createHubConnection.bind(this);\r\n }\r\n\r\n createHubConnection = (access_token) => {\r\n this.hubConnection = new HubConnectionBuilder()\r\n .withUrl(`${environment.api_url}/chathub`, {\r\n accessTokenFactory: () => access_token,\r\n })\r\n .configureLogging(LogLevel.Error)\r\n .build();\r\n this.hubConnection.serverTimeoutInMilliseconds = 600000; // 10 minutes\r\n\r\n return this.hubConnection.start().then(() => {\r\n // console.log('Connection started. Connection ID:', this.hubConnection.connectionId);\r\n }).catch(err => \r\n // console.error('Error while starting connection: ', err)\r\n {});\r\n };\r\n\r\n startHubConnectionForNotification() {\r\n this.hubConnectionnotification = new HubConnectionBuilder()\r\n .withUrl(`${environment.api_url}/notificationHub`)\r\n .configureLogging(LogLevel.Error)\r\n .build();\r\n\r\n this.hubConnectionnotification.serverTimeoutInMilliseconds = 6000000;\r\n this.hubConnectionnotification\r\n .start()\r\n .then(() =>\r\n // console.log('SignalR connection established for notification')\r\n { }\r\n )\r\n .catch(err =>\r\n // console.error('Error while establishing SignalR connection: ', err)\r\n {}\r\n );\r\n\r\n this.hubConnectionnotification.on('ReceiveNotification', (message: any) => {\r\n this.notificationSubject.next(message);\r\n });\r\n }\r\n\r\n getNotificationListener(): Observable {\r\n return this.notificationSubject.asObservable();\r\n }\r\n\r\n getHubConnection() {\r\n // console.log(this.hubConnection);\r\n return this.hubConnection;\r\n }\r\n\r\n restartHubConnection() {\r\n let self = this;\r\n return new Promise((resolve, reject) => {\r\n if (self.isDisconnected()) {\r\n self.hubConnection\r\n .start()\r\n .then((hubConnection) => {\r\n resolve(hubConnection);\r\n })\r\n .catch((err) => {\r\n // console.log(\"signalr Error\", err);\r\n reject(err);\r\n });\r\n }\r\n });\r\n }\r\n // getHandler() {\r\n // return this.sb;\r\n // }\r\n\r\n isConnected() {\r\n return (\r\n this.hubConnection && this.hubConnection.connectionState === \"Connected\"\r\n );\r\n }\r\n\r\n isDisconnected() {\r\n return (\r\n this.hubConnection && this.hubConnection.connectionState === \"Disconnected\"\r\n );\r\n }\r\n\r\n // ConnectToServerWithUserId(userId) {\r\n // return this.hubConnection.invoke('Connect', userId);\r\n // }\r\n ConnectToServerWithUserId(userId: number, roomId: number) {\r\n var room = this.hubConnection.invoke(\"Connect\", userId, roomId);\r\n\r\n return room;\r\n }\r\n ConnectWithAccessToken() {\r\n var room = this.hubConnection.invoke(\"ConnectWithAccessToken\");\r\n return room;\r\n }\r\n ConnectWithBussinessToken(userId: number) {\r\n var room = this.hubConnection.invoke(\"ConnectWithBussinessToken\", userId);\r\n return room;\r\n }\r\n}\r\n","module.exports = \".box-heading{\\r\\n color: #2F2660;\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n margin: 18px 20px 20px 0;\\r\\n padding: 0;\\r\\n text-align: left;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\n.additem {\\r\\n top: -5px !important;\\r\\n}\\r\\n\\r\\n.payment-blk .btn-danger{\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.payment-blk .btn-primary {\\r\\n background-color: #00486f;\\r\\n border-color: #00486f;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.danger-btn {\\r\\n min-width: 105px;\\r\\n}\\r\\n\\r\\n.primary-btn {\\r\\n min-width: 105px;\\r\\n}\\r\\n\\r\\n@media all and (max-width:767px) {\\r\\n .gap-5 {\\r\\n gap: 10px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media all and (max-width:575px) {\\r\\n .box-heading {\\r\\n font-size: 15px;\\r\\n }\\r\\n ::ng-deep .mat-checkbox-layout .mat-checkbox-label {\\r\\n line-height: 18px;\\r\\n white-space: normal;\\r\\n font-size: 14px;\\r\\n }\\r\\n .payment-blk .btn-primary {\\r\\n padding: 6px;\\r\\n }\\r\\n mat-error {\\r\\n font-size: 12px;\\r\\n }\\r\\n .gap-5 {\\r\\n gap: 5px;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n

{{ \\\"manage_fees_&_refund\\\" | translate }}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ role.role }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n

{{ \\\"fees\\\" | translate }}

\\r\\n \\r\\n \\r\\n {{ \\\"set_urgent_care_fees\\\" | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"f2f_fees\\\" | translate }} (JOD)\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_F2F_Fees\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ \\\"f2f_Commission\\\" | translate }} (%)\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_F2F_Booking_Commission\\\" | translate }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"online_fees\\\" | translate }} (JOD)\\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_Online_Fees\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"Online_Commission\\\" | translate }} (%)\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_Online_Booking_Commission\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"home_visit_fees\\\" | translate }} (JOD)\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_Home_Visit_Fees\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"Home_Visit_Commission\\\" | translate }} (%)\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_Home_Visit_Booking_Commission\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\r\\n \\\"set_urgent_care_fees\\\" | translate\\r\\n }}\\r\\n (JOD)\\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_urgent_care_Fees\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"UrgentcareBookingCommission\\\" | translate }} (%)\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_UrgentcareBookingCommission\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n {{ \\\"cancellation_policy\\\" | translate }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"upto_hours\\\" | translate }}\\r\\n \\r\\n \\r\\n {{ hour + (\\\"Hours\\\"|translate) }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ \\\"refund_percentage\\\" | translate }}\\r\\n \\r\\n \\r\\n {{ rp + \\\"%\\\" }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\r\\n \\\"no_refund_in_case_cancellation_policy_is_not_set\\\"\\r\\n | translate\\r\\n }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n {{ \\\"Follow-Up_fees_for_Face_to_Face\\\" | translate }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"follow_up_fees\\\" | translate }} (JOD)\\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_Follow-Up_Fees\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"upto_days\\\" | translate }}\\r\\n \\r\\n \\r\\n {{ day + \\\" \\\" }}\\r\\n {{ day > 1 ? (\\\"Days\\\"|translate) : (\\\"day\\\" | translate) }}\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_Days\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"Follow_up_f2f_Booking_Commission\\\" | translate }} (%)\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_Follow_up_Booking_Commission\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n {{ \\\"Please_enter_Follow-Up_Fees\\\" | translate }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"follow_up_fees\\\" | translate }} (JOD)\\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_Follow-Up_Fees\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"upto_days\\\" | translate }}\\r\\n \\r\\n \\r\\n {{ day + \\\" \\\" }}\\r\\n {{ day > 1 ? (\\\"Days\\\"|translate) : (\\\"day\\\" | translate) }}\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_Days\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"Follow_up_Online_Booking_Commission\\\" | translate }} (%)\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_Follow_up_Booking_Commission\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n {{ \\\"Follow-Up_fees_for_Home_Visit\\\" | translate }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"follow_up_fees\\\" | translate }} (JOD)\\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_Follow-Up_Fees\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"upto_days\\\" | translate }}\\r\\n \\r\\n \\r\\n {{ day + \\\" \\\" }}\\r\\n {{ day > 1 ? (\\\"Days\\\"|translate) : (\\\"day\\\" | translate) }}\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_Days\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"Follow_up_Home_visit_Booking_Commission\\\" | translate }} (%)\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Please_enter_Follow_up_Booking_Commission\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\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 { PaymentService } from \"./../payment.service\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { UserModel } from \"../../users/users.model\";\r\nimport { FormArray, FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport Swal from \"sweetalert2\";\r\nimport { BookingCommissions, CancelationRule, ManageFeesRefundsModel } from \"../payment.models\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { LoggedInUserModel } from \"../../../core/modals/loginUser.modal\";\r\nimport { UsersService } from \"../../users/users.service\";\r\nimport { DatePipe, Location } from \"@angular/common\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { GetAllStaffBookingCommissionRequestModel } from \"../../../core/modals/common-model\";\r\nimport { MatDatepickerInputEvent } from \"@angular/material\";\r\nimport { debounceTime, distinctUntilChanged } from \"rxjs/operators\";\r\nimport { Metadata } from \"../../../client-portal/client-profile.model\";\r\n\r\n@Component({\r\n selector: \"app-manage-fees-refunds\",\r\n templateUrl: \"./manage-fees-refunds.component.html\",\r\n styleUrls: [\"./manage-fees-refunds.component.css\"],\r\n})\r\nexport class ManageFeesRefundsComponent implements OnInit {\r\n usersData: UserModel[];\r\n paymentFormGroup: FormGroup;\r\n BookingCommissionForm: FormGroup;\r\n hoursList: number[];\r\n refundPercentagesList: number[];\r\n submitted = false;\r\n manageFeesRefundsData: ManageFeesRefundsModel;\r\n daysNumbersList: number[];\r\n isAdminUser = false;\r\n isApprove: boolean;\r\n loggedInUserModel: LoggedInUserModel;\r\n isSubmitted = false;\r\n showurgentcarefees: boolean = false;\r\n UserRole: any;\r\n constructor(\r\n private paymentService: PaymentService,\r\n private userService: UsersService,\r\n private formBuilder: FormBuilder,\r\n private notifier: NotifierService,\r\n private location: Location,\r\n private datePipe: DatePipe,\r\n private commonService: CommonService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.usersData = new Array();\r\n this.hoursList = [2, 4, 6, 12, 24, 48];\r\n this.refundPercentagesList = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100];\r\n this.daysNumbersList = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1];\r\n }\r\n isAdmin: boolean = false\r\n ngOnInit(): void {\r\n this.UserRole = localStorage.getItem(\"UserRole\")\r\n this.createForm(null);\r\n this.checkLoggedinUser();\r\n this.CreateBookingCommissionForm()\r\n\r\n this.GetAllStaffBookingCommission()\r\n\r\n this.FilterFormGroup.controls.staffName.valueChanges\r\n .pipe(\r\n debounceTime(500),\r\n distinctUntilChanged()\r\n )\r\n .subscribe(value => {\r\n this.applyFilter()\r\n })\r\n\r\n }\r\n\r\n createForm(providers: number) {\r\n this.paymentFormGroup = this.formBuilder.group({\r\n providers: [providers ? providers : undefined, Validators.required],\r\n f2fFee: [undefined, Validators.required],\r\n newOnlineFee: [undefined, Validators.required],\r\n homevisitFee: [undefined, Validators.required],\r\n cancelationRules: this.formBuilder.array([]),\r\n folowupFees: [undefined, Validators.required],\r\n folowupDays: [undefined, Validators.required],\r\n urgentcareFee: [undefined],\r\n\r\n ftfFollowUpPayRate: [undefined, Validators.required],\r\n ftfFollowUpDays: [undefined, Validators.required],\r\n homeVisitFollowUpPayRate: [undefined, Validators.required],\r\n homeVisitFollowUpDays: [undefined, Validators.required]\r\n });\r\n //addCancelationRuleControl(null);\r\n }\r\n\r\n CreateBookingCommissionForm() {\r\n this.BookingCommissionForm = this.formBuilder.group({\r\n f2FBookingCommission: [undefined, this.isAdmin ? Validators.required : ''],\r\n onlineBookingCommission: [undefined, this.isAdmin ? Validators.required : \"\"],\r\n homeVisitBookingCommission: [undefined, this.isAdmin ? Validators.required : ''],\r\n followUpF2FBookingCommission: [undefined, this.isAdmin ? Validators.required : ''],\r\n followUpOnlineBookingCommission: [undefined, this.isAdmin ? Validators.required : ''],\r\n followUpHomeVisitBookingCommission: [undefined, this.isAdmin ? Validators.required : ''],\r\n urgentcareBookingCommission: [undefined, this.isAdmin ? Validators.required : '']\r\n });\r\n }\r\n get CommissionFormControl() {\r\n return this.BookingCommissionForm.controls;\r\n }\r\n\r\n checkLoggedinUser() {\r\n this.paymentService.getUserRole().subscribe((response: any) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.loggedInUserModel = response.data;\r\n this.getStaffProfileData();\r\n // this.createForm([this.loggedInUserModel.staffId]);\r\n this.createForm(this.loggedInUserModel.staffId);\r\n this.GetStaffBookingCommission(this.loggedInUserModel.staffId)\r\n this.getProvidersFeesAndRefundsSettings(\r\n this.loggedInUserModel.staffId\r\n );\r\n this.isAdmin = false\r\n this.ShowTable = false\r\n } else if (this.UserRole != \"PROVIDER\") {\r\n this.createForm(null);\r\n // this.getProviders();\r\n this.isAdmin = true\r\n this.ShowTable = true\r\n }\r\n });\r\n }\r\n GetStaffBookingCommission(StaffId: any) {\r\n this.paymentService.GetStaffBookingCommission(StaffId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.CommissionFormControl.f2FBookingCommission.setValue(res.data.f2FBookingCommission)\r\n this.CommissionFormControl.onlineBookingCommission.setValue(res.data.onlineBookingCommission)\r\n this.CommissionFormControl.homeVisitBookingCommission.setValue(res.data.homeVisitBookingCommission)\r\n this.CommissionFormControl.followUpF2FBookingCommission.setValue(res.data.followUpF2FBookingCommission)\r\n this.CommissionFormControl.followUpOnlineBookingCommission.setValue(res.data.followUpOnlineBookingCommission)\r\n this.CommissionFormControl.followUpHomeVisitBookingCommission.setValue(res.data.followUpHomeVisitBookingCommission)\r\n this.CommissionFormControl.urgentcareBookingCommission.setValue(res.data.urgentCareBookingCommission)\r\n\r\n } else {\r\n this.CommissionFormControl.f2FBookingCommission.setValue(undefined)\r\n this.CommissionFormControl.onlineBookingCommission.setValue(undefined)\r\n this.CommissionFormControl.homeVisitBookingCommission.setValue(undefined)\r\n this.CommissionFormControl.followUpF2FBookingCommission.setValue(undefined)\r\n this.CommissionFormControl.followUpOnlineBookingCommission.setValue(undefined)\r\n this.CommissionFormControl.followUpHomeVisitBookingCommission.setValue(undefined)\r\n this.CommissionFormControl.urgentcareBookingCommission.setValue(undefined)\r\n }\r\n\r\n })\r\n }\r\n getStaffProfileData() {\r\n this.userService\r\n .getStaffProfileData(this.loggedInUserModel.staffId)\r\n .subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.isApprove = response.data.isApprove;\r\n if (!response.data.isApprove) {\r\n this.notifier.notify('error', 'You are not authorized to add payment!');\r\n this.location.back();\r\n }\r\n }\r\n });\r\n }\r\n addCancelationRuleControl(rule: CancelationRule) {\r\n this.cancelationRulesFormGroup.push(this.getCancelationRulesForm(rule));\r\n }\r\n removeCancelationRuleControl(i) {\r\n this.cancelationRulesFormGroup.removeAt(i);\r\n }\r\n\r\n get cancelationRulesFormGroup() {\r\n return this.paymentFormGroup.controls[\"cancelationRules\"];\r\n }\r\n\r\n private getCancelationRulesForm(rule: CancelationRule) {\r\n return this.formBuilder.group({\r\n uptoHours: [\r\n rule ? rule.refundPercentage : undefined,\r\n [Validators.required],\r\n ],\r\n refundPercentage: [\r\n rule ? rule.refundPercentage : undefined,\r\n [Validators.required],\r\n ],\r\n });\r\n }\r\n\r\n bindForm(model: ManageFeesRefundsModel) {\r\n if (model && model.cancelationRules && model.cancelationRules.length > 0) {\r\n model.cancelationRules.forEach((rule) => {\r\n const toAdd: CancelationRule = {\r\n refundPercentage: rule.refundPercentage,\r\n uptoHours: rule.uptoHours,\r\n };\r\n if (!this.hoursList.includes(rule.refundPercentage)) {\r\n this.refundPercentagesList.push(rule.refundPercentage);\r\n this.refundPercentagesList.sort((a, b) => b - a);\r\n }\r\n if (!this.hoursList.includes(rule.uptoHours)) {\r\n this.hoursList.push(rule.uptoHours);\r\n this.hoursList.sort((a, b) => b - a);\r\n }\r\n this.addCancelationRuleControl(toAdd);\r\n });\r\n }\r\n // else {\r\n // this.addCancelationRuleControl(null);\r\n // }\r\n\r\n if (!this.daysNumbersList.includes(model.folowupDays)) {\r\n this.daysNumbersList.push(model.folowupDays);\r\n this.daysNumbersList.sort((a, b) => b - a);\r\n }\r\n\r\n if (!this.daysNumbersList.includes(model.ftfFollowUpDays)) {\r\n this.daysNumbersList.push(model.ftfFollowUpDays);\r\n this.daysNumbersList.sort((a, b) => b - a);\r\n }\r\n\r\n if (!this.daysNumbersList.includes(model.homeVisitFollowUpDays)) {\r\n this.daysNumbersList.push(model.homeVisitFollowUpDays);\r\n this.daysNumbersList.sort((a, b) => b - a);\r\n }\r\n\r\n this.paymentFormGroup.patchValue(model);\r\n this.f.providers.setValue(model.providers[0])\r\n }\r\n\r\n get f() {\r\n return this.paymentFormGroup.controls;\r\n }\r\n\r\n getProviders() {\r\n this.paymentService.getProviders().subscribe((response) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.usersData = response.data;\r\n }\r\n });\r\n }\r\n\r\n onProviderDropDownClose(value) {\r\n if (!value) {\r\n // on dropdown close\r\n const provindersIds = this.f.providers.value;\r\n // if (provindersIds && provindersIds.length > 0) {\r\n if (provindersIds) {\r\n this.getProvidersFeesAndRefundsSettings(provindersIds);\r\n this.GetStaffBookingCommission(provindersIds)\r\n }\r\n }\r\n }\r\n\r\n private getProvidersFeesAndRefundsSettings(provindersIds: number) {\r\n var ArrayOfId = []\r\n ArrayOfId.push(provindersIds)\r\n this.paymentService\r\n .getProvidersFeesAndRefundsSettings(ArrayOfId)\r\n .subscribe((response) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.createForm(\r\n this.UserRole != \"PROVIDER\" ? null : this.loggedInUserModel.staffId\r\n );\r\n if (this.UserRole == \"PROVIDER\" && response.data.length > 1) {\r\n this.notifier.notify(\r\n \"warning\",\r\n \"Displaying only first practitioner's data\"\r\n );\r\n }\r\n if (response.data && response.data.length > 0) {\r\n this.bindForm(response.data[0]);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private updateProvidersFeesAndRefundsSettings(model: ManageFeesRefundsModel) {\r\n this.submitted = true;\r\n if (this.isAdmin) {\r\n var BookingCommissions: BookingCommissions = {\r\n F2FBookingCommission: this.BookingCommissionForm.value.f2FBookingCommission,\r\n OnlineBookingCommission: this.BookingCommissionForm.value.onlineBookingCommission,\r\n HomeVisitBookingCommission: this.BookingCommissionForm.value.homeVisitBookingCommission,\r\n FollowUpF2FBookingCommission: this.BookingCommissionForm.value.followUpF2FBookingCommission,\r\n FollowUpOnlineBookingCommission: this.BookingCommissionForm.value.followUpOnlineBookingCommission,\r\n FollowUpHomeVisitBookingCommission: this.BookingCommissionForm.value.followUpHomeVisitBookingCommission,\r\n UrgentCareBookingCommission: this.BookingCommissionForm.value.urgentcareBookingCommission\r\n }\r\n model.BookingCommissions = BookingCommissions\r\n } else {\r\n model.BookingCommissions = null\r\n }\r\n var ArrayOfId = []\r\n ArrayOfId.push(model.providers)\r\n model.providers = ArrayOfId\r\n this.paymentService\r\n .updateProvidersFeesAndRefundsSettings(model)\r\n .subscribe((response) => {\r\n if (response != null && response.statusCode == 200) {\r\n if (this.isAdmin) {\r\n this.TableToggle()\r\n this.applyFilter()\r\n }\r\n this.notifier.notify(\"success\", \"Updated Successfully\");\r\n }\r\n this.submitted = false;\r\n this.isSubmitted = false;\r\n });\r\n }\r\n\r\n onF2fFeeChange(value) {\r\n if (value && value != 0 && value != \"0\") {\r\n if (value.length == 1) {\r\n value = 0 + value;\r\n }\r\n value = Number(value);\r\n this.f.newOnlineFee.setValue(value * 0.7);\r\n this.f.ftfFollowUpPayRate.setValue(value * 0.7);\r\n }\r\n }\r\n onnewOnlineFeeChangeForfollowup(value) {\r\n if (value && value != 0 && value != \"0\") {\r\n if (value.length == 1) {\r\n value = 0 + value;\r\n }\r\n value = Number(value);\r\n this.f.folowupFees.setValue(value * 0.7);\r\n }\r\n }\r\n onHomeVisitFeeChangeForfollowup(value) {\r\n if (value && value != 0 && value != \"0\") {\r\n if (value.length == 1) {\r\n value = 0 + value;\r\n }\r\n value = Number(value);\r\n this.f.homeVisitFollowUpPayRate.setValue(value * 0.6);\r\n }\r\n }\r\n\r\n private markFormGroupTouched(formGroup: FormGroup) {\r\n (Object).values(formGroup.controls).forEach((control) => {\r\n control.markAsTouched();\r\n\r\n if (control.controls) {\r\n this.markFormGroupTouched(control);\r\n }\r\n });\r\n }\r\n\r\n addMoreHourOption() {\r\n Swal({\r\n title: \"Enter New Hour Option\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Add\",\r\n cancelButtonText: \"Cancel\",\r\n input: \"number\",\r\n cancelButtonClass: \"cancel-btn-alet\",\r\n confirmButtonClass: \"cnfm-btn-alrt\",\r\n preConfirm: (value) => {\r\n if (!value) {\r\n Swal.showValidationMessage(\"Enter value\");\r\n } else if (value % 2 != 0) {\r\n Swal.showValidationMessage(\"Only 2-Miltiple is allowed\");\r\n }\r\n },\r\n }).then((result) => {\r\n if (result.value && result.value % 2 == 0) {\r\n if (!this.hoursList.includes(result.value)) {\r\n this.hoursList.push(result.value);\r\n this.hoursList.sort((a, b) => b - a);\r\n }\r\n }\r\n });\r\n }\r\n\r\n addMoreRefundPercentageOption() {\r\n Swal({\r\n title: \"Enter New Refund % Option\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Add\",\r\n cancelButtonText: \"Cancel\",\r\n input: \"number\",\r\n cancelButtonClass: \"cancel-btn-alet\",\r\n confirmButtonClass: \"cnfm-btn-alrt\",\r\n preConfirm: (value) => {\r\n if (!value) {\r\n Swal.showValidationMessage(\"Enter value\");\r\n } else if (value % 2 != 0) {\r\n Swal.showValidationMessage(\"Only 2-Miltiple is allowed\");\r\n }\r\n },\r\n }).then((result) => {\r\n if (result.value) {\r\n if (!this.refundPercentagesList.includes(result.value)) {\r\n this.refundPercentagesList.push(result.value);\r\n this.refundPercentagesList.sort((a, b) => b - a);\r\n }\r\n }\r\n });\r\n }\r\n\r\n addMoreFollowUpDaysOption() {\r\n Swal({\r\n title: \"Enter New Followup days Option\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Add\",\r\n cancelButtonText: \"Cancel\",\r\n input: \"number\",\r\n cancelButtonClass: \"cancel-btn-alet\",\r\n confirmButtonClass: \"cnfm-btn-alrt\",\r\n preConfirm: (value) => {\r\n if (!value) {\r\n Swal.showValidationMessage(\"Enter value\");\r\n }\r\n },\r\n }).then((result) => {\r\n if (result.value) {\r\n if (!this.daysNumbersList.includes(result.value)) {\r\n this.daysNumbersList.push(result.value);\r\n this.daysNumbersList.sort((a, b) => b - a);\r\n }\r\n }\r\n });\r\n }\r\n\r\n onSubmit() {\r\n if (this.UserRole == \"PROVIDER\") {\r\n this.f.providers.setValue(this.loggedInUserModel.staffId);\r\n }\r\n this.markFormGroupTouched(this.paymentFormGroup);\r\n if (this.paymentFormGroup.invalid) {\r\n if (this.isAdmin) {\r\n if (this.BookingCommissionForm.invalid) {\r\n return;\r\n }\r\n } else {\r\n return;\r\n }\r\n }\r\n const model = this.paymentFormGroup.value;\r\n\r\n if (!this.checkIfDuplicateHours(model)) {\r\n this.updateProvidersFeesAndRefundsSettings(model);\r\n } else {\r\n this.notifier.notify(\"error\", \"Duplicate hours in cancellation rules\");\r\n }\r\n }\r\n\r\n checkIfDuplicateHours(model: ManageFeesRefundsModel): boolean {\r\n let isDuplicate = false;\r\n if (model && model.cancelationRules && model.cancelationRules.length > 1) {\r\n const values: number[] = [];\r\n model.cancelationRules.forEach((r) => {\r\n if (values.includes(r.uptoHours)) {\r\n isDuplicate = true;\r\n return isDuplicate;\r\n } else {\r\n values.push(r.uptoHours);\r\n }\r\n });\r\n } else {\r\n return isDuplicate;\r\n }\r\n return isDuplicate;\r\n }\r\n\r\n sortFunc(a, b) {\r\n return 1;\r\n }\r\n\r\n get isShowNoRefundTxt(): boolean {\r\n // if(this.cancelationRulesFormGroup.)\r\n return true;\r\n }\r\n checkboxchecked(event) {\r\n if (event.source.checked) {\r\n this.showurgentcarefees = true;\r\n } else {\r\n this.showurgentcarefees = false;\r\n }\r\n }\r\n\r\n // =====================tabel code here \r\n ShowTable: boolean = true\r\n filterModel: GetAllStaffBookingCommissionRequestModel = new GetAllStaffBookingCommissionRequestModel()\r\n displayedColumns: Array = [\r\n { displayName: \"staff_name\", key: \"staffName\", class: \"\", isSort: true, },\r\n { displayName: \"Role\", key: \"roleName\", class: \"\", isSort: false, },\r\n { displayName: \"f2f_Commission\", key: \"f2FBookingCommission\", class: \"\", isSort: true, },\r\n { displayName: \"Online_Commission\", key: \"onlineBookingCommission\", class: \"\", isSort: true, },\r\n { displayName: \"Home_Visit_Commission\", key: \"homeVisitBookingCommission\", class: \"\", isSort: true, },\r\n { displayName: \"TotalReferrals\", key: \"totalReferrals\", class: \"\", isSort: false, },\r\n { displayName: \"Total Online Visit\", key: \"totalOnlineVisit\", class: \"\", isSort: true, },\r\n { displayName: \"Total F2F\", key: \"totalF2F\", class: \"\", isSort: true, },\r\n { displayName: \"Total Home Visit\", key: \"totalHomeVisit\", class: \"\", isSort: true, },\r\n { displayName: \"Total New Visit\", key: \"totalNewVisit\", class: \"\", isSort: true, },\r\n { displayName: \"Total FollowUp\", key: \"totalFollowUp\", class: \"\", isSort: true, },\r\n { displayName: \"actions\", key: \"Actions\", class: \"\", width: \"15%\", }\r\n ];\r\n metaData: any;\r\n dataSource: Array = [];\r\n actionButtons = [\r\n { displayName: \"Edit\", key: \"edit\", class: \"fa fa-edit\" },\r\n // { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n //{ displayName: \"Delete\", key: \"delete\", class: \"fa fa-trash\" },\r\n ];\r\n\r\n UserRoles=[\r\n {role:\"Provider\"},\r\n { role:\"Lab\"},\r\n { role:\"Pharmacy\"},\r\n { role:\"Secretary\"},\r\n { role:\"All\"},\r\n ]\r\n \r\n FilterFormGroup = new FormBuilder().group({\r\n staffName: \"\",\r\n rangeStartDate: \"\",\r\n rangeEndDate: \"\",\r\n Role:\"All\"\r\n });\r\n get formControl() {\r\n return this.FilterFormGroup.controls;\r\n }\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n rangeStartDate: any,\r\n rangeEndDate: any,\r\n staffName: any,\r\n Role:any\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.SearchText = staffName\r\n this.filterModel.StaffEnrolledStartDate =\r\n rangeStartDate != null && rangeStartDate != \"\"\r\n ? this.datePipe.transform(new Date(rangeStartDate), \"MM/dd/yyyy\")\r\n : \"\";\r\n this.filterModel.StaffEnrolledEndDate =\r\n rangeEndDate != null && rangeEndDate != \"\"\r\n ? this.datePipe.transform(new Date(rangeEndDate), \"MM/dd/yyyy\")\r\n : \"\";\r\n this.filterModel.Role=Role\r\n\r\n }\r\n\r\n applyFilter() {\r\n this.setPaginatorModel(\r\n 1,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder,\r\n this.formControl.rangeStartDate.value,\r\n this.formControl.rangeEndDate.value,\r\n this.formControl.staffName.value,\r\n this.formControl.Role.value\r\n );\r\n\r\n this.GetAllStaffBookingCommission();\r\n }\r\n\r\n clearFilters() {\r\n this.filterModel.pageSize\r\n this.paymentFormGroup.reset();\r\n this.formControl.Role.setValue(\"All\")\r\n this.setPaginatorModel(\r\n 1,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder,\r\n \"\",\r\n \"\",\r\n \"\",\r\n null\r\n );\r\n this.GetAllStaffBookingCommission();\r\n }\r\n onPageOrSortChange(changeState?: any) {\r\n this.setPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order,\r\n this.formControl.rangeStartDate.value,\r\n this.formControl.rangeEndDate.value,\r\n this.formControl.staffName.value,\r\n this.formControl.Role.value\r\n );\r\n this.GetAllStaffBookingCommission();\r\n }\r\n applyEndDateFilter(event: MatDatepickerInputEvent) {\r\n this.formControl.rangeEndDate.setValue(new Date(event.value));\r\n this.applyFilter();\r\n }\r\n applyStartDateFilter(event: MatDatepickerInputEvent) {\r\n this.formControl.rangeStartDate.setValue(new Date(event.value));\r\n this.applyFilter();\r\n }\r\n\r\n GetAllStaffBookingCommission() {\r\n this.filterModel.Role == \"All\" ? this.filterModel.Role = null : this.filterModel.Role\r\n this.paymentService.GetAllStaffBookingCommission(this.filterModel).subscribe(response => {\r\n if (response != null && response.statusCode == 200) {\r\n this.metaData = response.meta\r\n\r\n\r\n this.dataSource = response.data;\r\n if (this.dataSource && this.dataSource.length > 0) {\r\n this.dataSource.forEach(element => {\r\n if (!('f2FBookingCommission' in element)) {\r\n element.f2FBookingCommission = \"-\"\r\n } else if ((element.f2FBookingCommission || \"-\") == \"-\") {\r\n element.f2FBookingCommission = (element.f2FBookingCommission) == null ? \"-\" : element.f2FBookingCommission\r\n }\r\n debugger\r\n if (!('homeVisitBookingCommission' in element)) {\r\n element.homeVisitBookingCommission = \"-\"\r\n } else if ((element.homeVisitBookingCommission || \"-\") == \"-\") {\r\n element.homeVisitBookingCommission = element.homeVisitBookingCommission == null ? \"-\" : element.homeVisitBookingCommission\r\n }\r\n if (!('onlineBookingCommission' in element)) {\r\n element.onlineBookingCommission = \"-\"\r\n } else if ((element.onlineBookingCommission || \"-\") == \"-\") {\r\n element.onlineBookingCommission == null ? \"-\" : element.onlineBookingCommission\r\n }\r\n\r\n });\r\n\r\n }\r\n } else {\r\n this.dataSource = [];\r\n this.metaData = new Metadata();\r\n }\r\n this.metaData.pageSizeOptions = [5, 10, 25, 50, 100];\r\n })\r\n }\r\n\r\n onTableActionClick(actionObj?: any) {\r\n if (actionObj.action && ((actionObj.action || \"\").toUpperCase()) == \"EDIT\") {\r\n this.f.providers.setValue(actionObj.data.staffId)\r\n this.getProvidersFeesAndRefundsSettings(actionObj.data.staffId);\r\n this.GetStaffBookingCommission(actionObj.data.staffId)\r\n this.TableToggle()\r\n }\r\n\r\n }\r\n TableToggle() {\r\n this.ShowTable = !this.ShowTable\r\n }\r\n export() {\r\n this.setPaginatorModel(\r\n 1,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder,\r\n this.formControl.rangeStartDate.value,\r\n this.formControl.rangeEndDate.value,\r\n this.formControl.staffName.value,\r\n this.formControl.Role.value\r\n );\r\n this.ExportAllStaffBookingCommission(this.filterModel)\r\n }\r\n\r\n exportingPdf: boolean = false;\r\n ExportAllStaffBookingCommission(filterModel: GetAllStaffBookingCommissionRequestModel) {\r\n this.exportingPdf = true;\r\n filterModel.Role == \"All\" ? filterModel.Role = null : filterModel.Role\r\n this.paymentService.ExportAllStaffBookingCommissionForSU(filterModel, this.metaData.totalRecords)\r\n .subscribe((response) => {\r\n this.exportingPdf = false;\r\n if (response != null)\r\n this.paymentService.downLoadFile(response, response.type, `Commission-Report-${Date.now()}`);\r\n else\r\n this.notifier.notify(\"error\", \"Internal server error while exporting the report\");\r\n });\r\n }\r\n}\r\n","import {\r\n GetAllStaffBookingCommissionRequestModel,\r\n PaymentFilterModel,\r\n PaymentFilterModelForAdmin,\r\n ProviderPaymentsFilterModel,\r\n ProviderPaymentTransactionFilterModel,\r\n ProviderSettlePayments,\r\n RefundAppointmenntModal,\r\n RefundFilterModel,\r\n RefundFilterModelForAdmin\r\n} from \"./../../core/modals/common-model\";\r\n\r\nimport { Observable } from \"rxjs\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ManageFeesRefundsModel } from \"./payment.models\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class PaymentService {\r\n private getPaymentUrl = \"AppointmentPayment/Payments\";\r\n private getPaymentUrlForAdmin = \"AppointmentPayment/GetAppointementPaymentListForAdmin\";\r\n private getRefundUrl = \"AppointmentPayment/Refunds\";\r\n private getRefundUrlForAdmin = \"AppointmentPayment/AppointmentRefundsForAdmin\";\r\n private getMasterDataURL = 'api/MasterData/MasterDataByName';\r\n private exportPaymentPdfURL = \"AppointmentPayment/GetPaymentPdf\";\r\n private getProvidersUrl = \"Staffs/GetProviders\";\r\n private getProvidersFeesAndRefundsSettingsUrl = 'api/Payment/GetProvidersFeesAndRefundsSettings';\r\n private updateProvidersFeesAndRefundsSettingsUrl = 'api/Payment/UpdateProvidersFeesAndRefundsSettings';\r\n private getLoggedinUserUrl = 'Staffs/GetLoggedinUserDetail';\r\n private exportPdfOfAppointementPaymentListForAdmin = \"AppointmentPayment/ExportPdfOfAppointementPaymentListForAdmin\";\r\n private exportPdfOfAppointmentRefundsForAdmin = \"AppointmentPayment/ExportPdfOfAppointmentRefundsForAdmin\";\r\n private GetAllProviderPaymentTotalsURL = \"api/AppointmentPatmentAdmin/GetAllProviderPaymentTotals\"\r\n private GetProviderAllPaymentTransactionUrl = \"api/AppointmentPatmentAdmin/GetProviderAllPaymentTransaction\"\r\n private GetStaffBookingCommissionUrl = \"api/Payment/GetStaffBookingCommission\"\r\n private AddProviderSettlePaymentsUrl = \"api/Payment/AddProviderSettledPayments\"\r\n private GetAllStaffBookingCommissionUrl = \"api/Payment/GetAllStaffBookingCommission\"\r\n private RefundAppointmentUrl = \"api/PatientAppointments/RefundAppointment\"\r\n private ExportProviderAllPaymentTransactionForSUUrl = \"api/AppointmentPatmentAdmin/ExportProviderAllPaymentTransactionForSU\"\r\n private GetPaymentStatusFromHyperPayUrl = \"api/AppointmentPatmentAdmin/GetPaymentStatusFromHyperPay\"\r\n private GetPaymentStatusFromDbUrl = \"api/AppointmentPatmentAdmin/GetPaymentStatusFromDb\"\r\n private ExportAllStaffBookingCommissionForSUUrl = \"api/Payment/ExportAllStaffBookingCommissionForSU\"\r\n constructor(private commonService: CommonService) { }\r\n\r\n getAppointmentPayments(postData: PaymentFilterModel): Observable {\r\n return this.commonService.post(this.getPaymentUrl, postData, true);\r\n }\r\n getAppointmentPaymentsForAdmin(postData: PaymentFilterModelForAdmin): Observable {\r\n return this.commonService.post(this.getPaymentUrlForAdmin, postData, true);\r\n }\r\n getAppointmentRefunds(postData: RefundFilterModel): Observable {\r\n return this.commonService.post(this.getRefundUrl, postData, true);\r\n }\r\n getAppointmentRefundsForAdmin(postData: RefundFilterModelForAdmin): Observable {\r\n return this.commonService.post(this.getRefundUrlForAdmin, postData, true);\r\n }\r\n exportPaymentPdf(dataModel: PaymentFilterModel) {\r\n const queryParams = `?PatientName=${dataModel.PatientName}&AppDate=${dataModel.AppDate}&PayDate=${dataModel.PayDate}&Status=${dataModel.Status}&RangeStartDate=${dataModel.RangeStartDate}&RangeEndDate=${dataModel.RangeEndDate}`;\r\n return this.commonService.download(this.exportPaymentPdfURL + queryParams, {});\r\n }\r\n\r\n downLoadFile(blob: Blob, filetype: string, filename: string) {\r\n var newBlob = new Blob([blob], { type: filetype });\r\n const nav = (window.navigator as any)\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement('a');\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(function () {\r\n\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n\r\n\r\n getMasterData(value: string = '') {\r\n return this.commonService.post(this.getMasterDataURL, { masterdata: value });\r\n }\r\n\r\n getProviders() {\r\n return this.commonService.get(this.getProvidersUrl, true);\r\n }\r\n\r\n getProvidersFeesAndRefundsSettings(providerIds: number[]) {\r\n return this.commonService.post(this.getProvidersFeesAndRefundsSettingsUrl, providerIds, true);\r\n }\r\n\r\n updateProvidersFeesAndRefundsSettings(model: ManageFeesRefundsModel) {\r\n return this.commonService.post(this.updateProvidersFeesAndRefundsSettingsUrl, model, true);\r\n }\r\n\r\n getUserRole() {\r\n return this.commonService.get(this.getLoggedinUserUrl, true);\r\n }\r\n\r\n getExportedPdfOfAppointementPaymentListForAdmin(postData: PaymentFilterModelForAdmin, IsPdfExport: boolean): Observable {\r\n return this.commonService.downloadWithPost(this.exportPdfOfAppointementPaymentListForAdmin + \"/\" + IsPdfExport + \"/\", postData, {});\r\n }\r\n\r\n getExportedPdfOfAppointmentRefundsForAdmin(postData: RefundFilterModelForAdmin, IsPdfExport: boolean): Observable {\r\n return this.commonService.downloadWithPost(this.exportPdfOfAppointmentRefundsForAdmin + \"/\" + IsPdfExport + \"/\", postData, {});\r\n }\r\n\r\n GetAllProviderPaymentTotals(postData: ProviderPaymentsFilterModel): Observable {\r\n return this.commonService.post(this.GetAllProviderPaymentTotalsURL, postData, true);\r\n }\r\n GetProviderAllPaymentTransaction(postData: ProviderPaymentTransactionFilterModel): Observable {\r\n return this.commonService.post(this.GetProviderAllPaymentTransactionUrl, postData, false);\r\n }\r\n ExportProviderAllPaymentTransactionForSU(postData: ProviderPaymentTransactionFilterModel, totalRecords: any): Observable {\r\n postData.pageSize = totalRecords\r\n postData.pageNumber = 1;\r\n return this.commonService.downloadWithPost(this.ExportProviderAllPaymentTransactionForSUUrl, postData, {});\r\n }\r\n\r\n GetStaffBookingCommission(StaffId: any): Observable {\r\n\r\n return this.commonService.post(this.GetStaffBookingCommissionUrl, StaffId, false);\r\n }\r\n AddProviderSettlePayments(modal: ProviderSettlePayments): Observable {\r\n return this.commonService.post(this.AddProviderSettlePaymentsUrl, modal, false);\r\n }\r\n GetAllStaffBookingCommission(data: GetAllStaffBookingCommissionRequestModel): Observable {\r\n return this.commonService.post(this.GetAllStaffBookingCommissionUrl, data, false);\r\n }\r\n ExportAllStaffBookingCommissionForSU(postData: GetAllStaffBookingCommissionRequestModel, totalRecords: any): Observable {\r\n postData.pageSize = totalRecords;\r\n postData.pageNumber = 1;\r\n return this.commonService.downloadWithPost(this.ExportAllStaffBookingCommissionForSUUrl, postData, {});\r\n }\r\n RefundAppointment(data: RefundAppointmenntModal) {\r\n return this.commonService.post(this.RefundAppointmentUrl, data, false);\r\n }\r\n\r\n GetPaymentStatusFromHyperPay(transactionId:any) {\r\n const queryParams = `?checkoutId=${transactionId}`;\r\n return this.commonService.get(this.GetPaymentStatusFromHyperPayUrl + queryParams);\r\n }\r\n GetPaymentStatusFromDb(AppointmentId:any,PaymentType:any) {\r\n const queryParams = `/${AppointmentId}/${PaymentType}`;\r\n return this.commonService.get(this.GetPaymentStatusFromDbUrl + queryParams);\r\n }\r\n\r\n\r\n}\r\n","module.exports = \".uplaod_pic img {\\r\\n height: 150px;\\r\\n max-width: 100%;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n background: rgba(0, 0, 0, 0.20);\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n font-size: 13px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 5px;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\"","module.exports = \"
\\r\\n

{{\\\"add_lab_referral\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ p.fullName }}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_patient\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ p.labName != \\\"\\\" ? p.labName : (p.clinicName != \\\"\\\" ? p.clinicName : p.fullName) }}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please select lab\\\"|translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

{{\\\"Lab list is not available.\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{'Select Test Name'|translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{ option.testName | translate}}\\r\\n \\r\\n {{ test.testName | translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please select test name\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\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, Inject, OnInit, ViewChild } from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ReplaySubject, Subject } from \"rxjs\";\r\nimport { takeUntil } from \"rxjs/operators\";\r\nimport { ClientsService } from \"../../client-portal/clients.service\";\r\nimport { ResponseModel } from \"../../core/modals/common-model\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { LabReferralModel } from \"../lab-referral/lab-referral.model\";\r\nimport { SignaturePad } from \"angular2-signaturepad/signature-pad\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: \"app-add-lab-referral-modal\",\r\n templateUrl: \"./add-lab-referral-modal.component.html\",\r\n styleUrls: [\"./add-lab-referral-modal.component.css\"],\r\n})\r\nexport class AddLabReferralModalComponent implements OnInit {\r\n @ViewChild(SignaturePad) signaturePad: SignaturePad;\r\n organizationId: number = 128;\r\n submitted: boolean = false;\r\n masterTests: Array = [];\r\n selectedMasterTest: Array = [];\r\n duplicateMasterTests: Array = [];\r\n labsList: Array = [];\r\n currentUser: any;\r\n patientList = [];\r\n appointmentId: number = 0;\r\n patientId: number = 0;\r\n labReferralForm: FormGroup;\r\n labReferralList: Array = [];\r\n filterCtrl: FormControl = new FormControl();\r\n filterPatientList: Array = [];\r\n filterPatientName: string = \"\";\r\n filterPatientId: any;\r\n filterLabList: Array = [];\r\n isLabList: boolean = false;\r\n filterLabName: string = \"\";\r\n filterLabId: number;\r\n public searching: boolean = false;\r\n public testingspeciality: ReplaySubject = new ReplaySubject(1);\r\n protected _onDestroy = new Subject();\r\n signDataUrl: string;\r\n logodataURL: any;\r\n stampdataURL: any;\r\n logoImagePreview: any;\r\n stampImagePreview: any;\r\n\r\n signaturePadOptions: Object = {\r\n // passed through to szimek/signature_pad constructor\r\n dotSize: parseFloat(\"0.1\"),\r\n minWidth: 5,\r\n canvasWidth: 600,\r\n canvasHeight: 300,\r\n };\r\n testIdsArray: any = [];\r\n selectedPatient: any[];\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private clientService: ClientsService,\r\n private dialogModalRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n //console.log(\"from referal pop up component\",this.data);\r\n //this.labReferralList = data.referralList.filteredData;\r\n this.patientId = data.patientId;\r\n this.appointmentId = data.appointmentId || 0;\r\n if (data && data.testIds && String(data.testIds).trim() !== \"\") {\r\n this.testIdsArray = String(data.testIds)\r\n .split('|')\r\n .map(num => Number(num.trim())) \r\n .filter(num => !isNaN(num)); \r\n // console.log(\"this test array\", this.testIdsArray);\r\n }\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.currentLoginUserInfo.subscribe((user) => {\r\n this.currentUser = user;\r\n });\r\n console.log(\"his.currentObject\", this.currentUser)\r\n this.getAllLabs();\r\n this.getPatients();\r\n this.getMasterTests();\r\n this.labReferralForm = this.formBuilder.group({\r\n testId: [this.testIdsArray, Validators.required],\r\n patientId: [this.patientId, Validators.required],\r\n labId: [\"\", Validators.required],\r\n notes: [this.data.notes || \"\"],\r\n logo: [],\r\n stamp: [],\r\n });\r\n \r\n // this.patientList = [];\r\n // console.log(this.currentUser);\r\n \r\n \r\n //this.getAllLabs();\r\n this.filterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.filterspeciality();\r\n });\r\n }\r\n\r\n protected filterspeciality() {\r\n // if (!this.banks) {\r\n // return;\r\n // }\r\n // get the search keyword\r\n let search = this.filterCtrl.value;\r\n if (search.length > 2) {\r\n search = search.toLowerCase();\r\n\r\n // if (!search) {\r\n // this.filteredBanksMulti.next(this.banks.slice());\r\n // return;\r\n // } else {\r\n // search = search.toLowerCase();\r\n // }\r\n // filter the banks\r\n this.testingspeciality.next(\r\n this.duplicateMasterTests.filter(\r\n (bank) => bank.testName.toLowerCase().indexOf(search) > -1\r\n )\r\n );\r\n }\r\n }\r\n get formControls() {\r\n return this.labReferralForm.controls;\r\n }\r\n closeDialog(action: string) {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n onSubmit() {\r\n ////;\r\n // if (!this.signDataUrl) {\r\n // this.notifier.notify(\"error\", \"Sign is empty.\");\r\n // return;\r\n // }\r\n \r\n // console.log(this.labReferralForm.value.testId);\r\n // console.log(this.labReferralForm);\r\n \r\n if (this.labReferralForm.invalid) {\r\n return this.labReferralForm;\r\n } else {\r\n let data = new LabReferralModel();\r\n data = this.labReferralForm.value;\r\n if(this.currentUser.users3.userRoles.roleName.toLowerCase() !== \"patient\"){\r\n data.ProviderId = this.currentUser.id;\r\n }\r\n else{\r\n data.ProviderId = null\r\n }\r\n \r\n \r\n \r\n data.CreatedBy = this.currentUser.userID;\r\n //data.signature = (this.signDataUrl || \"\").split(\",\")[1];\r\n data.logoBase64 = this.logodataURL;\r\n data.stampBase64 = this.stampdataURL;\r\n\r\n if (this.patientId && this.patientId > 0) {\r\n data.appointmentId = this.appointmentId;\r\n data.patientId = this.patientId;\r\n } else {\r\n data.patientId = this.filterPatientId;\r\n data.appointmentId = 0;\r\n }\r\n data.labId = this.filterLabId;\r\n data.Status = \"Request Raised\";\r\n data.referTo = \"LAB\"\r\n // const existingList = this.labReferralList.filter((x) => {\r\n // return x.labId == data.labId && x.patientId == data.patientId\r\n // && x.testId == data.testId\r\n // });\r\n // if (existingList.length > 0) {\r\n // this.notifier.notify('error', \"Record alredy exist\");\r\n // return this.labReferralForm;\r\n // }\r\n\r\n console.log(\"this data after submittinf lab refferal\",data);\r\n // return ;\r\n this.submitted = true;\r\n this.clientService\r\n .addLabReferral(data)\r\n .subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n response.message = \"Lab referral added successfully.\";\r\n this.notifier.notify(\"success\", response.message);\r\n this.closeDialog(\"save\");\r\n this.submitted = false;\r\n // console.log(response.data);\r\n } else {\r\n // console.log(response.appError);\r\n }\r\n });\r\n // console.log(this.labReferralForm.value);\r\n }\r\n }\r\n getPatients() {\r\n this.clientService\r\n .getPatientsByStaffId(this.currentUser.id)\r\n .subscribe((result: ResponseModel) => {\r\n if (result.statusCode == 200) {\r\n this.patientList = result.data;\r\n this.filterPatientList = result.data;\r\n // console.log(\"this.filterpatientlist\", this.filterPatientList);\r\n console.log(\"Patientid\", this.patientId);\r\n if(this.patientId > 0){\r\n this.selectedPatient= this.filterPatientList.filter(p=>p.patientId == this.patientId);\r\n if(this.selectedPatient != null){\r\n this.filterPatientName = this.selectedPatient[0].fullName;\r\n this.filterPatientId = this.selectedPatient[0].patientId;\r\n }\r\n \r\n }\r\n \r\n } else {\r\n this.patientList = [];\r\n this.filterPatientList = [];\r\n }\r\n });\r\n }\r\n getAllLabs() {\r\n let roleId = 325;\r\n const data = {\r\n pageNumber: 1,\r\n pageSize: 100000,\r\n sortColumn: \"\",\r\n sortOrder: \"\",\r\n searchText: \"\",\r\n roleId: roleId,\r\n patientId: this.filterPatientId != null ? this.filterPatientId : null\r\n\r\n };\r\n this.clientService.getAllLabApprovedListist(data).subscribe((result) => {\r\n if (result.statusCode == 200) {\r\n result.data.map((x) => {\r\n x.labName = x.labName == undefined ? x.fullName : x.labName;\r\n return x;\r\n });\r\n this.labsList = result.data;\r\n this.filterLabList = result.data;\r\n if (this.labsList.length == 0) {\r\n this.isLabList = true;\r\n }\r\n } else {\r\n this.labsList = [];\r\n this.filterLabList = [];\r\n }\r\n });\r\n }\r\n getMasterTests() {\r\n this.clientService.getMasterData(\"MasterTests\").subscribe((result: any) => {\r\n this.masterTests = result.masterTests.filter((x) => x.roleId == 325);\r\n this.duplicateMasterTests = result.masterTests.filter(\r\n (x) => x.roleId == 325\r\n );\r\n });\r\n }\r\n patientTypeHandler = (e) => {\r\n if (e !== \"\" && e != undefined) {\r\n this.filterPatientList = this.patientList.filter(\r\n (doc) => doc.fullName.toLowerCase().indexOf(e) != -1\r\n );\r\n } else {\r\n this.filterPatientList = JSON.parse(JSON.stringify(this.patientList));\r\n }\r\n };\r\n labTypeHandler = (e) => {\r\n if (e != \"\" && e != undefined) {\r\n this.filterLabList = this.labsList.filter(\r\n (doc) => doc.labName.toLowerCase().indexOf(e) != -1\r\n );\r\n } else {\r\n this.filterLabList = JSON.parse(JSON.stringify(this.labsList));\r\n }\r\n };\r\n onSelectChange(data, type) {\r\n if (type == \"patient\") {\r\n this.filterPatientName = data.fullName;\r\n this.filterPatientId = data.patientId;\r\n\r\n this.getAllLabs();\r\n } else {\r\n this.filterLabName = data.labName;\r\n this.filterLabId = data.labId;\r\n }\r\n }\r\n\r\n handleLogoImageChange(e) {\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.logodataURL = reader.result;\r\n this.logoImagePreview = this.logodataURL;\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n\r\n handleStampImageChange(e) {\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.stampdataURL = reader.result;\r\n this.stampImagePreview = this.stampdataURL;\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n\r\n removeLogoImage() {\r\n this.logodataURL = null;\r\n this.logoImagePreview = null;\r\n }\r\n\r\n removeStampImage() {\r\n this.stampdataURL = null;\r\n this.stampImagePreview = null;\r\n }\r\n\r\n // drawComplete() {\r\n // // will be notified of szimek/signature_pad's onEnd event\r\n // // console.log(this.signaturePad.toDataURL());\r\n // this.signDataUrl = this.signaturePad.toDataURL();\r\n // }\r\n\r\n // onClear() {\r\n // this.signaturePad.clear();\r\n // this.signDataUrl = null;\r\n // }\r\n\r\n // sign pad\r\n // ngAfterViewInit() {\r\n // // this.signaturePad is now available\r\n // this.signaturePad.set(\"minWidth\", 5); // set szimek/signature_pad options at runtime\r\n // this.signaturePad.clear(); // invoke functions from szimek/signature_pad API\r\n // }\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \".uplaod_pic img {\\r\\n height: 150px;\\r\\n max-width: 100%;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n background: rgba(0, 0, 0, 0.20);\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n font-size: 13px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 5px;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n.add_radio_modal .mat-button-wrapper {\\r\\n display: block;\\r\\n}\"","module.exports = \"
\\r\\n

{{ 'add_radiology_referral' | translate }}

\\r\\n

0\\\">{{ 'reshare_referral' | translate }}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ p.fullName }}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_patient\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ p.labName != \\\"\\\" ? p.labName : (p.clinicName != \\\"\\\" ? p.clinicName : p.fullName) }}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please select radiology\\\"|translate}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{'Select Test Name'|translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{ option.testName }}\\r\\n \\r\\n {{ test.testName |\\r\\n translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please select test name\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\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, Inject, OnInit, ViewChild } from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ReplaySubject, Subject } from \"rxjs\";\r\nimport { takeUntil } from \"rxjs/operators\";\r\nimport { ClientsService } from \"../../client-portal/clients.service\";\r\nimport { ResponseModel } from \"../../core/modals/common-model\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { RadiologyReferralModel } from \"../radiology-referral/radiology-referral.model\";\r\nimport { SignaturePad } from \"angular2-signaturepad/signature-pad\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-add-radiology-referral-modal\",\r\n templateUrl: \"./add-radiology-referral-modal.component.html\",\r\n styleUrls: [\"./add-radiology-referral-modal.component.css\"],\r\n})\r\nexport class AddRadiologyReferralModalComponent implements OnInit {\r\n @ViewChild(SignaturePad) signaturePad: SignaturePad;\r\n organizationId: number = 128;\r\n submitted: boolean = false;\r\n masterRadiologyTests: Array = [];\r\n selectedMasterTest: Array = [];\r\n duplicateMasterTests: Array = [];\r\n labsList: Array = [];\r\n currentUser: any;\r\n patientId: number = 0;\r\n patientList = [];\r\n labReferralForm: FormGroup;\r\n labReferralList: Array = [];\r\n filterCtrl: FormControl = new FormControl();\r\n filterPatientList: Array = [];\r\n filterPatientName: string = \"\";\r\n filterPatientId: any;\r\n filterLabList: Array = [];\r\n filterLabName: string = \"\";\r\n filterLabId: number;\r\n appointmentId: number = 0;\r\n public searching: boolean = false;\r\n public testingspeciality: ReplaySubject = new ReplaySubject(1);\r\n protected _onDestroy = new Subject();\r\n signDataUrl: string;\r\n logodataURL: any;\r\n stampdataURL: any;\r\n logoImagePreview: any;\r\n stampImagePreview: any;\r\n\r\n signaturePadOptions: Object = {\r\n // passed through to szimek/signature_pad constructor\r\n dotSize: parseFloat(\"0.1\"),\r\n minWidth: 5,\r\n canvasWidth: 600,\r\n canvasHeight: 300,\r\n };\r\n testIdsArray: number[] = [];\r\n selectedPatient: any[];\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private clientService: ClientsService,\r\n private dialogModalRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n //console.log(\"from radiology referal pop up component\",this.data);\r\n //this.labReferralList = data.referralList;\r\n this.patientId = data.patientId;\r\n this.appointmentId = data.appointmentId || 0;\r\n if (data && data.testIds && String(data.testIds).trim() !== \"\") {\r\n this.testIdsArray = String(data.testIds)\r\n .split('|')\r\n .map(num => Number(num.trim())) \r\n .filter(num => !isNaN(num)); \r\n // console.log(\"this test array\", this.testIdsArray);\r\n }\r\n }\r\n ngOnInit() {\r\n this.labReferralForm = this.formBuilder.group({\r\n testId: [this.testIdsArray, Validators.required],\r\n patientId: [this.patientId, Validators.required],\r\n labId: [\"\", Validators.required],\r\n notes: [this.data.notes || \"\"],\r\n logo: [],\r\n stamp: [],\r\n });\r\n this.commonService.currentLoginUserInfo.subscribe((user) => {\r\n this.currentUser = user;\r\n });\r\n // this.patientList = [];\r\n // console.log(this.currentUser);\r\n this.getPatients();\r\n this.getMasterTests();\r\n this.getAllLabs();\r\n \r\n this.filterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.filterspeciality();\r\n });\r\n }\r\n protected filterspeciality() {\r\n // if (!this.banks) {\r\n // return;\r\n // }\r\n // get the search keyword\r\n let search = this.filterCtrl.value;\r\n if (search.length > 2) {\r\n search = search.toLowerCase();\r\n\r\n // if (!search) {\r\n // this.filteredBanksMulti.next(this.banks.slice());\r\n // return;\r\n // } else {\r\n // search = search.toLowerCase();\r\n // }\r\n // filter the banks\r\n this.testingspeciality.next(\r\n this.duplicateMasterTests.filter(\r\n (bank) => bank.testName.toLowerCase().indexOf(search) > -1\r\n )\r\n );\r\n }\r\n }\r\n get formControls() {\r\n return this.labReferralForm.controls;\r\n }\r\n closeDialog(action: string) {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n onSubmit() {\r\n\r\n\r\n //console.log(this.labReferralForm.value.testId);\r\n //console.log(this.labReferralForm);\r\n \r\n if (this.labReferralForm.invalid) {\r\n return this.labReferralForm;\r\n } \r\n else {\r\n let data = new RadiologyReferralModel();\r\n data = this.labReferralForm.value;\r\n if(this.currentUser.users3.userRoles.roleName.toLowerCase() !== \"patient\"){\r\n data.ProviderId = this.currentUser.id;\r\n }\r\n else{\r\n data.ProviderId = null\r\n }\r\n //console.log(\"this data after submittinf lab refferal\",data);\r\n \r\n data.CreatedBy = this.currentUser.userID;\r\n // data.signature = (this.signDataUrl || \"\").split(\",\")[1];\r\n data.logoBase64 = this.logodataURL;\r\n data.stampBase64 = this.stampdataURL;\r\n\r\n if (this.patientId && this.patientId > 0) {\r\n data.appointmentId = this.appointmentId;\r\n data.patientId = this.patientId;\r\n } else {\r\n data.patientId = this.filterPatientId;\r\n data.appointmentId = 0;\r\n }\r\n data.labId = this.filterLabId;\r\n data.Status = \"Request Raised\";\r\n data.referTo = \"RADIOLOGY\";\r\n console.log(\"this data after submittinf lab refferal\",data);\r\n // return ;\r\n this.submitted = true;\r\n this.clientService\r\n .addLabReferral(data)\r\n .subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n response.message = \"Radiology referral added successfully.\";\r\n this.notifier.notify(\"success\", response.message);\r\n this.closeDialog(\"save\");\r\n this.submitted = false;\r\n // console.log(response.data);\r\n } else {\r\n // console.log(response.appError);\r\n }\r\n });\r\n // console.log(this.labReferralForm.value);\r\n }\r\n }\r\n getPatients() {\r\n this.clientService\r\n .getPatientsByStaffId(this.currentUser.id)\r\n .subscribe((result: ResponseModel) => {\r\n if (result.statusCode == 200) {\r\n this.patientList = result.data;\r\n this.filterPatientList = result.data\r\n if(this.patientId > 0){\r\n this.selectedPatient= this.filterPatientList.filter(p=>p.patientId == this.patientId);\r\n if(this.selectedPatient != null){\r\n this.filterPatientName = this.selectedPatient[0].fullName;\r\n this.filterPatientId = this.selectedPatient[0].patientId;\r\n }\r\n \r\n }\r\n } else {\r\n this.patientList = [];\r\n this.filterPatientList = [];\r\n }\r\n });\r\n }\r\n getAllLabs() {\r\n ///\r\n this.clientService\r\n .getAllLabList(this.organizationId, 329, this.filterPatientId)\r\n .subscribe((result) => {\r\n if (result.statusCode == 200) {\r\n this.labsList = result.data.filter((d) => d.labName || d.clinicName || d.fullName);\r\n this.filterLabList = result.data.filter((d) => d.labName || d.clinicName || d.fullName);\r\n } else {\r\n this.labsList = [];\r\n this.filterLabList = [];\r\n }\r\n });\r\n }\r\n getMasterTests() {\r\n this.clientService.getMasterData(\"MasterTests\").subscribe((result: any) => {\r\n this.masterRadiologyTests = result.masterTests.filter(\r\n (x) => x.roleId == 329\r\n );\r\n this.duplicateMasterTests = result.masterTests.filter(\r\n (x) => x.roleId == 329\r\n );\r\n // console.log(result);\r\n });\r\n }\r\n patientTypeHandler = (e) => {\r\n if (e !== \"\" && e != undefined) {\r\n this.filterPatientList = this.patientList.filter(\r\n (doc) => doc.fullName.toLowerCase().indexOf(e) != -1\r\n );\r\n\r\n } else {\r\n this.filterPatientList = [];\r\n }\r\n };\r\n\r\n labTypeHandler = (e) => {\r\n if (e != \"\" && e != undefined) {\r\n this.filterLabList = this.labsList.filter(\r\n (doc) => doc.labName.toLowerCase().indexOf(e) != -1\r\n );\r\n } else {\r\n this.filterLabList = [];\r\n }\r\n\r\n };\r\n\r\n onSelectChange(data, type) {\r\n console.log(\"under lab selection\",data,type)\r\n if (type == \"patient\") {\r\n this.filterPatientName = data.fullName;\r\n this.filterPatientId = data.patientId;\r\n this.getAllLabs();\r\n } else {\r\n this.filterLabName = data.labName;\r\n this.filterLabId = data.labId;\r\n }\r\n }\r\n\r\n handleLogoImageChange(e) {\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.logodataURL = reader.result;\r\n this.logoImagePreview = this.logodataURL;\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n\r\n handleStampImageChange(e) {\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.stampdataURL = reader.result;\r\n this.stampImagePreview = this.stampdataURL;\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n\r\n removeLogoImage() {\r\n this.logodataURL = null;\r\n this.logoImagePreview = null;\r\n }\r\n\r\n removeStampImage() {\r\n this.stampdataURL = null;\r\n this.stampImagePreview = null;\r\n }\r\n\r\n // drawComplete() {\r\n // // will be notified of szimek/signature_pad's onEnd event\r\n // // console.log(this.signaturePad.toDataURL());\r\n // this.signDataUrl = this.signaturePad.toDataURL();\r\n // }\r\n\r\n // onClear() {\r\n // this.signaturePad.clear();\r\n // this.signDataUrl = null;\r\n // }\r\n\r\n // // sign pad\r\n // ngAfterViewInit() {\r\n // // this.signaturePad is now available\r\n // this.signaturePad.set(\"minWidth\", 5); // set szimek/signature_pad options at runtime\r\n // this.signaturePad.clear(); // invoke functions from szimek/signature_pad API\r\n // }\r\n}\r\n","module.exports = \".uplaod_pic img {\\r\\n height: 150px;\\r\\n max-width: 100%;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n background: rgba(0, 0, 0, 0.20);\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n font-size: 13px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 5px;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n/* ::ng-deep .add_template_modal .mat-button-wrapper {\\r\\n display: block;\\r\\n align-items: center;\\r\\n gap: 2px;\\r\\n} */\\r\\n\"","module.exports = \"
\\r\\n

{{\\\"add_letter\\\"|translate}}

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

\\r\\n {{\\\"Warning: Avoid including any closing statements, such as 'Sincerely', 'Best regards', or similar phrases, as these are automatically managed by the system.\\\"|translate}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_name\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Please enter template date'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_title\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

{{\\\"Enter Letter Content below:\\\"|translate}}

\\r\\n \\r\\n
\\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 { AfterViewInit, Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { TemplateModel } from '../template/template.model';\r\nimport { SignaturePad } from 'angular2-signaturepad/signature-pad';\r\nimport { ClientsService } from '../../client-portal/clients.service';\r\nimport { CommonService } from '../../core/services';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { SharedService } from 'src/app/shared/shared.service';\r\ninterface UserOtpions {\r\n userId: number;\r\n name: string;\r\n email: string;\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-add-template-modal',\r\n templateUrl: './add-template-modal.component.html',\r\n styleUrls: ['./add-template-modal.component.css']\r\n})\r\nexport class AddTemplateModalComponent implements OnInit, AfterViewInit {\r\n @ViewChild(SignaturePad) signaturePad: SignaturePad;\r\n private templateModel: TemplateModel\r\n templateForm: FormGroup;\r\n htmlContent: any;\r\n editorConfig: AngularEditorConfig;\r\n staffDetails: any;\r\n signDataUrl: string;\r\n submitted: boolean = false;\r\n templateId: number = 0;\r\n staffID: number = 0;\r\n logodataURL: any;\r\n stampdataURL: any;\r\n logoImagePreview: any;\r\n stampImagePreview: any;\r\n searchControl: FormControl = new FormControl('');\r\n userList: UserOtpions[] = [{\r\n \"userId\": 0,\r\n \"name\": \"\",\r\n \"email\": \"\"\r\n }];\r\n signaturePadOptions: Object = { // passed through to szimek/signature_pad constructor\r\n 'dotSize': parseFloat('0.1'),\r\n 'minWidth': 5,\r\n 'canvasWidth': 600,\r\n 'canvasHeight': 300\r\n };\r\n appointmentId: any = null;\r\n isAddTemplate: boolean = false;\r\n showPopup: boolean = false; \r\n errorMessages: string[] = [];\r\n constructor(\r\n private notifier: NotifierService,\r\n private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private clientService: ClientsService,\r\n private commonService: CommonService,\r\n private translate: TranslateService,\r\n private sharedService: SharedService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.templateModel = data.template;\r\n this.templateId = data.template.id;\r\n this.staffID = data.template.staffID;\r\n this.isAddTemplate = this.data.addTemplate;\r\n if (data.template.appointmentId) {\r\n this.appointmentId = data.template.appointmentId;\r\n }\r\n console.log(\"Data\", data)\r\n this.editorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: 'auto',\r\n minHeight: '10rem',\r\n maxHeight: 'auto',\r\n width: 'auto',\r\n minWidth: 'auto',\r\n translate: 'no',\r\n enableToolbar: false,\r\n showToolbar: true,\r\n placeholder: translate.instant('Enter text here...'),\r\n defaultParagraphSeparator: '',\r\n defaultFontName: '',\r\n defaultFontSize: '',\r\n fonts: [\r\n { class: 'arial', name: 'Arial' },\r\n { class: 'times-new-roman', name: 'Times New Roman' },\r\n { class: 'calibri', name: 'Calibri' },\r\n { class: 'comic-sans-ms', name: 'Comic Sans MS' }\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText'\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n //sanitize: true,\r\n //toolbarPosition: 'top',\r\n // toolbarHiddenButtons: [\r\n // [\r\n // ],\r\n // [\r\n // 'customClasses',\r\n // 'link',\r\n // 'unlink',\r\n // 'insertImage',\r\n // 'insertVideo',\r\n // 'toggleEditorMode'\r\n // ]\r\n // ]\r\n };\r\n this.staffDetails = null;\r\n }\r\n\r\n ngOnInit() {\r\n this.htmlContent = this.templateModel.htmlContent;\r\n this.templateForm = this.formBuilder.group({\r\n title: [this.templateModel.title, Validators.required],\r\n templateName: [this.templateModel.templateName, Validators.required],\r\n date: [this.templateModel.date, Validators.required],\r\n // logo: [null],\r\n // stamp: [null],\r\n });\r\n\r\n\r\n\r\n }\r\n \r\n\r\n \r\n triggerError(errorMessage:any) {\r\n this.errorMessages = errorMessage;\r\n this.showPopup = true;\r\n }\r\n\r\n closePopup() {\r\n this.showPopup = false;\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n\r\n this.searchControl.valueChanges\r\n .pipe(\r\n debounceTime(300),\r\n distinctUntilChanged()\r\n )\r\n .subscribe(value => {\r\n // console.log(value.length)\r\n if (value && (value.trim().length > 0 || value.trim().length == 0)) {\r\n this.searchByName(value);\r\n }\r\n });\r\n }\r\n\r\n\r\n searchByName(value: any) {\r\n //console.log(\"seatrch text \", value)\r\n this.sharedService.GetAllClientNameAndEmailsBySearchText(value).subscribe((response: any) => {\r\n\r\n // if (response.statusCode == 200) {\r\n\r\n // }\r\n this.userList = response.data;\r\n //console.log(\"u8ser list template\", response.data)\r\n }\r\n )\r\n }\r\n\r\n\r\n closeDialog(action: string) {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n validateAndSanitizeTemplate(htmlContent: string): { errors: string[], sanitizedContent: string } {\r\n const errors: string[] = [];\r\n let sanitizedContent = htmlContent;\r\n\r\n try {\r\n \r\n const openBraces = (sanitizedContent.match(/\\{\\{/g) || []).length;\r\n const closeBraces = (sanitizedContent.match(/\\}\\}/g) || []).length;\r\n \r\n if (openBraces !== closeBraces) {\r\n errors.push('Unbalanced curly braces. Make sure each {{ has a corresponding }}.');\r\n }\r\n\r\n \r\n const placeholderRegex = /\\{\\{\\s*([^}]*)\\s*\\}\\}/g;\r\n const validPlaceholderRegex = /^[a-zA-Z0-9\\s_*]+$/;\r\n const invalidPlaceholders: string[] = [];\r\n const emptyPlaceholders: string[] = [];\r\n\r\n let match: RegExpExecArray | null;\r\n while ((match = placeholderRegex.exec(sanitizedContent)) !== null) {\r\n const placeholder = match[1].trim();\r\n \r\n if (placeholder === '') {\r\n emptyPlaceholders.push(match[0]);\r\n } else if (!validPlaceholderRegex.test(placeholder)) {\r\n invalidPlaceholders.push(placeholder);\r\n }\r\n }\r\n\r\n if (emptyPlaceholders.length > 0) {\r\n errors.push(`Empty placeholders found: ${emptyPlaceholders.join(', ')}. Please provide a valid name inside {{...}}.`);\r\n }\r\n\r\n if (invalidPlaceholders.length > 0) {\r\n errors.push(`Invalid placeholders detected: ${invalidPlaceholders.join(', ')}. Placeholders can only contain letters, numbers, spaces, underscores, and asterisks.`);\r\n }\r\n\r\n } catch (error) {\r\n errors.push(`Error processing template: ${error instanceof Error ? error.message : 'Unknown error'}`);\r\n }\r\n\r\n return { errors, sanitizedContent };\r\n}\r\n\r\n\r\n \r\n \r\n\r\n onSubmit() {\r\n\r\n const { errors, sanitizedContent } = this.validateAndSanitizeTemplate(this.htmlContent);\r\n if (errors.length > 0) {\r\n this.triggerError(errors);\r\n return;\r\n }\r\n\r\n if (this.templateForm.invalid) {\r\n return this.templateForm;\r\n } else {\r\n this.submitted = true;\r\n this.templateModel = this.templateForm.value;\r\n this.templateModel.id = this.templateId;\r\n this.templateModel.staffID = this.staffID;\r\n this.templateModel.htmlContent = this.htmlContent;\r\n this.templateModel.appointmentId = this.appointmentId;\r\n this.clientService.createTemplate(this.templateModel).subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message)\r\n this.closeDialog('save');\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n });\r\n }\r\n }\r\n\r\n drawComplete() {\r\n // will be notified of szimek/signature_pad's onEnd event\r\n // console.log(this.signaturePad.toDataURL());\r\n this.signDataUrl = this.signaturePad.toDataURL();\r\n }\r\n\r\n onClear() {\r\n this.signaturePad.clear();\r\n this.signDataUrl = null;\r\n }\r\n\r\n // sign pad\r\n // ngAfterViewInit() {\r\n // // this.signaturePad is now available\r\n // this.signaturePad.set('minWidth', 5); // set szimek/signature_pad options at runtime\r\n // this.signaturePad.clear(); // invoke functions from szimek/signature_pad API\r\n // }\r\n\r\n get formControls() {\r\n return this.templateForm.controls;\r\n }\r\n\r\n handleLogoImageChange(e) {\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.logodataURL = reader.result;\r\n this.logoImagePreview = this.logodataURL;\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n\r\n handleStampImageChange(e) {\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.stampdataURL = reader.result;\r\n this.stampImagePreview = this.stampdataURL;\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n\r\n removeLogoImage() {\r\n this.logodataURL = null;\r\n this.logoImagePreview = null;\r\n }\r\n\r\n removeStampImage() {\r\n this.stampdataURL = null;\r\n this.stampImagePreview = null;\r\n }\r\n}\r\n","import { DiagnosisModalComponent } from \"./clients/diagnosis/diagnosis-modal/diagnosis-modal.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { DashboardComponent } from \"./dashboard/dashboard.component\";\r\nimport { AgencyRoutingModule } from \"./agency-routing.module\";\r\nimport { SharedModule } from \"../../../shared/shared.module\";\r\nimport {\r\n DateAdapter,\r\n MAT_DIALOG_DEFAULT_OPTIONS,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatDatepicker,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatMenuModule,\r\n MatOptionModule,\r\n MatSelectModule,\r\n MatTooltipModule,\r\n} from \"@angular/material\";\r\nimport { AuthListComponent } from \"./dashboard/auth-list/auth-list.component\";\r\nimport { AgencyPermissionGuard } from \"./agency_routing_permission.guard\";\r\nimport { ScrollbarModule } from \"ngx-scrollbar\";\r\nimport { RatingModule } from \"ng-starrating\";\r\nimport { ClientListComponent } from \"./client-list/client-list.component\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { AvailabilityComponent } from \"./users/availability/availability.component\";\r\nimport { NgxMaskModule } from \"ngx-mask\";\r\nimport { NgxMaterialTimepickerModule } from \"ngx-material-timepicker\";\r\nimport { adapterFactory } from \"angular-calendar/date-adapters/date-fns\";\r\nimport { CalendarModule } from \"angular-calendar\";\r\nimport { AvailabilitySlotComponent } from \"./users/availability-slot/availability-slot.component\";\r\nimport { NgDatepickerModule } from \"ng2-datepicker\";\r\nimport { NgxMatSelectSearchModule } from \"ngx-mat-select-search\";\r\nimport { LabTestDownloadModalComponent } from \"./lab-test-download-modal/lab-test-download-modal.component\";\r\nimport { AddLabReferralModalComponent } from \"./add-lab-referral-modal/add-lab-referral-modal.component\";\r\nimport { LabReferralComponent } from \"./lab-referral/lab-referral.component\";\r\nimport { AppointmentActionComponent } from './appointment-action/appointment-action.component';\r\nimport { ProviderMsgComponent } from './provider-msg/provider-msg.component';\r\nimport { RadiologyReferralComponent } from './radiology-referral/radiology-referral.component';\r\nimport { AddRadiologyReferralModalComponent } from './add-radiology-referral-modal/add-radiology-referral-modal.component';\r\nimport { ReferralForRadiologyComponent } from './referral-for-radiology/referral-for-radiology.component';\r\nimport { RadiologyReferralFileUploadComponent } from './radiology-referral-file-upload/radiology-referral-file-upload.component';\r\nimport { PlatformMaterialModule } from \"../../platform.material.module\";\r\nimport { TemplateComponent } from './template/template.component';\r\nimport { AddTemplateModalComponent } from './add-template-modal/add-template-modal.component';\r\nimport { AngularEditorModule } from \"@kolkov/angular-editor\";\r\nimport { SignaturePadModule } from \"angular2-signaturepad\";\r\nimport { RaiseTicketComponent } from \"src/app/shared/raise-ticket/raise-ticket.component\";\r\nimport { LetterHistoryComponent } from './template/letter-history/letter-history/letter-history.component';\r\nimport { LetterTemplateComponent } from './template/letter-template/letter-template/letter-template.component';\r\nimport { AddLetterModelComponent } from './template/add-letter-model/add-letter-model.component';\r\nimport { AddLetterFormModelComponent } from './template/add-letter-form-model/add-letter-form-model.component';\r\nimport { TemplatePopupComponent } from './template/template-popup/template-popup.component';\r\nimport { ErrorPopupComponent } from \"src/app/shared/error-popup/error-popup.component\";\r\nimport { LetterTemplateGuidencePopupComponent } from \"src/app/shared/letter-template-guidence-popup/letter-template-guidence-popup.component\";\r\nimport { ProviderStaffListingComponent } from './provider-staff-listing/provider-staff-listing.component';\r\n\r\n\r\n//import { KeywordModule } from \"./Keyword/keyword.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n AgencyRoutingModule,\r\n SharedModule,\r\n MatMenuModule,\r\n ScrollbarModule,\r\n RatingModule,\r\n FormsModule,\r\n //MatFormFieldModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatOptionModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatDatepickerModule,\r\n MatCardModule,\r\n //NgDatepickerModule,\r\n NgxMatSelectSearchModule,\r\n \r\n //MatButtonToggleModule,\r\n //[NgxMaskModule.forRoot()],\r\n //[NgxMaterialTimepickerModule.forRoot()],\r\n ReactiveFormsModule,\r\n \r\n // CalendarModule.forRoot({\r\n // provide: DateAdapter,\r\n // useFactory: adapterFactory,\r\n // }),\r\n PlatformMaterialModule,\r\n MatTooltipModule,\r\n AngularEditorModule,\r\n SignaturePadModule,\r\n ],\r\n providers: [AgencyPermissionGuard,\r\n {\r\n provide: MAT_DIALOG_DEFAULT_OPTIONS,\r\n useValue: {\r\n hasBackdrop: true,\r\n disableClose: true,\r\n minWidth: \"55%\",\r\n maxWidth: \"90%\"\r\n }\r\n }\r\n ],\r\n entryComponents: [\r\n RadiologyReferralFileUploadComponent,\r\n AddRadiologyReferralModalComponent,\r\n AddLabReferralModalComponent,\r\n LabTestDownloadModalComponent,\r\n AppointmentActionComponent,\r\n ProviderMsgComponent,\r\n AddTemplateModalComponent,\r\n RaiseTicketComponent,\r\n LetterTemplateComponent,\r\n LetterHistoryComponent,\r\n AddLetterModelComponent,\r\n AddLetterFormModelComponent,\r\n ErrorPopupComponent,\r\n LetterTemplateGuidencePopupComponent\r\n ],\r\n declarations: [\r\n DashboardComponent,\r\n AuthListComponent,\r\n ClientListComponent,\r\n LabReferralComponent,\r\n AddLabReferralModalComponent,\r\n LabTestDownloadModalComponent,\r\n AppointmentActionComponent,\r\n ProviderMsgComponent,\r\n RadiologyReferralComponent,\r\n AddRadiologyReferralModalComponent,\r\n ReferralForRadiologyComponent,\r\n RadiologyReferralFileUploadComponent,\r\n TemplateComponent,\r\n AddTemplateModalComponent,\r\n LetterHistoryComponent,\r\n LetterTemplateComponent,\r\n AddLetterModelComponent,\r\n AddLetterFormModelComponent,\r\n TemplatePopupComponent,\r\n // ProviderStaffListingComponent,\r\n \r\n \r\n //DiagnosisModalComponent\r\n ],\r\n exports: [LabTestDownloadModalComponent,TemplateComponent,TemplatePopupComponent],\r\n //entryComponents: [DiagnosisModalComponent]\r\n})\r\nexport class AgencyPortalModule {}\r\n","import { PaymentHistoryComponent } from \"./Payments/payment-history/payment-history.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { DashboardComponent } from \"./dashboard/dashboard.component\";\r\nimport { AgencyPermissionGuard } from \"./agency_routing_permission.guard\";\r\nimport { ClientListComponent } from \"./client-list/client-list.component\";\r\nimport { AvailabilityComponent } from \"./users/availability/availability.component\";\r\nimport { LabReferralComponent } from \"./lab-referral/lab-referral.component\";\r\nimport { RadiologyReferralComponent } from \"./radiology-referral/radiology-referral.component\";\r\nimport { ReferralForRadiologyComponent } from \"./referral-for-radiology/referral-for-radiology.component\";\r\nimport { TemplateComponent } from \"./template/template.component\";\r\n\r\nimport { RaiseTicketComponent } from \"src/app/shared/raise-ticket/raise-ticket.component\";\r\nimport { RaisedTicketDetailsComponent } from \"src/app/shared/raised-ticket-details/raised-ticket-details.component\";\r\n\r\nconst routes: Routes = [\r\n // {\r\n // path: \"\",\r\n // redirectTo: \"/web/dashboard\"\r\n // },\r\n {\r\n path: \"template\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: TemplateComponent,\r\n },\r\n {\r\n path: \"labrefferal\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: LabReferralComponent,\r\n },\r\n {\r\n path: \"radiologyreferral\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: RadiologyReferralComponent,\r\n },\r\n {\r\n path: \"radiology-referral\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: ReferralForRadiologyComponent,\r\n },\r\n {\r\n path: \"dashboard\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: DashboardComponent,\r\n },\r\n {\r\n path: \"raiseTicket\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: RaiseTicketComponent,\r\n },\r\n {\r\n path: \"ticket\",\r\n component: RaisedTicketDetailsComponent,\r\n },\r\n {\r\n path: \"ticket/:ticketid\",\r\n component: RaisedTicketDetailsComponent,\r\n },\r\n {\r\n path: \"Masters\",\r\n loadChildren: \"./masters/masters.module#MastersModule\",\r\n },\r\n {\r\n path: \"manage-users\",\r\n loadChildren: \"./users/users.module#UsersModule\",\r\n },\r\n {\r\n path: \"scheduling\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"../scheduling/scheduling.module#SchedulingModule\",\r\n },\r\n {\r\n path: \"encounter\",\r\n // canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"./encounter/encounter.module#EncounterModule\",\r\n },\r\n {\r\n path: \"clearing-house\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"./clearing-house/clearing-house.module#ClearingHouseModule\",\r\n },\r\n {\r\n path: \"client\",\r\n loadChildren: \"./clients/clients.module#ClientsModule\",\r\n },\r\n {\r\n path: \"clientlist\",\r\n component: ClientListComponent,\r\n },\r\n {\r\n path: \"Logs\",\r\n loadChildren: \"./logs/logs.module#LogsModule\",\r\n },\r\n {\r\n path: \"Billing\",\r\n loadChildren: \"./billing/billing.module#BillingModule\",\r\n },\r\n {\r\n path: \"payers\",\r\n loadChildren: \"./payers/payers.module#PayersModule\",\r\n },\r\n {\r\n path: \"payroll\",\r\n loadChildren: \"./payroll/payroll.module#PayrollModule\",\r\n },\r\n {\r\n path: \"mailbox\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"../mailing/mailing.module#MailingModule\",\r\n },\r\n {\r\n path: \"app-config\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"./app-config/app-config.module#AppConfigModule\",\r\n },\r\n {\r\n // path: \"questionnaire\",\r\n path: \"questionnairess\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"./questionnaire/questionnaire.module#QuestionnaireModule\",\r\n },\r\n {\r\n path: \"assign-questionnaire\",\r\n // canActivate: [AgencyPermissionGuard],\r\n loadChildren:\r\n \"./providerquestionnaire/providerquestionnaire.module#ProviderquestionnaireModule\",\r\n },\r\n // {\r\n // path: \"add-keyword\",\r\n // canActivate: [AgencyPermissionGuard],\r\n // loadChildren: \"./keyword/keyword.module#KeywordModule\"\r\n // },\r\n {\r\n path: \"payment\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"./Payments/payment.module#PaymentModule\",\r\n },\r\n {\r\n path: \"educational-content\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren:\r\n \"./provider-documents/provider-documents.module#ProviderDocumentModule\",\r\n },\r\n {\r\n path: \"waiting-room/:id\",\r\n loadChildren: \"../waiting-room/waiting-room.module#WaitingRoomModule\",\r\n },\r\n {\r\n path: \"waiting-room\",\r\n loadChildren: \"../waiting-room/waiting-room.module#WaitingRoomModule\",\r\n },\r\n {\r\n path: \"my-appointments\",\r\n loadChildren:\r\n \"./my-appointments/my-appointments.module#MyAppointmentsModule\",\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AgencyRoutingModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n Router,\r\n CanActivate,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot\r\n} from \"@angular/router\";\r\nimport { take } from \"rxjs/operators\";\r\nimport { CommonService } from \"../core/services\";\r\n\r\n@Injectable()\r\nexport class AgencyPermissionGuard implements CanActivate {\r\n constructor(private router: Router, private commonService: CommonService) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n if (this.commonService.isRoutePermission(state.url)) {\r\n return true;\r\n } else {\r\n this.router.navigate([\"/web/not-allowed\"]);\r\n return false;\r\n }\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Choose action for Pending Appointment

\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{\\\"patient_name\\\"|translate}}: {{ patientData.patientName }}
\\r\\n
Date Of Appointment: {{ patientData.appointmentDateTime }}
\\r\\n
\\r\\n
\\r\\n \\r\\n Approve Appointment\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { format } from \"date-fns\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: \"app-appointment-action\",\r\n templateUrl: \"./appointment-action.component.html\",\r\n styleUrls: [\"./appointment-action.component.css\"],\r\n})\r\nexport class AppointmentActionComponent implements OnInit {\r\n patientData;\r\n constructor(\r\n private dialogModalRef: MatDialogRef, private translate:TranslateService,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n data.appointmentDateTime =\r\n format(data.appointmentDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(data.startDateTime, \"h:mm A\") +\r\n \" )\";\r\n this.patientData = data;\r\n }\r\n\r\n ngOnInit() {}\r\n closeDialog(action: string) {\r\n this.dialogModalRef.close(action);\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{\\\"change_password\\\"|translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please enter current password\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please enter new password\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"Password should have number,special character lowercase and uppercase letters\\\"|translate}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please re-enter new password\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"Password doesn't match\\\"|translate}}\\r\\n \\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 } from '@angular/forms';\r\nimport { ChangePasswordService } from './change-password.service';\r\nimport { ResponseModel } from '../../../../super-admin-portal/core/modals/common-model';\r\nimport { Subscription } from 'rxjs';\r\nimport { CommonService } from '../../core/services';\r\nimport { LoginUser } from '../../core/modals/loginUser.modal';\r\nimport { MatDialogRef } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { PasswordValidator } from '../../../../shared/password-validator';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.css']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n changePasswordForm: FormGroup;\r\n submitted: boolean = false;\r\n subscription: Subscription;\r\n userId: number;\r\n isShowPassword:any;\r\n isShowNewPassword:any;\r\n isShowRePassword:any;\r\n constructor(private notifier: NotifierService, private dialogModalRef: MatDialogRef, private commonService: CommonService, private formBuilder: FormBuilder, private changePasswordService: ChangePasswordService, private translate:TranslateService,\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.changePasswordForm = this.formBuilder.group({\r\n currentPassword: [],\r\n newPassword: [null,[PasswordValidator.strong]],\r\n confirmNewPassword: []\r\n }, { validator: this.validateForm.bind(this) });\r\n\r\n this.subscription = this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userId = user.data.userID;\r\n }\r\n });\r\n }\r\n get formControls() {\r\n return this.changePasswordForm.controls;\r\n }\r\n validateForm(formGroup: FormGroup) {\r\n let pass = formGroup.controls.newPassword.value;\r\n let confirmPass = formGroup.controls.confirmNewPassword.value;\r\n\r\n if (confirmPass == undefined || !confirmPass.length)\r\n return null;\r\n\r\n return pass && confirmPass && pass === confirmPass ? null : formGroup.controls.confirmNewPassword.setErrors({ notSame: true })\r\n }\r\n\r\n onSubmit() {\r\n if (!this.changePasswordForm.invalid) {\r\n let data = this.changePasswordForm.value;\r\n data.userID = this.userId;\r\n this.submitted = true;\r\n this.changePasswordService.updateNewPassword(data).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message);\r\n this.closeDialog('save');\r\n }\r\n else\r\n this.notifier.notify('error', response.message);\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../../core/services\";\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ChangePasswordService {\r\n private updateNewPasswordURL = 'user/UpdateUserPassword';\r\n constructor(private commonService: CommonService) {\r\n }\r\n updateNewPassword(data: any) {\r\n return this.commonService.post(this.updateNewPasswordURL, data);\r\n }\r\n}\r\n\r\n\r\n","module.exports = \"/*Right Side Client List*/ /*Outer Css write in main-container-component.scss*/ .searchclient {\\r\\n position: relative;\\r\\n width: 210px;\\r\\n /* float: left; */\\r\\n padding: 5px;\\r\\n} .searchwdbtn button {\\r\\n width: 40px !important;\\r\\n border-radius: 0px !important;\\r\\n margin-left: 8px !important;\\r\\n padding: 0 !important;\\r\\n} .searchclient button.serchclose-btn {\\r\\n width: auto !important;\\r\\n} .pateintsearch {\\r\\n font-size: 16px;\\r\\n padding: 10px 10px 10px 40px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n background: transparent;\\r\\n border-top: none;\\r\\n border-left: none;\\r\\n border-right: none;\\r\\n width: 100%;\\r\\n} .serchclose-btn {\\r\\n position: absolute;\\r\\n right: -20px;\\r\\n border: 0;\\r\\n background: none;\\r\\n padding: 0;\\r\\n top: 16px;\\r\\n color: rgba(0, 0, 0, .3);\\r\\n font-size: 18px;\\r\\n cursor: pointer;\\r\\n} .serchclose-btn:hover {\\r\\n color: #000;\\r\\n} :focus {\\r\\n outline: none;\\r\\n} .filterbox {\\r\\n width: 100%;\\r\\n overflow: hidden;\\r\\n background-color: #f1f1f1;\\r\\n padding: 10px;\\r\\n} .filterhead {\\r\\n font-size: 15px;\\r\\n padding-bottom: 5px;\\r\\n} .filterhead i {\\r\\n float: right;\\r\\n cursor: pointer;\\r\\n color: rgba(0,0,0,.2);\\r\\n} .addpateint {\\r\\n border: 0 none;\\r\\n color: #fff;\\r\\n float: left;\\r\\n font-size: 14px;\\r\\n text-transform: uppercase;\\r\\n height: 40px;\\r\\n min-width: 40px;\\r\\n cursor: pointer;\\r\\n padding: 0;\\r\\n} .s_filter {\\r\\n border: 0 none;\\r\\n float: left;\\r\\n height: 40px !important;\\r\\n min-width: 37px !important;\\r\\n padding: 0 !important;\\r\\n background-color: #f1f1f1 !important;\\r\\n color: rgba(0,0,0,.5);\\r\\n font-size: 16px !important;\\r\\n} .mat-list, .mat-nav-list, .mat-selection-list{padding: 0px !important;} .client-drag h2{\\r\\n color: #fff;\\r\\n font-weight: 500;\\r\\n font-size: 16px;\\r\\n padding: 12px 15px;\\r\\n margin: 0;\\r\\n text-transform: uppercase;\\r\\n background-color: #000000;\\r\\n} .clientsearch_img {\\r\\n position: absolute;\\r\\n left: 10px;\\r\\n top: 16px;\\r\\n} .clientsearch_img img {\\r\\n border: 1px solid #53D8A2;\\r\\n} .clientsearch_img i {\\r\\n position: absolute;\\r\\n bottom: 0px;\\r\\n left: 5px;\\r\\n font-size: 10px;\\r\\n color: #53D8A2;} .clientsearch_img .userletter {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n line-height: 40px;\\r\\n color: #53D8A2;\\r\\n border-radius: 50%;\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n display: inline-block;\\r\\n text-align: center;\\r\\n } .activec img, .activec.lock img {\\r\\n border: 1px solid #53D8A2;\\r\\n width:80px;\\r\\n height: 80px;\\r\\n} .inactive img, .inactive.lock img{border:1px solid #efaf01;} .lock img {\\r\\n border: 1px solid #777;\\r\\n} .activec.lock .fa-lock {\\r\\n color: #53D8A2;\\r\\n right: 17px;\\r\\n bottom: -5px;\\r\\n} .inactive i{color: #efaf01;} .inactive.lock .fa-lock {\\r\\n color: #efaf01;\\r\\n right: 17px;\\r\\n bottom: -5px;\\r\\n} .lock .fa-lock {\\r\\n color: #777;\\r\\n font-size: 13px;\\r\\n} .client-details-cover .ng-scrollbar-container .ng-scrollbar-view mat-list-item .mat-list-item-content .mat-list-text h3,.client-details-cover .ng-scrollbar-container .ng-scrollbar-view mat-list-item .mat-list-item-content .mat-list-text p {\\r\\n color: #fff;\\r\\n} .client-details-cover .ng-scrollbar-container .ng-scrollbar-view mat-list-item .mat-list-item-content img {\\r\\n border-color: #fff;\\r\\n} .searchwdbtn {\\r\\n /* float: right; */\\r\\n display: flex;\\r\\n justify-content: start;\\r\\n} .readmin-panel.two {\\r\\n border-radius: 0 0 10px 10px;\\r\\n} .search-button {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border: none;\\r\\n /* background-image: url(data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220%2C0%2C256%2C256%22 width%3D%2230px%22 height%3D%2230px%22%3E%3Cg fill-opacity%3D%220.23922%22 fill%3D%22%23000000%22 fill-rule%3D%22nonzero%22 stroke%3D%22none%22 stroke-width%3D%221%22 stroke-linecap%3D%22butt%22 stroke-linejoin%3D%22miter%22 stroke-miterlimit%3D%2210%22 stroke-dasharray%3D%22%22 stroke-dashoffset%3D%220%22 font-family%3D%22none%22 font-weight%3D%22none%22 font-size%3D%22none%22 text-anchor%3D%22none%22 style%3D%22mix-blend-mode%3A normal%22%3E%3Cg transform%3D%22scale(8.53333%2C8.53333)%22%3E%3Cpath d%3D%22M13%2C3c-5.511%2C0 -10%2C4.489 -10%2C10c0%2C5.511 4.489%2C10 10%2C10c2.39651%2C0 4.59738%2C-0.85101 6.32227%2C-2.26367l5.9707%2C5.9707c0.25082%2C0.26124 0.62327%2C0.36648 0.97371%2C0.27512c0.35044%2C-0.09136 0.62411%2C-0.36503 0.71547%2C-0.71547c0.09136%2C-0.35044 -0.01388%2C-0.72289 -0.27512%2C-0.97371l-5.9707%2C-5.9707c1.41266%2C-1.72488 2.26367%2C-3.92576 2.26367%2C-6.32227c0%2C-5.511 -4.489%2C-10 -10%2C-10zM13%2C5c4.43012%2C0 8%2C3.56988 8%2C8c0%2C4.43012 -3.56988%2C8 -8%2C8c-4.43012%2C0 -8%2C-3.56988 -8%2C-8c0%2C-4.43012 3.56988%2C-8 8%2C-8z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E); */\\r\\n background-repeat: no-repeat;\\r\\n background-image: url(\\\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220%2C0%2C256%2C256%22 width%3D%2230px%22 height%3D%2230px%22%3E%3Cg fill-opacity%3D%220.23922%22 fill%3D%22%23000000%22 fill-rule%3D%22nonzero%22 stroke%3D%22none%22 stroke-width%3D%221%22 stroke-linecap%3D%22butt%22 stroke-linejoin%3D%22miter%22 stroke-miterlimit%3D%2210%22 stroke-dasharray%3D%22%22 stroke-dashoffset%3D%220%22 font-family%3D%22none%22 font-weight%3D%22none%22 font-size%3D%22none%22 text-anchor%3D%22none%22 style%3D%22mix-blend-mode%3A normal%22%3E%3Cg transform%3D%22scale(8.53333%2C8.53333)%22%3E%3Cpath d%3D%22M13%2C3c-5.511%2C0 -10%2C4.489 -10%2C10c0%2C5.511 4.489%2C10 10%2C10c2.39651%2C0 4.59738%2C-0.85101 6.32227%2C-2.26367l5.9707%2C5.9707c0.25082%2C0.26124 0.62327%2C0.36648 0.97371%2C0.27512c0.35044%2C-0.09136 0.62411%2C-0.36503 0.71547%2C-0.71547c0.09136%2C-0.35044 -0.01388%2C-0.72289 -0.27512%2C-0.97371l-5.9707%2C-5.9707c1.41266%2C-1.72488 2.26367%2C-3.92576 2.26367%2C-6.32227c0%2C-5.511 -4.489%2C-10 -10%2C-10zM13%2C5c4.43012%2C0 8%2C3.56988 8%2C8c0%2C4.43012 -3.56988%2C8 -8%2C8c-4.43012%2C0 -8%2C-3.56988 -8%2C-8c0%2C-4.43012 3.56988%2C-8 8%2C-8z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\");\\r\\n background-position: center;\\r\\n background-size: 20px 20px;\\r\\n border-radius: 0 4px 4px 0;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n right: 5px;\\r\\n color: grey;\\r\\n top: 5px;\\r\\n} .pos button {\\r\\n background-color: transparent;\\r\\n} .pos {\\r\\n position: relative;\\r\\n} @media screen and (max-width:575px) {\\r\\n .pateintsearch {\\r\\n font-size: 14px;\\r\\n padding: 10px 10px 10px 10px;\\r\\n }\\r\\n}\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\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, ViewEncapsulation, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { format } from \"date-fns\";\r\nimport { FilterModel, ResponseModel } from \"../../core/modals/common-model\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { ClientList, StaffClientRequestModel } from \"./client-list.model\";\r\nimport { LayoutService } from \"../../core/services/layout.service\";\r\nimport { ClientListService } from \"./client-list.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: \"app-client-list\",\r\n templateUrl: \"./client-list.component.html\",\r\n styleUrls: [\"./client-list.component.css\"],\r\n})\r\nexport class ClientListComponent implements OnInit {\r\n searchKey: string = \"\";\r\n active: boolean = false;\r\n metaData: any;\r\n inActive: boolean = false;\r\n toggle: boolean = false;\r\n locationId: number;\r\n patientList: Array = [];\r\n clientList: Array = [];\r\n \r\n isLoadingClients: boolean;\r\n loaderImage = \"/assets/loader.gif\";\r\n filterModel: FilterModel;\r\n staffClientRequestModel: StaffClientRequestModel;\r\n currentStaff;\r\n displayColumns: Array = [\r\n {\r\n displayName: \"first_name\",\r\n key: \"patientFirstName\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"15%\",\r\n },\r\n {\r\n displayName: \"last_name\",\r\n key: \"patientLastName\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"15%\",\r\n },\r\n {\r\n displayName: \"gender\",\r\n key: \"gender\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"15%\",\r\n },\r\n {\r\n displayName: \"dob\",\r\n key: \"dob\",\r\n type: \"date\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"15%\",\r\n },\r\n {\r\n displayName: \"email\",\r\n key: \"email\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"15%\",\r\n },\r\n {\r\n displayName: \"phone\",\r\n key: \"phoneNumber\",\r\n //key: \"emergencyContactPhone\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"15%\",\r\n },\r\n { displayName: \"mrn\", key: \"mrn\", isSort: true, class: \"\", width: \"15%\" },\r\n ];\r\n \r\n constructor(\r\n private clientListingService: ClientListService,\r\n private commonService: CommonService,\r\n private route: Router,\r\n private layoutService: LayoutService,\r\n private translate:TranslateService\r\n\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.staffClientRequestModel = new StaffClientRequestModel();\r\n }\r\n \r\n ngOnInit() {\r\n this.isLoadingClients = true;\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.locationId = user.currentLocationId;\r\n this.staffClientRequestModel.staffId = user.id;\r\n this.getStaffClients();\r\n }\r\n });\r\n }\r\n searchChanged = (e) => {\r\n this.staffClientRequestModel.searchText = e;\r\n this.getStaffClients();\r\n };\r\n // setPaginatorModel(\r\n // pageNumber: number,\r\n // pageSize: number,\r\n // sortColumn: string,\r\n // sortOrder: string,\r\n // searchText: string\r\n // ) {\r\n // this.filterModel.pageNumber = pageNumber;\r\n // this.filterModel.pageSize = pageSize;\r\n // this.filterModel.sortOrder = sortOrder != undefined ? sortOrder : null;\r\n // this.filterModel.sortColumn = sortColumn != undefined ? sortColumn : null;\r\n // this.filterModel.searchText = searchText != undefined ? searchText : null;\r\n // }\r\n // applyFilter(searchText: string = \"\") {\r\n // this.setPaginatorModel(\r\n // 1,\r\n // this.filterModel.pageSize,\r\n // this.filterModel.sortColumn,\r\n // this.filterModel.sortOrder,\r\n // searchText\r\n // );\r\n // if (this.searchKey.trim() == \"\" || searchText.trim().length >= 3) {\r\n // this.getClients();\r\n // }\r\n // }\r\n // clearFilters() {\r\n // this.searchKey = \"\";\r\n // this.filterModel.searchText = \"\";\r\n // this.setPaginatorModel(\r\n // 1,\r\n // this.filterModel.pageSize,\r\n // this.filterModel.sortColumn,\r\n // this.filterModel.sortOrder,\r\n // this.filterModel.searchText\r\n // );\r\n // this.getClients();\r\n // }\r\n // onPageOrSortChange(changeState?: any) {\r\n // this.setPaginatorModel(\r\n // changeState.pageNumber,\r\n // changeState.pageSize,\r\n // changeState.sort,\r\n // changeState.order,\r\n // \"\"\r\n // );\r\n // this.getClients();\r\n // }\r\n // getActiveClients(event: any) {\r\n // this.active = event.checked;\r\n // this.getClients();\r\n // }\r\n // getInactiveClients(event: any) {\r\n // this.inActive = event.checked;\r\n // this.getClients();\r\n // }\r\n \r\n // getClients() {\r\n // let status: boolean = true;\r\n // if (this.active == true && this.inActive == false) {\r\n // status = true;\r\n // } else if (this.active == false && this.inActive == true) {\r\n // status = false;\r\n // }\r\n \r\n // this.isLoadingClients = true;\r\n // this.clientListingService\r\n // .getPatients(this.searchKey, this.locationId, status)\r\n // .subscribe((response: ResponseModel) => {\r\n // this.isLoadingClients = false;\r\n // if (\r\n // response != null &&\r\n // response.data != null &&\r\n // response.statusCode == 200\r\n // ) {\r\n // this.patientList = response.data.map((x) => {\r\n // x.dob = format(x.dob, \"MM/DD/YYYY\");\r\n // return x;\r\n // });\r\n // this.metaData = response.meta;\r\n // } else {\r\n // this.patientList = [];\r\n // this.metaData = null;\r\n // }\r\n // this.metaData.pageSizeOptions = [5, 10, 25, 50, 100];\r\n // });\r\n // }\r\n \r\n // onClick(event?: ClientList) {\r\n // this.layoutService.toggleClientDrawer(false);\r\n // if (event)\r\n // this.route.navigate([\"web/client/profile\"], {\r\n // queryParams: {\r\n // id:\r\n // event != null\r\n // ? this.commonService.encryptValue(event.patientId, true)\r\n // : null,\r\n // },\r\n // });\r\n // else this.route.navigate([\"web/client\"], { queryParams: { id: null } });\r\n // }\r\n onPageOrSortChange = (e) => {\r\n this.staffClientRequestModel.pageNumber = e.pageNumber;\r\n this.staffClientRequestModel.pageSize = e.pageSize;\r\n this.staffClientRequestModel.sortColumn = e.sort;\r\n this.staffClientRequestModel.sortOrder = e.order;\r\n this.getStaffClients();\r\n };\r\n onTableActionClick = (e) => {\r\n this.route.navigate([\"web/client/profile\"], {\r\n queryParams: {\r\n id: this.commonService.encryptValue(e.data.patientId, true),\r\n },\r\n });\r\n };\r\n \r\n // toggleAdvancedFilter(toggle?: boolean) {\r\n // this.toggle = toggle != null ? toggle : !this.toggle;\r\n // // this.toggle = false;\r\n // }\r\n \r\n getStaffClients = () => {\r\n // console.log(this.staffClientRequestModel);\r\n this.clientListingService\r\n .getStaffClient(this.staffClientRequestModel)\r\n .subscribe((res) => {\r\n this.isLoadingClients = false;\r\n if (res != null && res.data != null && res.statusCode == 200) {\r\n this.clientList = res.data.map((x) => {\r\n x.dob = format(x.dob, \"MM/DD/YYYY\");\r\n return x;\r\n });\r\n this.clientList = this.clientList.reverse();\r\n this.metaData = res.meta;\r\n } else {\r\n this.clientList = [];\r\n this.metaData = null;\r\n }\r\n this.metaData.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n };\r\n}\r\n \r\n","import { FilterModel } from \"../../core/modals/common-model\";\r\n\r\nexport class ClientList {\r\n dob: string;\r\n firstName: string;\r\n isActive: boolean;\r\n isBlock: boolean;\r\n lastName: string;\r\n mrn: string;\r\n email: string;\r\n phone: number;\r\n patientId: number;\r\n photoThumbnailPath: string;\r\n}\r\n\r\nexport class StaffClientRequestModel extends FilterModel {\r\n staffId:number;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../../core/services\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ClientListService {\r\n private getPatientsURL = \"Patients/GetPatients\";\r\n private GetStaffAllClientsUrl = \"Staffs/GetStaffAllClients\";\r\n constructor(private commonService: CommonService) {}\r\n getPatients(searchKey: string, locationId: number, isActive: boolean) {\r\n let url =\r\n this.getPatientsURL +\r\n \"?LocationIDs=\" +\r\n locationId +\r\n \"&searchKey=\" +\r\n searchKey +\r\n (isActive == undefined ? \"\" : \"&isActive=\" + isActive);\r\n return this.commonService.getAll(url, {}, true);\r\n }\r\n\r\n getStaffClient = (data) => {\r\n let url = `?staffId=${data.staffId}&searchText=${data.searchText}&pageNumber=${data.pageNumber}&pageSize=${data.pageSize}&sortColumn=${data.sortColumn}&sortOrder=${data.sortOrder}`;\r\n return this.commonService.get(this.GetStaffAllClientsUrl + url);\r\n };\r\n}\r\n","export class AddressModel\r\n{\r\n id: number=null;\r\n address1: string=null;\r\n address2: string=null;\r\n apartmentNumber: string=null;\r\n countryId: number=null;\r\n city: string=null;\r\n stateId: number=null;\r\n zip: string=\"0\";\r\n patientLocationId: number=null;\r\n addressTypeId: number=null;\r\n addressTypeName: string=null;\r\n isPrimary: boolean=false;\r\n isMailingSame: boolean=false;\r\n patientId: number=null;\r\n latitude: number;\r\n longitude: number;\r\n isDeleted: boolean=false;\r\n others: string=null;\r\n}\r\n\r\nexport class PhoneNumberModel\r\n{\r\n id: number;\r\n patientID: number;\r\n phoneNumberTypeId: number;\r\n phoneNumber: string;\r\n preferenceID: number;\r\n otherPhoneNumberType: string;\r\n isDeleted: boolean;\r\n}","module.exports = \".additionalAddressBtn {\\r\\n padding-left: 10px;\\r\\n padding-top: 2px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n.addnum {\\r\\n background: transparent none repeat scroll 0 0;\\r\\n border: 0 none;\\r\\n float: left;\\r\\n font-size: 18px;\\r\\n line-height: 14px;\\r\\n padding: 0;\\r\\n cursor: pointer;\\r\\n color: #7a7a7a;\\r\\n}\\r\\n.remove-btn{\\r\\n bottom:32px !important;\\r\\n}\\r\\n.parent_div {\\r\\n position: relative;\\r\\n}\\r\\n.additem {\\r\\n right: 15px;\\r\\n}\\r\\n.removeitem {\\r\\n right: 35px;\\r\\n}\\r\\n.country-field {\\r\\n position: inherit !important;\\r\\n}\\r\\n.additem {\\r\\n bottom: inherit !important;\\r\\n padding: inherit !important;\\r\\n position: inherit !important;\\r\\n right: inherit !important;\\r\\n}\\r\\n/* .col-sm-1 {\\r\\n position: inherit !important;\\r\\n width: inherit !important;\\r\\n min-height: inherit !important;\\r\\n padding-right: inherit !important;\\r\\n padding-left: ;\\r\\n} */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
1\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ adType.value }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{\\r\\n ix == 0\\r\\n ? ('primary_address' | translate)\\r\\n : ix == 1\\r\\n ? ('mailing_address' | translate)\\r\\n : \\\"\\\"\\r\\n }}\\r\\n

\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{'same_as_primary_address'|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ country.value }}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_select_country'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ state.value }}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_state\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'additional_address'|translate}}

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

{{'additional_phone_number'|translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ type.value }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ pref.value }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import {\r\n Component,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, FormArray } from \"@angular/forms\";\r\nimport { ClientsService } from \"../clients.service\";\r\nimport { AddressModel, PhoneNumberModel } from \"../address.model\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { UsersService } from \"../../users/users.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-address\",\r\n templateUrl: \"./address.component.html\",\r\n styleUrls: [\"./address.component.css\"],\r\n})\r\nexport class AddressComponent implements OnInit {\r\n addressForm: FormGroup;\r\n masterCountry: any = [];\r\n masterState: any = [];\r\n masterPatientLocation: any = [];\r\n masterPhoneType: any[];\r\n masterPhonePreferences: any = [];\r\n masterAddressType: any[];\r\n patientAddress: Array = [];\r\n phoneNumber: Array = [];\r\n existingAddress: any[];\r\n existingPhoneNumber: any[];\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n clientId: number;\r\n submitted: boolean = false;\r\n sameAsPrimary: boolean = false;\r\n selectedPhoneCode: any[] = [];\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private usersService: UsersService,\r\n private clientService: ClientsService,\r\n private translate:TranslateService,\r\n private notifier: NotifierService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n async ngOnInit() {\r\n this.addressForm = this.formBuilder.group({\r\n addresses: this.formBuilder.array([]),\r\n phoneNumbers: this.formBuilder.array([]),\r\n });\r\n this.getMasterData();\r\n this.getAddressesAndPhoneNumbers();\r\n }\r\n get formControls() {\r\n return this.addressForm.controls;\r\n }\r\n get addresses() {\r\n return this.addressForm.get(\"addresses\") as FormArray;\r\n }\r\n\r\n get phoneNumbers() {\r\n return this.addressForm.get(\"phoneNumbers\") as FormArray;\r\n }\r\n\r\n getAddressControl(ix: number) {\r\n const pAdrr = this.addresses.get([ix]) as FormGroup;\r\n return pAdrr.controls[\"address1\"];\r\n }\r\n\r\n public async handleAddressChange(addressObj: any, index: number) {\r\n addressObj.zip=\"0\";\r\n const foundCountry = this.masterCountry.find((x) => {\r\n if (x.value == addressObj.country) {\r\n return x\r\n }\r\n })\r\n\r\n //this.updateValue(foundCountry.id);\r\n let updateStates = await this.updateValue(foundCountry.id);\r\n this.masterState = updateStates.data;\r\n\r\n // console.log('this.masterState', this.masterState);\r\n const foundState = this.masterState.find((x) => {\r\n if (x.value == addressObj.state) {\r\n return x\r\n }\r\n })\r\n let pAdd = this.addresses.get([index]) as FormGroup;\r\n const pObJ = {\r\n address1: addressObj.address1,\r\n // countryId:\r\n // this.masterCountry.find(\r\n // (x) =>\r\n // x.value.toUpperCase() == (addressObj.country || \"\").toUpperCase()\r\n // ) == null\r\n // ? null\r\n // : this.masterCountry.find(\r\n // (x) =>\r\n // x.value.toUpperCase() ==\r\n // (addressObj.country || \"\").toUpperCase()\r\n // ).id,\r\n countryId: foundCountry.id,\r\n city: addressObj.city,\r\n // stateId:\r\n // this.masterState.find(\r\n // (y) =>\r\n // (y.stateAbbr || \"\").toUpperCase() ==\r\n // (addressObj.state || \"\").toUpperCase()\r\n // ) == null\r\n // ? null\r\n // : this.masterState.find(\r\n // (y) =>\r\n // (y.stateAbbr || \"\").toUpperCase() ==\r\n // (addressObj.state || \"\").toUpperCase()\r\n // ).id,\r\n stateId: foundState.id,\r\n zip: addressObj.zip,\r\n latitude: addressObj.latitude,\r\n longitude: addressObj.longitude,\r\n };\r\n pAdd.patchValue(pObJ);\r\n // Do some stuff\r\n this.resetSameAsPrimaryAddress();\r\n }\r\n\r\n\r\n onSubmit(event: any) {\r\n if (!this.addressForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n let addressList = this.addressForm.value.addresses;\r\n let phoneNumberList = this.addressForm.value.phoneNumbers;\r\n phoneNumberList.forEach((element, index: number) => {\r\n element.phoneNumber = this.selectedPhoneCode[index] == '0' ? element.phoneNumber : this.selectedPhoneCode[index].trim() + \" \" + element.phoneNumber;\r\n });\r\n\r\n let data = {\r\n patientId: this.clientId,\r\n patientAddress: addressList,\r\n phoneNumbers: phoneNumberList,\r\n };\r\n let pAddressTypeId = null;\r\n let mAddressTypeId = null;\r\n if (this.masterAddressType != null && this.masterAddressType.length > 0) {\r\n pAddressTypeId = this.masterAddressType.find(\r\n (x) => x.globalCodeName == \"Primary Home\"\r\n ).id; //Manage this with key from Gobal Code Name key\r\n mAddressTypeId = this.masterAddressType.find(\r\n (x) => x.globalCodeName == \"Mailing Home\"\r\n ).id; //Manage this with key from Gobal Code Name key\r\n }\r\n addressList[0] != null\r\n ? (addressList[0].addressTypeId = pAddressTypeId)\r\n : null;\r\n addressList[0] != null ? (addressList[0].isPrimary = true) : false;\r\n addressList[0] != null\r\n ? (addressList[0].isMailingSame = this.sameAsPrimary)\r\n : false;\r\n addressList[1] != null\r\n ? (addressList[1].addressTypeId = mAddressTypeId)\r\n : null;\r\n //This should be removed from front end and should be managed in backend ---------Added by Sunny Bhardwaj\r\n this.patientAddress.filter((x: AddressModel) => {\r\n if (addressList.findIndex((y) => y.id == x.id) == -1) {\r\n x.isDeleted = true;\r\n addressList.push(x);\r\n }\r\n });\r\n\r\n //This should be removed from front end and should be managed in backend ---------Added by Sunny Bhardwaj\r\n this.phoneNumber.filter((x: PhoneNumberModel) => {\r\n if (phoneNumberList.findIndex((y) => y.id == x.id) == -1) {\r\n x.isDeleted = true;\r\n phoneNumberList.push(x);\r\n }\r\n });\r\n\r\n this.submitted = true;\r\n this.clientService\r\n .savePatientAddressesAndPhoneNumbers(data)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n // if (clickType == \"Save\") this.getAddressesAndPhoneNumbers();\r\n \r\n if (clickType == \"SaveContinue\")\r\n this.handleTabChange.next({\r\n tab: \"Insurance\",\r\n id: this.clientId,\r\n });\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n onNext(){\r\n this.handleTabChange.next({\r\n tab: \"Insurance\",\r\n id: this.clientId,\r\n });\r\n }\r\n\r\n onPrevious(){\r\n this.handleTabChange.next({\r\n tab: \"Guardian/Guarantor\",\r\n id: this.clientId,\r\n });\r\n }\r\n // getMasterData() {\r\n // let data =\r\n // \"ADDRESSTYPE,MASTERSTATE,MASTERCOUNTRY,MASTERPATIENTLOCATION,PHONETYPE,MASTERPHONEPREFERENCES\";\r\n // this.clientService.getMasterData(data).subscribe((response: any) => {\r\n // if (response != null) {\r\n // this.masterCountry =\r\n // response.masterCountry != null ? response.masterCountry : [];\r\n // this.masterState =\r\n // response.masterState != null ? response.masterState : [];\r\n // this.masterPatientLocation =\r\n // response.masterPatientLocation != null\r\n // ? response.masterPatientLocation\r\n // : [];\r\n // this.masterPhoneType = this.removeDuplicates(\r\n // response.masterPhoneType != null ? response.masterPhoneType : [],\r\n // \"value\"\r\n // );\r\n // this.masterPhonePreferences =\r\n // response.masterPhonePreferences != null\r\n // ? response.masterPhonePreferences\r\n // : [];\r\n // this.masterAddressType =\r\n // response.masterAddressType != null ? response.masterAddressType : [];\r\n // }\r\n // });\r\n // }\r\n\r\n async getMasterData() {\r\n let masterData = await this.getAwaitMasterData();\r\n if (masterData != null) {\r\n this.masterCountry =\r\n masterData.masterCountry != null ? masterData.masterCountry : [];\r\n this.masterState =\r\n masterData.masterState != null ? masterData.masterState : [];\r\n this.masterPatientLocation =\r\n masterData.masterPatientLocation != null\r\n ? masterData.masterPatientLocation\r\n : [];\r\n this.masterPhoneType = this.removeDuplicates(\r\n masterData.masterPhoneType != null ? masterData.masterPhoneType : [],\r\n \"value\"\r\n );\r\n this.masterPhonePreferences =\r\n masterData.masterPhonePreferences != null\r\n ? masterData.masterPhonePreferences\r\n : [];\r\n this.masterAddressType =\r\n masterData.masterAddressType != null ? masterData.masterAddressType : [];\r\n }\r\n }\r\n\r\n getAwaitMasterData(): Promise {\r\n let data = \"ADDRESSTYPE,MASTERSTATE,MASTERCOUNTRY,MASTERPATIENTLOCATION,PHONETYPE,MASTERPHONEPREFERENCES\";\r\n return this.clientService.getMasterData(data).toPromise();\r\n }\r\n\r\n removeDuplicates = (array, key) => {\r\n //////;\r\n return array.reduce((arr, item) => {\r\n const removed = arr.filter((i) => i[key] !== item[key]);\r\n return [...removed, item];\r\n }, []);\r\n };\r\n\r\n addAddress(obj: AddressModel) {\r\n obj.zip=\"0\"\r\n obj.patientLocationId=101;\r\n const control = this.addressForm.controls[\"addresses\"];\r\n control.push(\r\n this.formBuilder.group({\r\n id: obj.id,\r\n address1: obj.address1,\r\n countryId: obj.countryId,\r\n city: obj.city,\r\n apartmentNumber: obj.apartmentNumber,\r\n stateId: obj.stateId,\r\n zip: obj.zip,\r\n patientLocationId: obj.patientLocationId,\r\n patientId: this.clientId,\r\n isPrimary: obj.isPrimary,\r\n isMailingSame: obj.isMailingSame,\r\n addressTypeId: obj.addressTypeId,\r\n latitude: obj.latitude,\r\n longitude: obj.longitude,\r\n })\r\n );\r\n }\r\n\r\n addPhoneNumber(obj: PhoneNumberModel) {\r\n const control = this.addressForm.controls[\"phoneNumbers\"];\r\n control.push(\r\n this.formBuilder.group({\r\n id: obj.id,\r\n phoneNumberTypeId: obj.phoneNumberTypeId,\r\n phoneNumber: obj.phoneNumber,\r\n preferenceID: obj.preferenceID,\r\n otherPhoneNumberType: obj.otherPhoneNumberType,\r\n isDeleted: obj.isDeleted,\r\n patientID: this.clientId,\r\n })\r\n );\r\n\r\n this.selectedPhoneCode.push('0');\r\n }\r\n addAdditionalAddress() {\r\n this.addAddress(new AddressModel());\r\n }\r\n\r\n removeAdress(index: number) {\r\n this.addresses.removeAt(index);\r\n }\r\n addAdditionalPhoneNumber() {\r\n this.addPhoneNumber(new PhoneNumberModel());\r\n }\r\n\r\n removePhoneNumber(index: number) {\r\n this.phoneNumbers.removeAt(index);\r\n this.selectedPhoneCode.splice(index, 1);\r\n }\r\n getAddressesAndPhoneNumbers() {\r\n let addressArrayLength = 2;\r\n let phoneArrayLength = 1;\r\n this.clientService\r\n .getPatientAddressesAndPhoneNumbers(this.clientId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null) {\r\n while (this.addresses.length !== 0) {\r\n this.addresses.removeAt(0);\r\n }\r\n while (this.phoneNumbers.length !== 0) {\r\n this.phoneNumbers.removeAt(0);\r\n }\r\n if (\r\n response.data.PatientAddress != null &&\r\n response.data.PatientAddress.length > 0\r\n ) {\r\n this.patientAddress = response.data.PatientAddress;\r\n addressArrayLength =\r\n this.patientAddress.length > 2\r\n ? this.patientAddress.length\r\n : addressArrayLength;\r\n for (let i = 0; i < addressArrayLength; i++) {\r\n if (this.patientAddress[i] != null) {\r\n if (i == 0)\r\n this.sameAsPrimary = this.patientAddress[i].isMailingSame;\r\n this.addAddress(this.patientAddress[i]);\r\n } else this.addAddress(new AddressModel());\r\n }\r\n } else {\r\n this.addAddress(new AddressModel());\r\n this.addAddress(new AddressModel());\r\n }\r\n if (\r\n response.data.PhoneNumbers != null &&\r\n response.data.PhoneNumbers.length > 0\r\n ) {\r\n // this.phoneNumber = response.data.PhoneNumbers;\r\n if (response.data.PhoneNumbers.length > 0) {\r\n this.selectedPhoneCode = [];\r\n }\r\n\r\n this.phoneNumber = (response.data.PhoneNumbers || []\r\n ).map((Obj, index) => {\r\n let phoneCode = !Obj.phoneNumber ? \"0\" : Obj.phoneNumber.split(\" \").length == 1 ? \"0\" : Obj.phoneNumber.split(\" \")[0];\r\n phoneCode = phoneCode.replace(\"(\", \"\").replace(\")\", \"\");\r\n this.selectedPhoneCode.push(phoneCode);\r\n Obj.phoneNumber = this.getPhoneNumber(Obj.phoneNumber, index);\r\n return Obj;\r\n });\r\n\r\n phoneArrayLength =\r\n this.phoneNumber.length > 1\r\n ? this.phoneNumber.length\r\n : phoneArrayLength;\r\n for (let i = 0; i < phoneArrayLength; i++) {\r\n if (this.phoneNumber[i] != null)\r\n this.addPhoneNumber(this.phoneNumber[i]);\r\n else this.addPhoneNumber(new PhoneNumberModel());\r\n }\r\n } else {\r\n this.addPhoneNumber(new PhoneNumberModel());\r\n }\r\n }\r\n });\r\n }\r\n\r\n sameAsPrimaryClick(event: any) {\r\n this.sameAsPrimary = event.checked;\r\n let pObJ = {};\r\n let pAdd = this.addresses.get([0]) as FormGroup;\r\n let mAdd = this.addresses.get([1]) as FormGroup;\r\n if (event.checked) {\r\n pObJ = {\r\n address1: pAdd.controls[\"address1\"].value,\r\n countryId: pAdd.controls[\"countryId\"].value,\r\n city: pAdd.controls[\"city\"].value,\r\n apartmentNumber: pAdd.controls[\"apartmentNumber\"].value,\r\n stateId: pAdd.controls[\"stateId\"].value,\r\n zip: pAdd.controls[\"zip\"].value,\r\n // patientLocationId: pAdd.controls[\"patientLocationId\"].value,\r\n patientLocationId: 101,\r\n };\r\n } else {\r\n pObJ = {\r\n address1: \"\",\r\n countryId: null,\r\n city: \"\",\r\n apartmentNumber: \"\",\r\n stateId: null,\r\n zip: \"0\",\r\n // patientLocationId: null,\r\n patientLocationId: 101,\r\n };\r\n }\r\n mAdd.patchValue(pObJ);\r\n }\r\n // updateValue(country: any) {\r\n // this.usersService.getStateByCountryId(country).subscribe((res) => {\r\n // console.log(res);\r\n // if (res.statusCode == 200) {\r\n // this.masterState = res.data;\r\n // } else {\r\n // this.masterState = [];\r\n // this.notifier.notify(\"error\", res.message);\r\n // }\r\n // });\r\n // }\r\n\r\n async updateValue(country: any): Promise {\r\n this.resetSameAsPrimaryAddress();\r\n return this.usersService.getStateByCountryId(country).toPromise();\r\n }\r\n\r\n phoneCodeChange($event, index: any) {\r\n this.selectedPhoneCode[index] = $event;\r\n }\r\n\r\n getPhoneNumber(phoneNumber, index: any) {\r\n if (phoneNumber) {\r\n const phoneData = phoneNumber.split(\" \");\r\n if (phoneData.length == 1) {\r\n phoneNumber = phoneData[0];\r\n } else {\r\n phoneNumber = phoneData[1];\r\n }\r\n } else {\r\n return phoneNumber;\r\n }\r\n return phoneNumber;\r\n }\r\n\r\n //reset set Primary address check box and it's values \r\n resetSameAsPrimaryAddress() {\r\n this.sameAsPrimary = false;\r\n let mAdd = this.addresses.get([1]) as FormGroup;\r\n let pObJ = {};\r\n pObJ = {\r\n address1: \"\",\r\n countryId: null,\r\n city: \"\",\r\n apartmentNumber: \"\",\r\n stateId: null,\r\n zip: \"0\",\r\n // patientLocationId: null,\r\n patientLocationId: 101,\r\n };\r\n mAdd.patchValue(pObJ);\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{ headerText }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value|translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{'Please select an allergy type'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Please enter allergen'|translate}}\\r\\n \\r\\n \\r\\n {{'Allowed only alphabetic characters.'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value | translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{'Please select a reaction'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value | translate}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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, Output, EventEmitter, Inject } from \"@angular/core\";\r\nimport { AllergyModel } from \"../allergies.model\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { ClientsService } from \"../../clients.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-allergies-modal\",\r\n templateUrl: \"./allergies-modal.component.html\",\r\n styleUrls: [\"./allergies-modal.component.css\"],\r\n})\r\nexport class AllergiesModalComponent implements OnInit {\r\n maxDate = new Date();\r\n patientId: number;\r\n allergyModel: AllergyModel;\r\n isEditForm: boolean;\r\n allergyForm: FormGroup;\r\n allergyAddForm: FormGroup;\r\n allergyEditForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = this.translate.instant('Client Allergies');\r\n //master models\r\n masterAllergies: any[];\r\n masterReaction: any[];\r\n statusModel: any[];\r\n appointmentId = 1;\r\n //////////////////\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private allergyDialogModalRef: MatDialogRef,\r\n private clientService: ClientsService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n //assign data\r\n\r\n //update header text\r\n\r\n // if (\r\n // this.allergyModel &&\r\n // this.allergyModel.id != undefined &&\r\n // this.allergyModel.id != null\r\n // ) {\r\n // ///\r\n // this.isEditForm = true;\r\n // this.headerText = \"Edit Client Allergies\";\r\n // //this.allergyModel = data.allergy;\r\n // console.log(\"Edit\", this.allergyModel);\r\n // } else {\r\n // this.isEditForm = false;\r\n // this.headerText = \"Add Client Allergies\";\r\n // this.patientId = data.allergy.patientId;\r\n // this.appointmentId = data.allergy.appointmentId;\r\n // }\r\n this.statusModel = [\r\n { id: true, value: \"Active\" },\r\n { id: false, value: \"Inactive\" },\r\n ];\r\n }\r\n\r\n //on initial load\r\n ngOnInit() {\r\n // console.log(this.data);\r\n // this.refreshGrid.subscribe(this.data.refreshGrid);\r\n this.patientId = this.data.allergy.patientId;\r\n this.appointmentId = this.data.allergy.appointmentId;\r\n this.allergyAddForm = this.formBuilder.group({\r\n id: [],\r\n patientID: [],\r\n allergen: [],\r\n allergyTypeId: [],\r\n diagnoseDate: [],\r\n isActive: [],\r\n note: [],\r\n reactionID: [],\r\n });\r\n\r\n this.getMasterData();\r\n\r\n // if (this.data.allergy.data) {\r\n // this.allergyModel=this.data.allergy.data\r\n // this.setEditForm();\r\n // }\r\n }\r\n\r\n //get the form controls on html page\r\n get formAddControls() {\r\n return this.allergyAddForm.controls;\r\n }\r\n\r\n setEditForm() {\r\n this.allergyAddForm.patchValue({\r\n id: this.allergyModel.id,\r\n patientID: this.allergyModel.patientId,\r\n allergen: this.allergyModel.allergen,\r\n allergyTypeId: this.allergyModel.allergyTypeId,\r\n diagnoseDate:\r\n new Date(this.allergyModel.createdDate) < new Date(\"01-01-1971\")\r\n ? \"\"\r\n : new Date(this.allergyModel.createdDate),\r\n isActive: this.allergyModel.isActive,\r\n note: this.allergyModel.note,\r\n reactionID: this.allergyModel.reactionID,\r\n });\r\n }\r\n //submit for create update of vitals\r\n onSubmit(event: any) {\r\n this.allergyAddForm.controls[\"diagnoseDate\"].clearValidators();\r\n this.allergyAddForm.controls[\"diagnoseDate\"].updateValueAndValidity();\r\n if (!this.allergyAddForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.allergyModel = this.allergyAddForm.value;\r\n this.allergyModel.patientId = this.patientId;\r\n this.allergyModel.appointmentId = this.appointmentId;\r\n this.allergyModel.createdDate = this.allergyModel.createdDate = this\r\n .allergyAddForm.controls[\"diagnoseDate\"].value\r\n ? \"\"\r\n : format(\r\n this.allergyAddForm.controls[\"diagnoseDate\"].value,\r\n \"MM/DD/YYYY\"\r\n );\r\n\r\n this.clientService\r\n .createAllergy(this.allergyModel)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n if (clickType == \"Save\") this.closeDialog(\"save\");\r\n else if (clickType == \"SaveAddMore\") {\r\n this.refreshGrid.next();\r\n this.allergyAddForm.reset();\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n //submit for Edit form\r\n // onEditFormSubmit(event: any) {\r\n // if (!this.allergyEditForm.invalid) {\r\n // let clickType = event.currentTarget.name;\r\n // this.submitted = true;\r\n // this.allergyModel = this.allergyEditForm.value;\r\n // this.allergyModel.patientId = this.patientId;\r\n // this.allergyModel.appointmentId = this.appointmentId;\r\n // this.allergyModel.createdDate = format(\r\n // this.allergyEditForm.controls[\"createdDate\"].value,\r\n // \"YYYY-MM-DD\"\r\n // );\r\n // this.clientService\r\n // .createAllergy(this.allergyModel)\r\n // .subscribe((response: any) => {\r\n // this.submitted = false;\r\n // if (response.statusCode == 200) {\r\n // this.notifier.notify(\"success\", response.message);\r\n // if (clickType == \"Save\") this.closeDialog(\"save\");\r\n // else if (clickType == \"SaveAddMore\") {\r\n // this.refreshGrid.next();\r\n // this.allergyEditForm.reset();\r\n // }\r\n // } else {\r\n // this.notifier.notify(\"error\", response.message);\r\n // }\r\n // });\r\n // }\r\n // }\r\n //close popup\r\n closeDialog(action: string): void {\r\n this.allergyDialogModalRef.close(action);\r\n }\r\n\r\n //call master data api\r\n getMasterData() {\r\n ////\r\n let data = \"MASTERALLERGIES,MASTERREACTION\";\r\n this.clientService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n // console.log(response);\r\n this.masterAllergies =\r\n response.masterAllergies != null ? response.masterAllergies : [];\r\n this.masterAllergies.sort((a, b) => a.id - b.id);\r\n this.masterReaction =\r\n response.masterReaction != null ? response.masterReaction : [];\r\n if (this.data.allergy.data) {\r\n this.allergyModel = JSON.parse(\r\n JSON.stringify(this.data.allergy.data)\r\n );\r\n this.setEditForm();\r\n }else{\r\n this.allergyModel = JSON.parse(\r\n JSON.stringify(this.data.allergy)\r\n );\r\n this.setEditForm();\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{\\\"add_allergy\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { AllergyModel } from \"./allergies.model\";\r\nimport { FilterModel } from \"../../../core/modals/common-model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ClientsService } from \"../clients.service\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { DialogService } from \"../../../../../shared/layout/dialog/dialog.service\";\r\nimport { format } from \"date-fns\";\r\nimport { AllergiesModalComponent } from \"./allergies-modal/allergies-modal.component\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-allergies\",\r\n templateUrl: \"./allergies.component.html\",\r\n styleUrls: [\"./allergies.component.css\"],\r\n})\r\nexport class AllergiesComponent implements OnInit {\r\n @Input() encryptedPatientId;\r\n @Input() appointmentId: number = 0;\r\n allergyData: AllergyModel;\r\n allergyListingData: AllergyModel[];\r\n filterModel: FilterModel;\r\n metaData: any;\r\n displayedColumns: Array;\r\n actionButtons: Array;\r\n clientId: number;\r\n addPermission: boolean;\r\n header: string = \"Client Allergies\";\r\n tooltipdMessage = \"Maximum 7 allergies are allowed\";\r\n maxAllowedLimit = 7;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private notifier: NotifierService,\r\n private clientsService: ClientsService,\r\n public activityModal: MatDialog,\r\n private dialogService: DialogService,\r\n private commonService: CommonService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.displayedColumns = [\r\n {\r\n displayName: \"allergy_type\",\r\n key: \"allergyType\",\r\n isSort: true,\r\n width: \"20%\",\r\n },\r\n { displayName: \"allergen\", key: \"allergen\", width: \"10%\" },\r\n { displayName: \"note\", key: \"note\", width: \"10%\" },\r\n { displayName: \"reaction\", key: \"reaction\", width: \"10%\" },\r\n {\r\n displayName: \"status\",\r\n key: \"isActive\",\r\n isSort: true,\r\n width: \"10%\",\r\n type: [\"ACTIVE\", \"INACTIVE\"],\r\n },\r\n {\r\n displayName: \"diagnose_date\",\r\n key: \"createdDate\",\r\n isSort: true,\r\n width: \"10%\",\r\n },\r\n { displayName: \"actions\", key: \"Actions\", width: \"10%\" },\r\n ];\r\n this.actionButtons = [\r\n { displayName: \"Edit\", key: \"edit\", class: \"fa fa-pencil\" },\r\n { displayName: \"Delete\", key: \"delete\", class: \"fa fa-times\" },\r\n ];\r\n }\r\n\r\n //on inital load\r\n ngOnInit() {\r\n // console.log(\"value on child allergy:\", this.appointmentId);\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n } else {\r\n this.clientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n }\r\n\r\n this.filterModel = new FilterModel();\r\n\r\n //call listing method\r\n this.getAllergyList(this.filterModel);\r\n this.getUserPermissions();\r\n }\r\n\r\n //listing of allergies\r\n getAllergyList(filterModel) {\r\n this.appointmentId = 0;\r\n // console.log(\"Allergies coomponent\", this.appointmentId);\r\n this.clientsService\r\n .getAllergyList(this.clientId, this.filterModel, this.appointmentId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.allergyListingData = response.data;\r\n this.allergyListingData = (response.data || []).map((obj: any) => {\r\n obj.createdDate = obj.createdDate\r\n ? format(obj.createdDate, \"DD/MM/YYYY\")\r\n : \"\";\r\n obj.status = obj.isActive ? \"ACTIVE\" : \"INACTIVE\";\r\n return obj;\r\n });\r\n this.metaData = response.meta;\r\n } else {\r\n this.allergyListingData = [];\r\n this.metaData = {};\r\n }\r\n });\r\n }\r\n\r\n //page load and sorting\r\n onPageOrSortChange(changeState?: any) {\r\n this.setPaginatorModel(\r\n changeState.pageNumber,\r\n this.filterModel.pageSize,\r\n changeState.sort,\r\n changeState.order,\r\n this.filterModel.searchText\r\n );\r\n this.getAllergyList(this.filterModel);\r\n }\r\n\r\n //table action\r\n onTableActionClick(actionObj?: any) {\r\n const id = actionObj.data && actionObj.data.id;\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"EDIT\":\r\n this.openDialog(id);\r\n break;\r\n case \"DELETE\":\r\n this.deleteDetails(id);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n //open popup\r\n openDialog(id: number) {\r\n if (id != null && id > 0) {\r\n this.clientsService.getAllergyById(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.allergyData = response.data;\r\n this.createModel(this.allergyData);\r\n }\r\n });\r\n } else {\r\n this.allergyData = new AllergyModel();\r\n this.createModel(this.allergyData);\r\n }\r\n }\r\n\r\n //create modal\r\n createModel(allergyData: AllergyModel) {\r\n allergyData.patientId = this.clientId;\r\n //allergyData.appointmentId = this.appointmentId;\r\n allergyData.appointmentId = 0;\r\n const modalPopup = this.activityModal.open(AllergiesModalComponent, {\r\n hasBackdrop: true,\r\n data: { allergy: allergyData, refreshGrid: this.refreshGrid.bind(this) },\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result === \"save\") {\r\n this.getAllergyList(this.filterModel);\r\n }\r\n });\r\n }\r\n refreshGrid() {\r\n this.getAllergyList(this.filterModel);\r\n }\r\n deleteDetails(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this allergy?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientsService.deleteAllergy(id).subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getAllergyList(this.filterModel);\r\n } else if (response.statusCode === 401) {\r\n this.notifier.notify(\"warning\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n searchText: string\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions =\r\n this.clientsService.getUserScreenActionPermissions(\r\n \"CLIENT\",\r\n \"CLIENT_ALLERGIES_LIST\"\r\n );\r\n const {\r\n CLIENT_ALLERGIES_LIST_ADD,\r\n CLIENT_ALLERGIES_LIST_UPDATE,\r\n CLIENT_ALLERGIES_LIST_DELETE,\r\n } = actionPermissions;\r\n if (!CLIENT_ALLERGIES_LIST_UPDATE) {\r\n let spliceIndex = this.actionButtons.findIndex(\r\n (obj) => obj.key == \"edit\"\r\n );\r\n this.actionButtons.splice(spliceIndex, 1);\r\n }\r\n if (!CLIENT_ALLERGIES_LIST_DELETE) {\r\n let spliceIndex = this.actionButtons.findIndex(\r\n (obj) => obj.key == \"delete\"\r\n );\r\n this.actionButtons.splice(spliceIndex, 1);\r\n }\r\n\r\n this.addPermission = CLIENT_ALLERGIES_LIST_ADD || false;\r\n }\r\n\r\n disableButton() {\r\n return (\r\n this.allergyListingData &&\r\n this.allergyListingData.length > this.maxAllowedLimit\r\n );\r\n }\r\n}\r\n","export class AllergyModel {\r\n id: number=0;\r\n patientId: number;\r\n allergyTypeId: number;\r\n allergyType: string;\r\n allergen: string;\r\n note: string;\r\n reactionID: number;\r\n reaction: string;\r\n isActive: boolean;\r\n createdDate: any;\r\n totalRecords: number;\r\n appointmentId: number;\r\n //display cols\r\n status: string;\r\n}","module.exports = \"\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter authorization title\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter authorization number\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{rel.value}}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_select_insurance_company'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_start_date\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter end date\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{rel.serviceCode}}\\r\\n \\r\\n \\r\\n \\r\\n {{serviceCodeErrorMessage}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{rel.modifier}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{rel.value}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { ClientsService } from '../../clients.service';\r\nimport { AuthModel, AuthProceduresModel } from '../authorization.model';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { ResponseModel } from '../../../../core/modals/common-model';\r\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { format } from 'date-fns';\r\n\r\n@Component({\r\n selector: 'app-authorization-modal',\r\n templateUrl: './authorization-modal.component.html',\r\n styleUrls: ['./authorization-modal.component.css']\r\n})\r\nexport class AuthorizationModalComponent implements OnInit {\r\n serviceCodeErrorMessage: string = \"Please select service code\";\r\n isModifiers: boolean = true;\r\n patientId: number;\r\n payerPreference: string = \"primary\";\r\n date: Date;\r\n payerId: number = null;\r\n patientInsuranceId: number;\r\n authorizationForm: FormGroup;\r\n submitted: boolean = false;\r\n\r\n //master models\r\n masterAuthorizedProcedure: any[];\r\n patientPayers: any = [];\r\n serviceCodeModifiers: any[];\r\n serviceCodes: any[];\r\n authModel: AuthModel;\r\n authorizationId: number;\r\n headerText: string = 'Add Health Plan Coverage';\r\n\r\n constructor(private formBuilder: FormBuilder, private notifier: NotifierService, private authorizationDialogModalRef: MatDialogRef, private clientsService: ClientsService, @Inject(MAT_DIALOG_DATA) public data: any) {\r\n this.authModel = data;\r\n this.authorizationId = data.id || null;\r\n this.patientId = this.authModel.patientID;\r\n this.patientInsuranceId = this.authModel.patientInsuranceId;\r\n\r\n //update header text\r\n if (this.authModel.id != null && this.authModel.id > 0)\r\n this.headerText = 'Edit Health Plan Coverage';\r\n else\r\n this.headerText = 'Add Health Plan Coverage';\r\n\r\n }\r\n\r\n get authorizationProcedures() {\r\n return this.authorizationForm.get('authorizationProcedures') as FormArray;\r\n }\r\n\r\n addAuthorizationProcedures(authProcModel?: AuthProceduresModel) {\r\n let authCPTCodes = [], authCPTModifiers = [];\r\n if (authProcModel && authProcModel.authProcedureCPT) {\r\n authCPTCodes = authProcModel.authProcedureCPT.map(obj => obj.cptid);\r\n if (authProcModel.authProcedureCPT.length == 1) {\r\n authCPTModifiers = (authProcModel.authProcedureCPT[0].authProcedureCPTModifiers || []).map(obj => obj.modifier);\r\n }\r\n }\r\n authProcModel = authProcModel == null ? new AuthProceduresModel() : authProcModel;\r\n let authProcedureControls = this.authorizationProcedures;\r\n authProcedureControls.push(this.formBuilder.group({\r\n id: [authProcModel.id],\r\n unit: [authProcModel.unit],\r\n typeID: [authProcModel.typeID],\r\n authProcedureCPT: [authCPTCodes],\r\n authProcedureCPTModifiers: [authCPTModifiers],\r\n }))\r\n }\r\n\r\n removeAuthorizationProcedures(index: number) {\r\n this.authorizationProcedures.removeAt(index)\r\n }\r\n\r\n //get the form controls on html page\r\n get formControls() { return this.authorizationForm.controls; }\r\n\r\n ngOnInit() {\r\n this.authorizationForm = this.formBuilder.group({\r\n id: [this.authModel.id],\r\n authorizationTitle: [this.authModel.authorizationTitle],\r\n authorizationNumber: [this.authModel.authorizationNumber],\r\n startDate: [this.authModel.startDate],\r\n endDate: [this.authModel.endDate],\r\n notes: [this.authModel.notes],\r\n payerId: [this.payerId],\r\n patientInsuranceId: [this.authModel.patientInsuranceId],\r\n authorizationProcedures: this.formBuilder.array([])\r\n });\r\n\r\n\r\n // initialize modifier modal\r\n if (this.authModel.authorizationProcedures && this.authModel.authorizationProcedures.length) {\r\n this.authModel.authorizationProcedures.forEach(obj => {\r\n this.addAuthorizationProcedures(obj);\r\n })\r\n } else {\r\n this.addAuthorizationProcedures();\r\n }\r\n\r\n //load master data\r\n this.getMasterData();\r\n\r\n //load payer of patient\r\n this.getPayerByPatient();\r\n\r\n //get patient payer's service code and modifiers\r\n // this.getPatientPayerServiceCodesAndModifiers();\r\n\r\n }\r\n\r\n getMasterData() {\r\n this.clientsService.getMasterData('authorizedprocedure')\r\n .subscribe((response: any) => {\r\n if (response) {\r\n this.masterAuthorizedProcedure = response.masterAuthorizedProcedure || [];\r\n } else {\r\n this.masterAuthorizedProcedure = [];\r\n }\r\n })\r\n }\r\n\r\n getPayerByPatient() {\r\n this.clientsService.getPayerByPatient(this.patientId, \"PRIMARY\").subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200 ) {\r\n // console.log(response);\r\n this.getPatientPayerServiceCodesAndModifiers();\r\n this.patientPayers = response.data;\r\n this.payerId = this.patientPayers[0].insuranceCompanyId;\r\n this.patientInsuranceId = this.patientPayers[0].patientInsuranceId;\r\n this.getPatientPayerServiceCodesAndModifiers();\r\n /*if (this.authorizationId) {\r\n this.getPatientPayerServiceCodesAndModifiers();\r\n }*/\r\n }\r\n });\r\n }\r\n\r\n getPatientPayerServiceCodesAndModifiers() {\r\n this.clientsService.getPatientPayerServiceCodesAndModifiers(this.patientId, this.payerId, this.patientInsuranceId).subscribe((response: any) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.serviceCodeModifiers = response.data.ServiceCodeModifiers || [];\r\n this.serviceCodes = response.data.ServiceCodes || [];\r\n } else {\r\n this.serviceCodeModifiers = [];\r\n this.serviceCodes = [];\r\n }\r\n })\r\n }\r\n\r\n onPayerSelected(event: any) {\r\n const selectedValue = event.value;\r\n this.getPatientPayerServiceCodesAndModifiers();\r\n }\r\n\r\n\r\n onTest(event: any, index: number) {\r\n if (event.value && event.value.length == 1) {\r\n\r\n this.authorizationProcedures.controls[index].get('authProcedureCPTModifiers').enable();\r\n }\r\n else {\r\n this.authorizationProcedures.controls[index].get('authProcedureCPTModifiers').patchValue([]);\r\n this.authorizationProcedures.controls[index].get('authProcedureCPTModifiers').disable()\r\n }\r\n }\r\n\r\n //close popup\r\n closeDialog(action: string): void {\r\n this.authorizationDialogModalRef.close(action);\r\n }\r\n\r\n\r\n //submit for create update of vitals\r\n onSubmit(event: any) {\r\n if (!this.authorizationForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n // this.authModel = this.authorizationForm.value;\r\n // this.authModel.patientID = this.patientId;\r\n\r\n const { authorizationTitle, authorizationNumber, startDate, endDate, notes, payerId, authorizationProcedures } = this.authorizationForm.value;\r\n\r\n let authProcedures: AuthProceduresModel[] = [];\r\n let formAuthProcedures = authorizationProcedures || [];\r\n let procedures = this.authModel.authorizationProcedures;\r\n if (procedures && procedures.length) {\r\n // set all procedures and cpts to IsDeleted=true for updation in Arrays.\r\n authProcedures = procedures.map((Obj) => {\r\n return {\r\n 'id': Obj.id,\r\n 'authorizationId': Obj.authorizationId,\r\n 'authProcedureCPT': Obj.authProcedureCPT.map((cpt) => {\r\n return {\r\n 'id': cpt.id,\r\n 'cptid': cpt.cptid,\r\n 'authorizationProceduresId': cpt.authorizationProceduresId,\r\n 'isDeleted': true,\r\n 'authProcedureCPTModifiers': (cpt.authProcedureCPTModifiers || []).map((modifier) => {\r\n return {\r\n 'id': modifier.id,\r\n 'modifier': modifier.modifier,\r\n 'authProcedureCPTLinkId': modifier.authProcedureCPTLinkId,\r\n 'isDeleted': true,\r\n };\r\n }),\r\n };\r\n }),\r\n 'unit': Obj.unit,\r\n 'typeID': Obj.typeID,\r\n 'isDeleted': true\r\n };\r\n });\r\n };\r\n formAuthProcedures.forEach((proc) => {\r\n // update case for auth procedures ------\r\n let Procedure = authProcedures.find((Obj) => Obj.id === proc.id && Obj.isDeleted);\r\n if (Procedure) {\r\n let index = authProcedures.indexOf(Procedure);\r\n let authProceduresCptLinks = Procedure.authProcedureCPT;\r\n proc.authProcedureCPT.forEach((cpt, i) => {\r\n let procedureCpt = authProceduresCptLinks.find((obj) => obj.cptid === cpt && obj.isDeleted);\r\n let cptIndex = authProceduresCptLinks.indexOf(procedureCpt);\r\n\r\n if (procedureCpt) {\r\n let authProcedureCPTModifiers = procedureCpt.authProcedureCPTModifiers || [];\r\n (proc.authProcedureCPTModifiers || []).forEach((cptModifier) => {\r\n let procedureCptModifier = authProcedureCPTModifiers.find((mobj) => mobj.modifier === cptModifier && mobj.isDeleted);\r\n let modifierIndex = authProcedureCPTModifiers.indexOf(procedureCptModifier);\r\n if (procedureCptModifier) {\r\n // while updating on the existing Procedure CPT code modifiers ...\r\n authProcedureCPTModifiers[modifierIndex] = {\r\n 'id': procedureCptModifier.id,\r\n 'modifier': procedureCptModifier.modifier,\r\n 'authProcedureCPTLinkId': procedureCptModifier.authProcedureCPTLinkId,\r\n 'isDeleted': false,\r\n };\r\n } else {\r\n // while adding new Procedure CPT code modifiers ...\r\n authProcedureCPTModifiers.push({\r\n 'id': 0,\r\n 'modifier': cptModifier,\r\n 'authProcedureCPTLinkId': 0,\r\n 'isDeleted': false,\r\n });\r\n }\r\n });\r\n\r\n // while updating on the existing Procedure CPT codes ...\r\n authProceduresCptLinks[cptIndex] = {\r\n 'id': procedureCpt.id,\r\n 'cptid': procedureCpt.cptid,\r\n 'authorizationProceduresId': procedureCpt.authorizationProceduresId,\r\n 'isDeleted': false,\r\n 'authProcedureCPTModifiers': authProcedureCPTModifiers,\r\n };\r\n } else {\r\n let authProcedureCPTModifiers = [];\r\n (proc.modifiers || []).forEach((cptModifier) => {\r\n // while adding new Procedure CPT code modifiers ...\r\n authProcedureCPTModifiers.push({\r\n 'id': 0,\r\n 'modifier': cptModifier,\r\n 'authProcedureCPTLinkId': 0,\r\n 'isDeleted': false,\r\n });\r\n });\r\n\r\n // while adding new Procedure CPT codes ...\r\n authProceduresCptLinks.push({\r\n 'id': 0,\r\n 'cptid': cpt,\r\n 'authorizationProceduresId': 0,\r\n 'isDeleted': false,\r\n 'authProcedureCPTModifiers': authProcedureCPTModifiers,\r\n });\r\n }\r\n });\r\n // while updating on the existing Authorization Procedure ...\r\n authProcedures[index] = {\r\n 'id': Procedure.id,\r\n 'authorizationId': Procedure.authorizationId,\r\n 'authProcedureCPT': authProceduresCptLinks,\r\n 'unit': proc.unit,\r\n 'typeID': proc.typeID,\r\n 'isDeleted': false,\r\n };\r\n } else {\r\n // while adding new on the Authorization Procedure ...\r\n authProcedures.push({\r\n 'id': 0,\r\n 'authorizationId': 0,\r\n 'authProcedureCPT': proc.authProcedureCPT.map((cpt, i) => {\r\n return {\r\n 'id': 0,\r\n 'cptid': cpt,\r\n 'authorizationProceduresId': 0,\r\n 'isDeleted': false,\r\n 'AuthProcedureCPTModifiers': (proc.authProcedureCPTModifiers || []).map((modifier) => {\r\n return {\r\n 'id': 0,\r\n 'authProcedureCPTLinkId': 0,\r\n 'modifier': modifier,\r\n 'isDeleted': false,\r\n };\r\n }),\r\n };\r\n }),\r\n 'unit': proc.unit,\r\n 'typeID': proc.typeID,\r\n 'isDeleted': false,\r\n });\r\n }\r\n });\r\n let authorizationData: AuthModel = {\r\n 'id': this.authorizationId,\r\n 'patientID': this.patientId,\r\n 'startDate': format(startDate, 'YYYY-MM-DD'),\r\n 'endDate': format(endDate, 'YYYY-MM-DD'),\r\n 'authorizationTitle': authorizationTitle,\r\n 'authorizationNumber': authorizationNumber,\r\n 'patientInsuranceId': this.patientInsuranceId,\r\n 'notes': notes,\r\n 'authorizationProcedures': authProcedures,\r\n };\r\n this.clientsService.createAuthorization(authorizationData).subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message)\r\n if (clickType == \"Save\")\r\n this.closeDialog('save');\r\n else if (clickType == \"SaveAddMore\") {\r\n this.authorizationForm.reset();\r\n }\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n.maintable tbody tr>td {\\r\\n border: 0 none;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.table.middletable {\\r\\n margin: 0;\\r\\n white-space: normal;\\r\\n}\\r\\n\\r\\n.middletable tbody tr>td {\\r\\n border-top: 1px solid #eceeef;\\r\\n padding: 0.75rem;\\r\\n}\\r\\n\\r\\n.table.childtable {\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.table tr.nohover:hover {\\r\\n background-color: transparent !important;\\r\\n}\\r\\n\\r\\n.table.childtable thead th {\\r\\n background: #fff none repeat scroll 0 0;\\r\\n padding: 0.50rem 0.75rem;\\r\\n}\\r\\n\\r\\n.table.childtable tbody>tr:hover {\\r\\n background-color: transparent !important;\\r\\n}\\r\\n\\r\\n.table.childtable td {\\r\\n padding: 0.50rem 0.75rem;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.table.middletable tr.nohover>td {\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n/* for row hide show */\\r\\n\\r\\n.show-row{\\r\\n display: table-row;\\r\\n}\\r\\n\\r\\n.hide-row{\\r\\n display: none;\\r\\n}\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

Insurance Authorizations

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{\\\"auth#\\\"|translate}}{{\\\"title\\\"|translate}}{{\\\"insurance_company\\\"|translate}}{{\\\"start_date\\\"|translate}}{{\\\"end_date\\\"|translate}}{{\\\"actions\\\"|translate}}
\\r\\n
{{\\\"no_records_found\\\"|translate}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{ authObj.authorizationNumber }}{{ authObj.authorizationTitle }}{{ authObj.payerName}}{{ authObj.startDate | date:'dd/MM/yyyy' }}{{ authObj.endDate | date:'dd/MM/yyyy' }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{\\\"service_code\\\"|translate}}{{\\\"modifiers\\\"|translate}} Unit ApprovedUnit ConsumedUnit ScheduledUnit Remained
\\r\\n
{{\\\"no_records_found\\\"|translate}}
\\r\\n
{{authProcObj.serviceCodes}}{{authProcObj.modifiers}}{{authProcObj.unitApproved}}{{authProcObj.unitConsumed}}{{authProcObj.unitScheduled}}{{authProcObj.unitRemained}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n

EXPIRED AUTHORIZATIONS

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{\\\"auth#\\\"|translate}}{{\\\"title\\\"|translate}}{{\\\"insurance_company\\\"|translate}}{{\\\"start_date\\\"|translate}}{{\\\"end_date\\\"|translate}}{{\\\"actions\\\"|translate}}
\\r\\n
{{\\\"no_records_found\\\"|translate}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{ authObj.authorizationNumber }}{{ authObj.authorizationTitle }}{{ authObj.payerName}}{{ authObj.startDate | date:'dd/MM/yyyy' }}{{ authObj.endDate | date:'dd/MM/yyyy' }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{\\\"service_code\\\"|translate}}{{\\\"modifiers\\\"|translate}} Unit ApprovedUnit ConsumedUnit ScheduledUnit Remained
\\r\\n
{{\\\"no_records_found\\\"|translate}}
\\r\\n
{{authProcObj.serviceCodes}}{{authProcObj.modifiers}}{{authProcObj.unitApproved}}{{authProcObj.unitConsumed}}{{authProcObj.unitScheduled}}{{authProcObj.unitRemained}}\\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 } from '@angular/router';\r\nimport { AuthorizationModel, AuthorizationProcedureModel, AuthorizationProceduresCPTModel, AuthorizationDisplayModel, AuthorizationServiceCodesDisplayModel, AuthModel } from './authorization.model';\r\nimport { ClientsService } from '../clients.service';\r\nimport { FilterModel, ResponseModel } from '../../../core/modals/common-model';\r\nimport { MatDialog } from '@angular/material';\r\nimport { DialogService } from '../../../../../shared/layout/dialog/dialog.service';\r\nimport { AuthorizationModalComponent } from './authorization-modal/authorization-modal.component';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { CommonService } from '../../../core/services';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\nclass AuthorizationFilterModel extends FilterModel {\r\n authType: string = null;\r\n}\r\n\r\n@Component({\r\n selector: 'app-authorization',\r\n templateUrl: './authorization.component.html',\r\n styleUrls: ['./authorization.component.css']\r\n})\r\nexport class AuthorizationComponent implements OnInit {\r\n clientId: number;\r\n expandedAuthIds: Array;\r\n authorizationModel: AuthorizationModel[];\r\n authorizationProcedureModel: AuthorizationProcedureModel[];\r\n authorizationProceduresCPTModel: AuthorizationProceduresCPTModel[];\r\n authorizationFilterModel: AuthorizationFilterModel;\r\n addPermission: boolean;\r\n updatePermission: boolean;\r\n deletePermission: boolean;\r\n header: string = \"Client Authorizations\";\r\n //\r\n authorizationDisplayModel: AuthorizationDisplayModel[];\r\n authModel: AuthModel;\r\n\r\n constructor(private activatedRoute: ActivatedRoute, private notifier: NotifierService, private clientsService: ClientsService, public activityModal: MatDialog, private dialogService: DialogService,private commonService:CommonService,private translate:TranslateService) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.expandedAuthIds = [];\r\n this.authorizationModel = [];\r\n this.authorizationProcedureModel = [];\r\n this.authorizationProceduresCPTModel = [];\r\n this.authorizationDisplayModel = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.clientId = params.id == undefined ? null : this.commonService.encryptValue(params.id,false);\r\n });\r\n\r\n this.authorizationFilterModel = new AuthorizationFilterModel;\r\n //listing of all authorization\r\n this.getAllAuthorization();\r\n this.getUserPermissions();\r\n }\r\n\r\n //get all authorizations\r\n getAllAuthorization() {\r\n this.clientsService.getAllAuthorization(this.clientId, this.authorizationFilterModel).subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n if (response.data) {\r\n this.authorizationModel = response.data.Authorization || [];\r\n this.authorizationProcedureModel = response.data.AuthorizationProcedure || [];\r\n this.authorizationProceduresCPTModel = response.data.AuthorizationProceduresCPT || [];\r\n //this.expandedAuthIds = this.authorizationModel.map(obj => obj.authorizationId);\r\n this.filterModel();\r\n }\r\n }\r\n else {\r\n this.authorizationModel = [];\r\n this.authorizationProcedureModel = [];\r\n this.authorizationProceduresCPTModel = [];\r\n this.expandedAuthIds = [];\r\n }\r\n })\r\n }\r\n\r\n //expand row event\r\n handleExpandRow(authId: number) {\r\n const authIndex = this.expandedAuthIds.findIndex(obj => obj == authId);\r\n if (authIndex > -1) {\r\n this.expandedAuthIds.splice(authIndex, 1);\r\n } else {\r\n this.expandedAuthIds.push(authId);\r\n }\r\n }\r\n\r\n\r\n //after get all authorization filter into single model\r\n filterModel() { \r\n if (this.authorizationModel != null && this.authorizationModel.length > 0) {\r\n this.authorizationDisplayModel = [];\r\n this.authorizationModel.forEach(element => {\r\n let authDispModel = new AuthorizationDisplayModel();\r\n authDispModel.authorizationId = element.authorizationId;\r\n authDispModel.authorizationNumber = element.authorizationNumber;\r\n authDispModel.startDate = element.startDate;\r\n authDispModel.endDate = element.endDate;\r\n authDispModel.payerName = element.payerName;\r\n authDispModel.authorizationTitle = element.authorizationTitle;\r\n authDispModel.isExpired = element.isExpired;\r\n\r\n let authServiceCodeDispModel: AuthorizationServiceCodesDisplayModel[] = [];\r\n this.authorizationProcedureModel.filter(obj => obj.authorizationId == element.authorizationId).forEach(ele => {\r\n let authSerCode = new AuthorizationServiceCodesDisplayModel();\r\n let serviceCodes = this.authorizationProceduresCPTModel.filter(ob => ob.authorizationProcedureId == ele.authorizationProcedureId);\r\n authSerCode.serviceCodes = serviceCodes.map(obj => obj.serviceCode).join(',');\r\n authSerCode.modifiers = serviceCodes.map(obj => obj.attachedModifiers).join(',').replace(/^,|,$/g, '');\r\n authSerCode.unitApproved = ele.totalUnit + ' per ' + ele.globalCodeName;\r\n let blockUnits = 0;\r\n serviceCodes.map(obj => { blockUnits = blockUnits + obj.blockedUnit; });\r\n authSerCode.unitScheduled = blockUnits;\r\n authSerCode.unitConsumed = ele.actualAuthProcedureUnitConsumed;\r\n authSerCode.unitRemained = ele.totalUnit - (ele.actualAuthProcedureUnitConsumed + blockUnits);\r\n authServiceCodeDispModel.push(authSerCode);\r\n })\r\n authDispModel.authorizationServiceCodesDisplayModel = authServiceCodeDispModel;\r\n this.authorizationDisplayModel.push(authDispModel);\r\n });\r\n }\r\n }\r\n\r\n //on html page filter expired and non expired authorization\r\n isExpired(type) {\r\n return this.authorizationDisplayModel.filter(x => x.isExpired == type);\r\n }\r\n\r\n\r\n //open popup\r\n openDialog(id: number) {\r\n if (id != null && id > 0) {\r\n this.clientsService.getAuthorizationById(id).subscribe((response: any) => {\r\n if (response != null && response.statusCode == 200 && response.data != null) {\r\n this.authModel = response.data;\r\n this.createModel(this.authModel);\r\n }\r\n });\r\n } else {\r\n this.authModel = new AuthModel();\r\n this.authModel.patientID = this.clientId;\r\n this.createModel(this.authModel);\r\n }\r\n }\r\n\r\n //create modal\r\n createModel(authModel: AuthModel) {\r\n authModel.patientID = this.clientId;\r\n const modalPopup = this.activityModal.open(AuthorizationModalComponent, {\r\n hasBackdrop: true,\r\n data: authModel || new AuthModel(),\r\n });\r\n\r\n modalPopup.afterClosed().subscribe(result => {\r\n if (result === 'save') {\r\n\r\n this.authorizationFilterModel = new AuthorizationFilterModel;\r\n //listing of all authorization\r\n this.getAllAuthorization();\r\n }\r\n });\r\n }\r\n\r\n deleteDetails(id: number) {\r\n this.dialogService.confirm('Are you sure you want to delete this authorization?').subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientsService.deleteAuthorization(id)\r\n .subscribe((response: any) => {\r\n if (response.statusCode == 200 || response.statusCode == 204) {\r\n this.notifier.notify('success', response.message)\r\n this.authorizationFilterModel = new AuthorizationFilterModel;\r\n //listing of all authorization\r\n this.getAllAuthorization();\r\n } else if (response.statusCode === 401) {\r\n this.notifier.notify('warning', response.message)\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n })\r\n }\r\n })\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions = this.clientsService.getUserScreenActionPermissions('CLIENT', 'CLIENT_AUTHORIZATION_LIST');\r\n const { CLIENT_AUTHORIZATION_LIST_ADD, CLIENT_AUTHORIZATION_LIST_UPDATE, CLIENT_AUTHORIZATION_LIST_DELETE } = actionPermissions;\r\n \r\n this.addPermission = CLIENT_AUTHORIZATION_LIST_ADD || false;\r\n this.updatePermission = CLIENT_AUTHORIZATION_LIST_UPDATE || false;\r\n this.deletePermission = CLIENT_AUTHORIZATION_LIST_DELETE || false;\r\n \r\n }\r\n}\r\n","export class AuthorizationModel {\r\n authorizationId: number;\r\n authorizationNumber: string;\r\n startDate: Date;\r\n endDate: Date;\r\n payerName: string;\r\n payerPreference: string;\r\n totalCount: number;\r\n patientInsuranceId: number;\r\n authorizationTitle: string;\r\n payerId: number;\r\n isExpired: boolean;\r\n notes: string;\r\n}\r\n\r\nexport class AuthorizationProcedureModel {\r\n authorizationId: number;\r\n totalUnit: number;\r\n globalCodeName: string;\r\n authorizationProcedureId: number;\r\n actualAuthProcedureUnitConsumed: number;\r\n typeId: number;\r\n}\r\n\r\nexport class AuthorizationProceduresCPTModel {\r\n authorizationProcedureId: number;\r\n serviceCode: string;\r\n serviceCodeId: number;\r\n unitConsumed: number;\r\n blockedUnit: number;\r\n authProcedureCPTLinkId: number;\r\n actualAuthProcedureAllowedUnit: number;\r\n actualAuthProcedureUnitConsumed: number;\r\n isValid: boolean;\r\n isRequiredAuthorization: boolean;\r\n attachedModifiers: string;\r\n}\r\n\r\nexport class AuthorizationDisplayModel {\r\n authorizationId: number;\r\n authorizationNumber: string;\r\n startDate: Date;\r\n endDate: Date;\r\n payerName: string;\r\n authorizationTitle: string;\r\n isExpired: boolean;\r\n authorizationServiceCodesDisplayModel: AuthorizationServiceCodesDisplayModel[];\r\n}\r\n\r\nexport class AuthorizationServiceCodesDisplayModel {\r\n serviceCodes: string;\r\n modifiers: string;\r\n unitApproved: string;\r\n unitConsumed: number;\r\n unitScheduled: number;\r\n unitRemained: number;\r\n}\r\n\r\n\r\n\r\n//////////////////////// model for single request ////\r\nexport class AuthModel {\r\n id: number;\r\n patientID: number;\r\n authorizationTitle: string;\r\n authorizationNumber: string;\r\n startDate: string;\r\n endDate: string;\r\n notes: string;\r\n patientInsuranceId: number;\r\n isVerified?: boolean;\r\n organizationID?: number;\r\n authorizationProcedures: AuthProceduresModel[];\r\n}\r\nexport class AuthProceduresModel {\r\n id: number;\r\n authorizationId: number;\r\n unit: number;\r\n unitConsumed?: number;\r\n unitRemain?: number;\r\n typeID: number;\r\n isVerified?: boolean;\r\n isDeleted: boolean;\r\n authProcedureCPT: AuthProcedureCPTModel[];\r\n}\r\nexport class AuthProcedureCPTModel {\r\n id: number;\r\n authorizationProceduresId: number;\r\n cptid: number;\r\n unitConsumed?: number;\r\n blockedUnit?: number;\r\n isDeleted: boolean;\r\n authProcedureCPTModifiers: AuthProcedureCPTModifierModel[];\r\n}\r\nexport class AuthProcedureCPTModifierModel {\r\n id: number;\r\n authProcedureCPTLinkId: number;\r\n modifier: string;\r\n isDeleted: boolean;\r\n}","export class PatientBasicHeaderInfo {\r\n patientID: number;\r\n name: string='';\r\n dob: string='';\r\n gender: string='';\r\n ssn: string='';\r\n mrn: string='';\r\n status: string;\r\n phone: string='';\r\n email: string='';\r\n address: string='';\r\n photoPath: string;\r\n photoThumbnailPath: string='';\r\n primaryProvider: string='';\r\n userId: number = null;\r\n npi:string='';\r\n}\r\n\r\nexport class PatientTagsHeaderInfo {\r\n tag: string='';\r\n colorCode: string;\r\n colorName: string;\r\n fontColorCode: string;\r\n}\r\n\r\nexport class PatientPhoneHeaderInfo {\r\n phoneNumber: string;\r\n phoneNumberType: string;\r\n preference: string;\r\n}\r\n\r\nexport class PatientAllergyHeaderInfo {\r\n allergen: string='';\r\n allergyType: string;\r\n reaction: string;\r\n note: string;\r\n}\r\n\r\nexport class ClientHeaderModel {\r\n patientBasicHeaderInfo=new PatientBasicHeaderInfo();\r\n patientTagsHeaderInfo=new Array();\r\n patientPhoneHeaderInfo=new Array();\r\n patientAllergyHeaderInfo=new Array();\r\n}","module.exports = \"/*Import Button*/\\r\\n.importccd {\\r\\n height: 30px;\\r\\n}\\r\\n.importccd button {\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\\r\\n.client_detail {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n.client_detail div {\\r\\n display: inline-block;\\r\\n margin: 0;\\r\\n line-height: 22px;\\r\\n}\\r\\n.client_detail p b {\\r\\n color: #7a7a7a;\\r\\n font-weight: 500;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(1) button {\\r\\n background: #4140AF !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(2) button {\\r\\n background: #0080BC !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(3) button {\\r\\n background: #D8666F !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(4) button {\\r\\n background: #4E6CDB !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(5) button {\\r\\n background: #099C77 !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(6) button {\\r\\n background: #C39403 !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(7) button {\\r\\n background: #009CCF !important;\\r\\n}\\r\\n.client_profile .clientbox .client_detail label {\\r\\n font-size: 12px;\\r\\n font-weight: 700;\\r\\n}\\r\\n.client_profile .clientbox .client_detail button {\\r\\n background: #4140AF;\\r\\n color: #fff;\\r\\n width: 100%;\\r\\n}\\r\\n.client_detail div .user_pic {\\r\\n /* width: 60px; */\\r\\n}\\r\\n.client_profile .clientbox .client_detail button span {\\r\\n width: 100%;\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n align-items: center;\\r\\n}\\r\\n.client_profile .clientbox .client_detail button span img {\\r\\n width: 20px;\\r\\n}\\r\\n.certificate h2 {\\r\\nfont-style: normal;\\r\\nfont-weight: 600;\\r\\nfont-size: 20px;\\r\\nline-height: 30px;\\r\\ncolor: #01385F;\\r\\n}\\r\\n.dashboard-btn-card h2 {\\r\\n font-style: normal;\\r\\n font-weight: 500;\\r\\n font-size: 16px;\\r\\n line-height: 24px;\\r\\n color: #014971;\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .certificate h2 {\\r\\n font-size: 18px;\\r\\n }\\r\\n .dashboard-btn-card h2 {\\r\\n font-size: 13px;\\r\\n line-height: 13px;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
0\\\">\\r\\n
\\r\\n

{{ headerText|translate}}

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

{{ clientHeaderModel?.patientBasicHeaderInfo?.name }}

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n \\r\\n {{ tag.tag }}\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
    • \\r\\n {{ clientHeaderModel.patientBasicHeaderInfo.phone || \\\"\\\" }}\\r\\n
    • \\r\\n
    • \\r\\n {{ clientHeaderModel?.patientBasicHeaderInfo?.email || \\\"\\\"\\r\\n }}\\r\\n
    • \\r\\n
    • \\r\\n {{ clientHeaderModel?.patientBasicHeaderInfo?.address\\r\\n || \\\"\\\" }}\\r\\n
    • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    \\r\\n {{\\r\\n clientHeaderModel?.patientBasicHeaderInfo?.primaryProvider || \\\"\\\"\\r\\n }}\\r\\n -\\r\\n

    \\r\\n

    \\r\\n {{ allergy.allergen || \\\"\\\" }}\\r\\n

    \\r\\n

    \\r\\n {{\\\"No allergies found\\\"|translate}}\\r\\n

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

{{ ((clientHeaderModel?.patientBasicHeaderInfo?.gender|lowercase)|translate) || \\\"\\\" }}

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

{{ clientHeaderModel?.patientBasicHeaderInfo?.dob || \\\"\\\" }}

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

{{ clientHeaderModel?.patientBasicHeaderInfo?.npi|| \\\"\\\" }}

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

{{ clientHeaderModel?.patientBasicHeaderInfo?.mrn || \\\"\\\" }}

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n AfterViewInit,\r\n AfterViewChecked,\r\n} from \"@angular/core\";\r\nimport { ClientsService } from \"../clients.service\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { ClientModel } from \"../client.model\";\r\nimport { ClientHeaderModel } from \"../client-header.model\";\r\nimport { format } from \"date-fns\";\r\nimport { Router } from \"@angular/router\";\r\nimport { CommonService } from \"../../../core/services\";\r\n\r\n@Component({\r\n selector: \"app-client-header\",\r\n templateUrl: \"./client-header.component.html\",\r\n styleUrls: [\"./client-header.component.css\"],\r\n})\r\nexport class ClientHeaderComponent implements OnInit {\r\n @Input() clientId: number;\r\n @Input() headerText: string = \"My Client\";\r\n clientHeaderModel: ClientHeaderModel;\r\n isProvider: boolean = false;\r\n constructor(\r\n private clientService: ClientsService,\r\n private router: Router,\r\n private commonService: CommonService\r\n ) {\r\n this.clientHeaderModel = new ClientHeaderModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n if (user.userRoles && user.userRoles.roleName == \"Provider\") {\r\n this.isProvider = true;\r\n }\r\n }\r\n });\r\n }\r\n getClientHeaderInfo() {\r\n this.clientService\r\n .getClientHeaderInfo(this.clientId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.clientHeaderModel = response.data;\r\n this.clientHeaderModel.patientBasicHeaderInfo != null\r\n ? (this.clientHeaderModel.patientBasicHeaderInfo.dob = format(\r\n this.clientHeaderModel.patientBasicHeaderInfo.dob,\r\n \"DD/MM/YYYY\"\r\n ))\r\n : \"\";\r\n const userId =\r\n this.clientHeaderModel.patientBasicHeaderInfo &&\r\n this.clientHeaderModel.patientBasicHeaderInfo.userId;\r\n this.clientService.updateClientNavigations(this.clientId, userId);\r\n }\r\n });\r\n }\r\n ngOnChanges(value: any) {\r\n if (this.clientId != undefined && this.clientId != null)\r\n this.getClientHeaderInfo();\r\n }\r\n\r\n onNavigate(urlType: any = null) {\r\n if (this.clientId) {\r\n if (urlType == \"Profile\") {\r\n //this.router.navigate([\"/web/client/profile\"], { queryParams: { id: this.commonService.encryptValue(this.clientId, true) } });\r\n const url = this.router.serializeUrl(\r\n this.router.createUrlTree([\"/web/client/profile\"], {\r\n queryParams: {\r\n id: this.commonService.encryptValue(this.clientId, true),\r\n },\r\n queryParamsHandling: \"merge\",\r\n })\r\n );\r\n window.open(url, \"_blank\");\r\n } else {\r\n if (this.isProvider) {\r\n // this.router.navigate([\"/web/manage-users/availability\"], { queryParams: { cId: this.commonService.encryptValue(this.clientId, true) } });\r\n this.router.navigate([\"/web/my-appointments\"], {\r\n queryParams: {\r\n cId: this.commonService.encryptValue(this.clientId, true),\r\n },\r\n });\r\n } else {\r\n // this.router.navigate([\"/web/client/scheduling\"], { queryParams: { cId: this.commonService.encryptValue(this.clientId, true) } });\r\n // this.router.navigate([\"/web/client/my-scheduling\"]);\r\n this.router.navigate([\"/web/client/managelab\"]);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \"@media screen and (max-width:1199px) {\\r\\n .gap-2 {\\r\\n gap: 10px;\\r\\n }\\r\\n}\\r\\n.gap-5 {\\r\\n gap: 10px;\\r\\n}\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{'sort_by'|translate}}
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'clear_filter'|translate}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'add_insurance'|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\"","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n Input,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { timingSafeEqual } from \"crypto\";\r\nimport { format } from \"date-fns\";\r\nimport { FilterModel, ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { ClientHeaderComponent } from \"../client-header/client-header.component\";\r\nimport { PatientInsuranceModel } from \"../insurance.model\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { InsuranceModalComponent } from \"../insurance/insurance-modal/insurance-modal.component\";\r\nimport { DialogService } from \"src/app/shared/layout/dialog/dialog.service\";\r\nimport { ClientsService } from \"../../../client-portal/clients.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n@Component({\r\n selector: \"app-client-insurance\",\r\n templateUrl: \"./client-insurance.component.html\",\r\n styleUrls: [\"./client-insurance.component.css\"],\r\n})\r\nexport class ClientInsuranceComponent implements OnInit {\r\n @Input() encryptedPatientId;\r\n @ViewChild(ClientHeaderComponent) child: ClientHeaderComponent;\r\n @ViewChild(\"tabContent\", { read: ViewContainerRef })\r\n private tabContent: ViewContainerRef;\r\n clientTabs: any;\r\n header: string = \"\"\r\n insuranceModel: Array = [];\r\n clientId: number;\r\n selectedIndex: number = 0;\r\n dataURL: any;\r\n metaData: any;\r\n displayedColumns: Array;\r\n actionButtons: Array;\r\n addPermission: boolean;\r\n insuranceModelWithoutFilter: Array = [];\r\n showLoader = false;\r\n authModel: PatientInsuranceModel;\r\n filterModel: FilterModel;\r\n\r\n constructor(\r\n private cfr: ComponentFactoryResolver,\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService,\r\n private notifier: NotifierService,\r\n private router: Router,\r\n private clientService: ClientsService,\r\n private dialogService: DialogService,\r\n private dialogModal: MatDialog,\r\n private translate: TranslateService,\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.header = this.translate.instant(\"Insurance\");\r\n this.filterModel = new FilterModel();\r\n this.displayedColumns = [\r\n {\r\n displayName: \"insurance_company\",\r\n key: \"insuranceCompanyName\",\r\n isSort: true,\r\n },\r\n { displayName: \"insurance_issue_date\", key: \"cardIssueDate\", isSort: true, type: 'date' },\r\n { displayName: \"insurance_id_number\", key: \"insuranceIDNumber\" },\r\n { displayName: \"insurance_plan_name\", key: \"insurancePlanName\" },\r\n { displayName: \"insurance_type\", key: \"insurancePlanTypeID\" },\r\n {\r\n displayName: \"insurance_company_address\",\r\n key: \"insuranceCompanyAddress\",\r\n isSort: true,\r\n },\r\n {\r\n displayName: \"actions\",\r\n key: \"Actions\",\r\n class: \"\",\r\n width: \"15%\",\r\n },\r\n ];\r\n this.actionButtons = [\r\n { displayName: \"Edit\", key: \"edit\", class: \"fa fa-edit\" },\r\n // { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n { displayName: \"Delete\", key: \"delete\", class: \"fa fa-trash\" },\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.loadingStateSubject.next(true);\r\n\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n } else {\r\n this.clientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n }\r\n\r\n // this.activatedRoute.queryParams.subscribe((params) => {\r\n // this.clientId =\r\n // params.id == undefined\r\n // ? null\r\n // : this.commonService.encryptValue(params.id, false);\r\n // });\r\n //this.getUserPermissions();\r\n this.getPatientInsuranceList(this.filterModel);\r\n this.commonService.loadingStateSubject.next(false);\r\n }\r\n getPatientInsuranceList(filter: FilterModel) {\r\n this.clientService\r\n .getPatientInsurance(this.clientId, filter)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n // console.log(response.data.PatientInsurance);\r\n this.insuranceModel = response.data.PatientInsurance;\r\n this.metaData = response.meta;\r\n // this.insuranceModel = response.data.PatientInsurance.map((x) => {\r\n // x.cardIssueDate = format(x.cardIssueDate, \"DD/MM/YYYY\");\r\n // return x;\r\n // });\r\n this.insuranceModelWithoutFilter = JSON.parse(\r\n JSON.stringify(response.data)\r\n );\r\n }\r\n });\r\n }\r\n sortHandler = (type: string) => {\r\n if (type === \"atoz\") {\r\n this.insuranceModel = this.insuranceModel.sort((a, b) =>\r\n a.insuranceCompanyName.localeCompare(b.insuranceCompanyName)\r\n );\r\n // console.log(\"after sorting\", this.insuranceModel);\r\n this.insuranceModel = [...this.insuranceModel];\r\n } else if (type === \"ztoa\") {\r\n this.insuranceModel = this.insuranceModel.sort((a, b) =>\r\n b.insuranceCompanyName.localeCompare(a.insuranceCompanyName)\r\n );\r\n this.insuranceModel = [...this.insuranceModel];\r\n } else if (type === \"oldest\") {\r\n this.insuranceModel = this.insuranceModel.sort(\r\n (a, b) =>\r\n new Date(a.cardIssueDate).getTime() -\r\n new Date(b.cardIssueDate).getTime()\r\n );\r\n this.insuranceModel = [...this.insuranceModel];\r\n } else if (type === \"latest\") {\r\n this.insuranceModel = this.insuranceModel.sort(\r\n (a, b) =>\r\n new Date(b.cardIssueDate).getTime() -\r\n new Date(a.cardIssueDate).getTime()\r\n );\r\n this.insuranceModel = [...this.insuranceModel];\r\n } else {\r\n this.insuranceModel = this.insuranceModelWithoutFilter;\r\n }\r\n };\r\n //page load and sorting\r\n // onPageOrSortChange(changeState?: any) {\r\n // this.setPaginatorModel(\r\n // changeState.pageNumber,\r\n // this.filterModel.pageSize,\r\n // changeState.sort,\r\n // changeState.order,\r\n // this.filterModel.searchText\r\n // );\r\n // this.getVitalList(this.filterModel, \"grid\");\r\n // }\r\n // setPaginatorModel(\r\n // pageNumber: number,\r\n // pageSize: number,\r\n // sortColumn: string,\r\n // sortOrder: string,\r\n // searchText: string\r\n // ) {\r\n // this.filterModel.pageNumber = pageNumber;\r\n // this.filterModel.pageSize = pageSize;\r\n // this.filterModel.sortOrder = sortOrder;\r\n // this.filterModel.sortColumn = sortColumn;\r\n // this.filterModel.searchText = searchText;\r\n // }\r\n getUserPermissions() {\r\n const actionPermissions = this.clientService.getUserScreenActionPermissions(\r\n \"CLIENT\",\r\n \"CLIENT_VITALS_LIST\"\r\n );\r\n const {\r\n CLIENT_VITALS_LIST_ADD,\r\n CLIENT_VITALS_LIST_UPDATE,\r\n CLIENT_VITALS_LIST_DELETE,\r\n } = actionPermissions;\r\n if (!CLIENT_VITALS_LIST_UPDATE) {\r\n let spliceIndex = this.actionButtons.findIndex(\r\n (obj) => obj.key == \"edit\"\r\n );\r\n this.actionButtons.splice(spliceIndex, 1);\r\n }\r\n if (!CLIENT_VITALS_LIST_DELETE) {\r\n let spliceIndex = this.actionButtons.findIndex(\r\n (obj) => obj.key == \"delete\"\r\n );\r\n this.actionButtons.splice(spliceIndex, 1);\r\n }\r\n\r\n this.addPermission = CLIENT_VITALS_LIST_ADD || false;\r\n }\r\n\r\n ////Insurance\r\n openInsuranceDialog(insu?: any) {\r\n // console.log(\"Id\", insu);\r\n if (insu != null) {\r\n this.createInsuranceModal(insu.data);\r\n } else {\r\n let obj = new PatientInsuranceModel();\r\n obj.id = 0;\r\n obj.patientID = this.clientId;\r\n this.createInsuranceModal(obj);\r\n }\r\n }\r\n\r\n createInsuranceModal(clientInsuranceListModel: PatientInsuranceModel) {\r\n var insuranceModal = this.dialogModal.open(InsuranceModalComponent, {\r\n hasBackdrop: true,\r\n data: clientInsuranceListModel,\r\n });\r\n insuranceModal.afterClosed().subscribe((result: string) => {\r\n if (result === \"Save\") {\r\n this.getPatientInsuranceList(this.filterModel);\r\n this.showLoader = true;\r\n }\r\n });\r\n }\r\n onInsuranceTableActionClick(actionObj?: any) {\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"EDIT\":\r\n this.openInsuranceDialog(actionObj);\r\n break;\r\n case \"DELETE\":\r\n this.deleteInsurance(actionObj.data.id, this.clientId);\r\n default:\r\n break;\r\n }\r\n }\r\n deleteInsurance(id: number, clientId: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this insurance?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientService\r\n .deletePatientInsurance(id, clientId)\r\n .subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n if (response.statusCode == 204) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getPatientInsuranceList(this.filterModel);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n onPageOrSortChange(changeState?: any) {\r\n changeState.pageNumber = changeState.pageIndex + 1;\r\n this.setPaginatorModel(\r\n changeState.pageNumber,\r\n this.filterModel.pageSize,\r\n \"\",\r\n \"\",\r\n this.filterModel.searchText\r\n );\r\n this.getPatientInsuranceList(this.filterModel);\r\n }\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n searchText: string\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{obj}}\\r\\n \\r\\n \\r\\n \\r\\n Please select payment source\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{payer.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select payer\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{guan.guarantorName}}\\r\\n \\r\\n \\r\\n \\r\\n Please select guarantor\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter payment date\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{unit.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select description\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{unit.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select payment type\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter amount\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{unit.value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\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, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ClientLedgerPaymentDetailsModel, MasterPaymentDescription, MasterPaymentType, AdjustmentGroupCodeModel } from '../client-ledger.model';\r\nimport { ClientsService } from '../../clients.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { ResponseModel } from '../../../../core/modals/common-model';\r\n\r\n@Component({\r\n selector: 'app-add-payment-detail',\r\n templateUrl: './add-payment-detail.component.html',\r\n styleUrls: ['./add-payment-detail.component.css']\r\n})\r\nexport class AddPaymentDetailComponent implements OnInit {\r\n paymentDetailForm: FormGroup;\r\n headerText: string = '';\r\n paymentDetailModel: ClientLedgerPaymentDetailsModel;\r\n paymentSourceArray: any = ['Self', 'Guarantor', 'Insurance']\r\n masterPaymentDescription: Array = [];\r\n masterPaymentType: Array = [];\r\n masterAdjGroupCodes: Array = [];\r\n patientPayers: any = [];\r\n patientGuarantor: any = [];\r\n paymentSourceType: string = 'Self'\r\n clientId: number;\r\n submitted: boolean = false;\r\n disableSource:boolean=false;\r\n tempPmtTypes:any=[];\r\n tempDescType:any=[];\r\n constructor(private formBuilder: FormBuilder, private clientService: ClientsService,\r\n private notifier: NotifierService,\r\n private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {\r\n this.paymentDetailModel = this.data.paymentModel;\r\n this.clientId = this.data.clientId;\r\n if (this.paymentDetailModel.id != undefined && this.paymentDetailModel.id > 0) {\r\n this.disableSource=true;\r\n this.headerText = \"Edit Payment Detail\";\r\n }\r\n else {\r\n this.disableSource=false;\r\n this.headerText = \"Add Payment Detail\";\r\n }\r\n\r\n }\r\n ngOnInit() {\r\n let pmtSource = '';\r\n if (this.paymentDetailModel.id != undefined && this.paymentDetailModel.id > 0)\r\n pmtSource = this.paymentDetailModel.patientId > 0 ? 'Self' : this.paymentDetailModel.patientInsuranceId > 0 ? 'Insurance' : this.paymentDetailModel.guarantorId > 0 ? 'Guarantor' : '';\r\n this.paymentDetailForm = this.formBuilder.group({\r\n id: [this.paymentDetailModel.id],\r\n paymentSource: [pmtSource],\r\n amount: [this.paymentDetailModel.amount],\r\n descriptionTypeId: [this.paymentDetailModel.descriptionTypeId],\r\n notes: [this.paymentDetailModel.notes],\r\n paymentDate: [this.paymentDetailModel.paymentDate],\r\n paymentTypeId: [this.paymentDetailModel.paymentTypeId],\r\n patientInsuranceId: [this.paymentDetailModel.patientInsuranceId],\r\n patientId: [this.paymentDetailModel.patientId],\r\n guarantorId: [this.paymentDetailModel.guarantorId],\r\n serviceLineId: [this.paymentDetailModel.serviceLineId],\r\n adjustmentGroupCode: [this.paymentDetailModel.adjustmentGroupCode],\r\n adjustmentReasonCode: [this.paymentDetailModel.adjustmentReasonCode]\r\n });\r\n this.getMasterData();\r\n this.changePaymentSource(pmtSource);\r\n }\r\n get formControls() {\r\n return this.paymentDetailForm.controls;\r\n }\r\n getMasterData() {\r\n this.clientService.getMasterData(\"MasterPaymentDescription,MasterPaymentType,MASTERADJUSTMENTGROUPCODE\").subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterAdjGroupCodes = response.adjustmentGroupCodeModel != null ? response.adjustmentGroupCodeModel : [];\r\n this.masterPaymentDescription = response.masterPaymentDescription != null ? response.masterPaymentDescription : [];\r\n this.masterPaymentType = response.masterPaymentType != null ? response.masterPaymentType : [];\r\n }\r\n });\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n changePaymentSource(value: string,descType:string='') {\r\n if (value == 'Insurance') {\r\n this.paymentSourceType = \"Insurance\"\r\n this.tempPmtTypes=this.masterPaymentType.filter(x=>x.associatedEntity.toLocaleLowerCase()==\"insurance\");\r\n //this.tempPmtTypes=this.masterPaymentDescription.filter(x=>x.key.toLocaleLowerCase()==\"adjustment\");\r\n this.paymentDetailForm.controls.guarantorId.clearValidators();\r\n this.paymentDetailForm.controls.guarantorId.updateValueAndValidity();\r\n this.clientService.getPayerByPatient(this.clientId, 'ALL').subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null)\r\n this.patientPayers = response.data;\r\n });\r\n }\r\n else if (value == 'Guarantor') {\r\n this.paymentSourceType = \"Guarantor\";\r\n this.tempPmtTypes=this.masterPaymentType.filter(x=>x.associatedEntity.toLocaleLowerCase()==\"patient\");\r\n this.paymentDetailForm.controls.patientInsuranceId.clearValidators();\r\n this.paymentDetailForm.controls.patientInsuranceId.updateValueAndValidity();\r\n this.clientService.getPatientGuarantor(this.clientId).subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null)\r\n this.patientGuarantor = response.data;\r\n });\r\n }\r\n else {\r\n this.paymentSourceType = \"Patient\";\r\n this.tempPmtTypes=this.masterPaymentType.filter(x=>x.associatedEntity.toLocaleLowerCase()==\"patient\");\r\n this.paymentDetailForm.controls.patientInsuranceId.clearValidators();\r\n this.paymentDetailForm.controls.patientInsuranceId.updateValueAndValidity();\r\n this.paymentDetailForm.controls.guarantorId.clearValidators();\r\n this.paymentDetailForm.controls.guarantorId.updateValueAndValidity();\r\n }\r\n }\r\n\r\n onSubmit() {\r\n if (!this.paymentDetailForm.invalid) {\r\n let formValues = this.paymentDetailForm.value;\r\n if (formValues.paymentSource == \"Insurance\") {\r\n formValues.patientId = null;;\r\n formValues.guarantorId = null\r\n }\r\n else if (formValues.paymentSource == \"Guarantor\") {\r\n formValues.patientId = null;;\r\n formValues.patientInsuranceId = null\r\n }\r\n else {\r\n formValues.patientInsuranceId = null;;\r\n formValues.guarantorId = null\r\n formValues.patientId = this.clientId;\r\n\r\n }\r\n this.submitted = true;\r\n this.clientService.saveServiceLinePayment(formValues).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n this.notifier.notify('success', response.message)\r\n this.closeDialog('save');\r\n }\r\n else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n.maintable tbody tr>td {\\r\\n border: 0 none;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.table.middletable {\\r\\n margin: 0;\\r\\n white-space: normal;\\r\\n}\\r\\n\\r\\n.middletable tbody tr>td {\\r\\n border-top: 1px solid #eceeef;\\r\\n padding: 0.75rem;\\r\\n}\\r\\n\\r\\n.table.childtable {\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.table tr.nohover:hover {\\r\\n background-color: transparent !important;\\r\\n}\\r\\n\\r\\n.table.childtable thead th {\\r\\n background: #fff none repeat scroll 0 0;\\r\\n padding: 0.50rem 0.75rem;\\r\\n}\\r\\n\\r\\n.table.childtable tbody>tr:hover {\\r\\n background-color: transparent !important;\\r\\n}\\r\\n\\r\\n.table.childtable td {\\r\\n padding: 0.50rem 0.75rem;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.table.middletable tr.nohover>td {\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n/* for row hide show */\\r\\n\\r\\n.show-row{\\r\\n display: table-row;\\r\\n}\\r\\n\\r\\n.hide-row{\\r\\n display: none;\\r\\n}\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{\\\"service_code\\\"|translate}}\\r\\n \\r\\n TOTAL AMT(JOD)\\r\\n \\r\\n INS PAID(JOD)\\r\\n \\r\\n INS ADJ(JOD)\\r\\n \\r\\n PAT PAID(JOD)\\r\\n \\r\\n PAT ADJ(JOD)\\r\\n \\r\\n BALANCE(JOD)\\r\\n \\r\\n {{\\\"actions\\\"|translate}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{serviceLineObj.serviceCode}}{{serviceLineObj.totalAmount | number: '2.2-2' }}{{serviceLineObj.insurancePayments | number: '2.2-2' }}{{serviceLineObj.insuranceAdjustments | number: '2.2-2' }}{{serviceLineObj.patientPayments | number: '2.2-2'}}{{serviceLineObj.patientAdjustments | number: '2.2-2' }}{{serviceLineObj.balance | number: '2.2-2'}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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 PAYMENTPAYMENT SOURCE NAMEPAYMENT TYPEDESCRIPTION TYPE(JOD)AMOUNT(JOD)Action
{{pmtObj.paymentDate |date:'M/d/y'}}{{pmtObj.payerName || pmtObj.patientName || pmtObj.guardianName}}{{pmtObj.paymentType}}{{pmtObj.descriptionType}}{{pmtObj.amount | number: '2.2-2'}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ClientLedgerDetailsModel, ClientLedgerPaymentDetailsModel } from '../client-ledger.model';\r\nimport { ClientsService } from '../../clients.service';\r\nimport { ResponseModel } from '../../../../core/modals/common-model';\r\nimport { MatDialog } from '@angular/material';\r\nimport { AddPaymentDetailComponent } from '../add-payment-detail/add-payment-detail.component';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: 'app-client-ledger-detail',\r\n templateUrl: './client-ledger-detail.component.html',\r\n styleUrls: ['./client-ledger-detail.component.css']\r\n})\r\nexport class ClientLedgerDetailComponent implements OnInit {\r\n @Input() claimId: number;\r\n @Input() clientId: number;\r\n serviceLines: Array = []\r\n paymentList: Array = []\r\n isExpandedCodeArray: any = [];\r\n addPermission: boolean;\r\n updatePermission: boolean;\r\n constructor(private clientService: ClientsService, public dialogModal: MatDialog, private notifier: NotifierService,private translate:TranslateService) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n ngOnInit() {\r\n this.getClaimServiceLinesForPatientLedger();\r\n this.getUserPermissions();\r\n }\r\n\r\n getClaimServiceLinesForPatientLedger() {\r\n this.clientService.getClaimServiceLinesForPatient(this.claimId).subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null) {\r\n this.serviceLines = response.data.ServiceLines;\r\n this.serviceLines.forEach(x => {\r\n if (this.isExpandedCodeArray != undefined && this.isExpandedCodeArray.length > 0 && this.isExpandedCodeArray.findIndex(y => y == x.id) != -1)\r\n x.isExpanded = true;\r\n else\r\n x.isExpanded = false;\r\n })\r\n this.paymentList = response.data.PaymentList;\r\n }\r\n });\r\n }\r\n filterPayment(serviceLineId: number):Array{\r\n let items = this.paymentList.filter(x => x.serviceLineId == serviceLineId);\r\n return items;\r\n }\r\n toggleDetails(id: number) {\r\n let obj = this.serviceLines.find(x => x.id == id);\r\n obj.isExpanded = obj.isExpanded == false ? true : false;\r\n if (obj.isExpanded)\r\n this.isExpandedCodeArray.push(obj.id);\r\n else {\r\n let index = this.isExpandedCodeArray.findIndex(y => y.id == obj.id);\r\n if (index != -1)\r\n this.isExpandedCodeArray.splice(index, 1)\r\n }\r\n }\r\n\r\n\r\n\r\n //open popup\r\n openDialog(id: number = null, serviceLineId: number) {\r\n if (id != null && id > 0) {\r\n this.clientService.getPaymentDetailById(id).subscribe((response: any) => {\r\n if (response != null && response.statusCode == 200 && response.data != null) {\r\n this.createModel(response.data);\r\n }\r\n });\r\n } else {\r\n let paymentDetailModel = new ClientLedgerPaymentDetailsModel();\r\n paymentDetailModel.serviceLineId = serviceLineId;\r\n paymentDetailModel.claimId = this.claimId;\r\n this.createModel(paymentDetailModel);\r\n }\r\n }\r\n\r\n //create modal\r\n createModel(paymentModel: any) {\r\n const modalPopup = this.dialogModal.open(AddPaymentDetailComponent, {\r\n hasBackdrop: true,\r\n data: { paymentModel: paymentModel, clientId: this.clientId },\r\n });\r\n modalPopup.afterClosed().subscribe(result => {\r\n if (result === 'save') {\r\n this.getClaimServiceLinesForPatientLedger();\r\n }\r\n });\r\n }\r\n deletePaymentDetails(id: number) {\r\n this.clientService.deleteServiceLinePaymentDetail(id).subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.notifier.notify('success', response.message);\r\n this.getClaimServiceLinesForPatientLedger();\r\n }\r\n else {\r\n this.notifier.notify('error', response.message);\r\n }\r\n });\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions = this.clientService.getUserScreenActionPermissions('CLIENT', 'CLIENT_LEDGER_LIST');\r\n const { CLIENT_LEDGER_LIST_ADD, CLIENT_LEDGER_LIST_UPDATE } = actionPermissions;\r\n \r\n this.addPermission = CLIENT_LEDGER_LIST_ADD || false;\r\n this.updatePermission = CLIENT_LEDGER_LIST_UPDATE || false; \r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n CLAIM#\\r\\n \\r\\n DOS\\r\\n \\r\\n Total AMT(JOD)\\r\\n \\r\\n INS OWES(JOD)\\r\\n \\r\\n INS PAID(JOD)\\r\\n \\r\\n INS ADJ(JOD)\\r\\n \\r\\n PAT OWES(JOD)\\r\\n \\r\\n PAT PAID(JOD)\\r\\n \\r\\n PAT ADJ(JOD)\\r\\n \\r\\n BALANCE(JOD)\\r\\n \\r\\n STATUS\\r\\n \\r\\n ACTIONS\\r\\n
\\r\\n {{'CL'+claim.claimId}}\\r\\n \\r\\n {{claim.dos | date:'M/d/y'}}\\r\\n \\r\\n {{claim.totalAmount | number: '2.2-2'}}\\r\\n \\r\\n {{claim.insuranceOwes | number: '2.2-2'}}\\r\\n \\r\\n {{claim.insurancePayments | number: '2.2-2'}}\\r\\n \\r\\n {{claim.insuranceAdjustments | number: '2.2-2'}}\\r\\n \\r\\n {{claim.patientOwes | number: '2.2-2'}}\\r\\n \\r\\n {{claim.patientPayments | number: '2.2-2'}}\\r\\n \\r\\n {{claim.patientAdjustments | number: '2.2-2'}}\\r\\n \\r\\n {{claim.balance | number: '2.2-2'}}\\r\\n \\r\\n \\r\\n {{claim.status}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ClientLedgerModel } from './client-ledger.model';\r\nimport { ClientsService } from '../clients.service';\r\nimport { ResponseModel, FilterModel } from '../../../core/modals/common-model';\r\nimport { MatPaginator, MatSort } from '@angular/material';\r\nimport { merge } from 'rxjs';\r\nimport { Metadata } from '../../../../../super-admin-portal/core/modals/common-model';\r\nimport { CommonService } from '../../../core/services';\r\n\r\n@Component({\r\n selector: 'app-client-ledger',\r\n templateUrl: './client-ledger.component.html',\r\n styleUrls: ['./client-ledger.component.css']\r\n})\r\nexport class ClientLedgerComponent implements OnInit, AfterViewInit {\r\n clientId: number;\r\n header: string = \"Client Ledger\";\r\n claimList: Array = [];\r\n filterModel: FilterModel;\r\n isDetailPage: boolean = false;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n metaData: Metadata;\r\n claimId: number;\r\n paymentStatus:any=[];\r\n constructor(private activatedRoute: ActivatedRoute, private clientService: ClientsService, private commonService: CommonService) { }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.clientId = params.id == undefined ? null : this.commonService.encryptValue(params.id, false);\r\n });\r\n this.filterModel = new FilterModel();\r\n this.metaData = new Metadata();\r\n this.getClaimListForLedger();\r\n this.getMasterData();\r\n\r\n }\r\n getMasterData()\r\n {\r\n this.clientService.getMasterData(\"claimPaymentStatus\").subscribe((response:any)=>{\r\n if(response!=null)\r\n this.paymentStatus=response.claimPaymentStatus!=null ? response.claimPaymentStatus:[];\r\n });\r\n }\r\n getClaimListForLedger() {\r\n this.clientService.getClaimsForClientLegder(this.clientId, this.filterModel).subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null) {\r\n this.claimList = response.data;\r\n this.metaData = response.meta;\r\n }\r\n });\r\n }\r\n ngAfterViewInit() {\r\n this.onSortOrPageChanges();;\r\n }\r\n onSortOrPageChanges() {\r\n this.sort.sortChange.subscribe(() => this.paginator.pageIndex = 0);\r\n merge(this.sort.sortChange, this.paginator.page)\r\n .subscribe(() => {\r\n const changeState = {\r\n sort: this.sort.active || '',\r\n order: this.sort.direction || '',\r\n pageNumber: (this.paginator.pageIndex + 1)\r\n }\r\n this.setPaginatorModel(changeState.pageNumber, this.filterModel.pageSize, changeState.sort, changeState.order);\r\n this.getClaimListForLedger();\r\n })\r\n }\r\n\r\n setPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string) {\r\n this.filterModel = {\r\n pageNumber,\r\n pageSize,\r\n sortColumn,\r\n sortOrder,\r\n searchText: \"\"\r\n }\r\n }\r\n toggleDetails() {\r\n this.isDetailPage = false;\r\n this.getClaimListForLedger()\r\n }\r\n getClaimServiceLines(claimId: number) {\r\n this.isDetailPage = true;\r\n this.claimId = claimId;\r\n }\r\n}\r\n","export class ClientLedgerModel {\r\n claimId: number;\r\n dos: string;\r\n patientId: number;\r\n patientName: string;\r\n clinician: string;\r\n renderingProvider: string;\r\n payer: string;\r\n status: string;\r\n totalAmount: number;\r\n insuranceOwes: number;\r\n patientOwes: number;\r\n insurancePayments: number;\r\n insuranceAdjustments: number;\r\n patientPayments: number;\r\n patientAdjustments: number;\r\n balance: number;\r\n totalRecords: number;\r\n xmlString: string;\r\n}\r\n\r\nexport class ClientLedgerDetailsModel {\r\n id: number;\r\n serviceCode: string;\r\n rate: number;\r\n quantity: number;\r\n totalAmount: number;\r\n insurancePayments: number;\r\n insuranceAdjustments: number;\r\n patientPayments: number;\r\n patientAdjustments: number;\r\n isBillable: boolean;\r\n balance: number;\r\n isExpanded: boolean = false;\r\n}\r\n\r\nexport class ClientLedgerPaymentDetailsModel {\r\n id: number;\r\n amount: number;\r\n descriptionTypeId: number;\r\n notes: string;\r\n paymentDate: string;\r\n paymentTypeId: number;\r\n patientInsuranceId: number;\r\n payerName: string;\r\n paymentType: string;\r\n descriptionType: string;\r\n serviceLineId: number;\r\n claimId: number;\r\n adjustmentGroupCode: string;\r\n adjustmentReasonCode: string;\r\n patientId: number;\r\n guarantorId: number;\r\n patientName:string;\r\n guardianName:string;\r\n}\r\n\r\nexport class AdjustmentGroupCodeModel {\r\n id: number;\r\n value: string;\r\n description: string;\r\n}\r\n\r\nexport class MasterPaymentDescription {\r\n id: number;\r\n descriptionType: string;\r\n value: string;\r\n key: string;\r\n organizationID: number;\r\n isActive: boolean;\r\n isDeleted: boolean;\r\n createdBy: number;\r\n createdDate: string;\r\n}\r\n\r\nexport class MasterPaymentType {\r\n id: number;\r\n paymentType: string;\r\n value: string;\r\n key: string;\r\n organizationID: number;\r\n associatedEntity: string;\r\n isActive: boolean;\r\n isDeleted: boolean;\r\n createdBy: number;\r\n createdDate: string;\r\n}","\r\n export class PatientInfo {\r\n patientID: number;\r\n name: string;\r\n dob: Date;\r\n age: number;\r\n gender: string;\r\n ssn: string;\r\n mrn: string;\r\n status: string;\r\n phone: string;\r\n email: string;\r\n address: string;\r\n photoPath: string;\r\n photoThumbnailPath: string='';\r\n isPortalActivate: boolean;\r\n isBlock: boolean;\r\n isActive: boolean;\r\n userID: number;\r\n city: string;\r\n countryName: string;\r\n ethnicity: string;\r\n firstName: string;\r\n lastName: string;\r\n raceName: string;\r\n stateName: string;\r\n zip: string=\"0\";\r\n note: string;\r\n isPortalRequired: boolean;\r\n patientEmergencyContactPhone:String;\r\n }\r\n\r\n export class PatientVital {\r\n patientVitalID: number;\r\n heartRate: number;\r\n bmi: number;\r\n bpDiastolic: number;\r\n bpSystolic: number;\r\n pulse: number;\r\n respiration: number;\r\n temperature: number;\r\n heightIn: number;\r\n weightLbs: number;\r\n vitalDate: Date;\r\n }\r\n\r\n export class PatientDiagnosisDetail {\r\n code: string;\r\n description: string;\r\n isPrimary: boolean;\r\n diagnosisDate: Date;\r\n }\r\n\r\n export class PhoneNumberModel {\r\n phoneNumberId: number;\r\n phoneNumber: string;\r\n phoneNumberTypeId: number;\r\n phoneNumberType: string;\r\n preferenceID: number;\r\n preference: string;\r\n otherPhoneNumberType: string;\r\n }\r\n\r\n export class PatientTagsModel {\r\n patientTagID: number;\r\n tagID: number;\r\n tag: string;\r\n colorCode: string;\r\n colorName: string;\r\n roleTypeID: number;\r\n fontColorCode: string;\r\n isDeleted: boolean;\r\n }\r\n\r\n export class PatientAddressesModel {\r\n addressID: number;\r\n isMailingSame: boolean;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n stateID: number;\r\n stateName: string;\r\n stateAbbr: string;\r\n countryID: number;\r\n countryName: string;\r\n zip: string=\"0\";\r\n addressTypeID: number;\r\n addressType: string;\r\n isPrimary: boolean;\r\n others: string;\r\n latitude:number;\r\n longitude:number;\r\n }\r\n\r\n export class PatientAllergyModel {\r\n patientAllergyId: number;\r\n allergen: string;\r\n allergyTypeId: number;\r\n allergyType: string;\r\n reactionID: number;\r\n reaction: string;\r\n note: string;\r\n createdDate: Date;\r\n isActive: boolean;\r\n }\r\n\r\n export class PatientMedicalFamilyHistoryModel {\r\n medicalFamilyHistoryId: number;\r\n dob: Date;\r\n dateOfDeath: Date;\r\n firstName: string;\r\n genderID: number;\r\n gender: string;\r\n lastName: string;\r\n observation: string;\r\n relationShipID: number;\r\n relationshipName: string;\r\n }\r\n\r\n export class PatientMedicationModel {\r\n patientMedicationId: number;\r\n dose: string;\r\n endDate: Date;\r\n startDate: Date;\r\n frequencyID: number;\r\n frequency: string;\r\n medicine: string;\r\n strength: string;\r\n }\r\n\r\n export class PatientSocialHistory {\r\n id: number;\r\n patientID: number;\r\n alcohalID: number;\r\n tobaccoID: number;\r\n drugID: number;\r\n occupation: string;\r\n travelID: number;\r\n isActive: boolean;\r\n isDeleted: boolean;\r\n createdBy: number;\r\n createdDate: Date;\r\n updatedDate: Date;\r\n updatedBy: number;\r\n }\r\n\r\n export class PatientImmunization {\r\n id: number;\r\n patientID: number;\r\n orderBy: number;\r\n vfcid: number;\r\n administeredDate: Date;\r\n immunization: number;\r\n amountAdministered: number;\r\n manufactureID: number;\r\n expireDate: Date;\r\n vaccineLotNumber: string;\r\n administrationSiteID: number;\r\n routeOfAdministrationID: number;\r\n administeredBy: number;\r\n immunityStatusID: number;\r\n rejectedImmunization: boolean;\r\n rejectionReasonID: number;\r\n rejectionReasonNote: string;\r\n manufacturerName: string;\r\n isActive: boolean;\r\n isDeleted: boolean;\r\n createdBy: number;\r\n createdDate: Date;\r\n }\r\n\r\n export class Organization {\r\n id: number;\r\n organizationName: string;\r\n businessName: string;\r\n value: string;\r\n description: string;\r\n address1: string;\r\n city: string;\r\n stateName: string;\r\n zip: string=\"0\";\r\n phone: string;\r\n fax: string;\r\n email: string;\r\n logo: string;\r\n favicon: string;\r\n contactPersonFirstName: string;\r\n contactPersonLastName: string;\r\n contactPersonPhoneNumber: string;\r\n contactPersonMaritalStatus: number;\r\n databaseDetailId: number;\r\n isActive: boolean;\r\n createdDate: Date;\r\n isDeleted: boolean;\r\n createdBy: number;\r\n updatedDate: Date;\r\n latitude: number;\r\n longitude: number;\r\n apartmentNumber: string;\r\n vendorIdDirect: string;\r\n vendorIdIndirect: string;\r\n vendorNameDirect: string;\r\n vendorNameIndirect: string;\r\n payrollStartWeekDay: string;\r\n payrollEndWeekDay: string;\r\n }\r\n\r\n export class ClientProfileModel {\r\n patientInfo= new Array();\r\n patientVitals =new Array();\r\n lastAppointmentDetails: any[]=[];\r\n upcomingAppointmentDetails: any[]=[];\r\n patientDiagnosisDetails=new Array();\r\n phoneNumberModel=new Array();\r\n patientTagsModel=new Array();\r\n patientAddressesModel= new Array()\r\n patientAllergyModel= new Array();\r\n patientLabTestModel: any[]=[];\r\n patientMedicalFamilyHistoryModel= new Array();\r\n patientCustomLabelModel: any[];\r\n patientMedicationModel= new Array() ;\r\n staffs: any[]=[];\r\n patientSocialHistory=new Array();\r\n patientEncounter: any[];\r\n patientImmunization= new Array();\r\n organization =new Array();\r\n claimServiceLine: any[]=[];\r\n notes: Array = [];\r\n }\r\n\r\n export class DoctorPatientNotes{\r\n notesId:Number;\r\n patientId:Number;\r\n providerId:Number;\r\n createdDate:Date;\r\n patientNotes:string;\r\n }\r\n","\r\nexport class ClientModel {\r\n id: number;\r\n dob: string;\r\n gender: number;\r\n ssn: string;\r\n mrn: string;\r\n email: string;\r\n photoPath: string;\r\n photoThumbnailPath: string;\r\n isPortalActivate: boolean;\r\n isBlock: boolean;\r\n isActive: boolean;\r\n userID: number;\r\n firstName: string;\r\n lastName: string;\r\n middleName: string;\r\n carrierId:string;\r\n note: string;\r\n locationID: number;\r\n optOut: boolean;\r\n race: number=null;\r\n secondaryRaceID: number=null;\r\n renderingProviderID: number;\r\n userName: string;\r\n icdid: number;\r\n isPortalRequired: boolean=false;\r\n patientDiagnosis: PatientDiagnosis[];\r\n patientTags: PatientTag[];\r\n tag: number[];\r\n ethnicity: number=null;\r\n primaryProvider: string;\r\n emergencyContactRelationship: number;\r\n emergencyContactFirstName: string;\r\n emergencyContactLastName: string;\r\n emergencyContactPhone: string;\r\n PhotoBase64: string;\r\n phone:string;\r\n nationalID?:string;\r\n nationality?:string;\r\n}\r\nexport class PatientDiagnosis {\r\n id?: number;\r\n patientID?: number;\r\n icdid?: number;\r\n isPrimary?: boolean;\r\n}\r\n\r\nexport class PatientTag {\r\n id?: number;\r\n patientID?: number;\r\n tagID?: number;\r\n isDeleted: boolean;\r\n}\r\n\r\nexport class SocialHistoryModel\r\n{\r\n id:number;\r\n alcohalID:number;\r\n drugID:number;\r\n patientID:number;\r\n occupation:string;\r\n tobaccoID:number;\r\n travelID:number;\r\n}\r\n\r\nexport class AddUserDocumentModel {\r\n base64: any[]\r\n documentTitle: string\r\n expiration: string\r\n documentTypeIdStaff:number\r\n documentTypeId:number\r\n otherDocumentType:string\r\n key: string\r\n userId: number\r\n}\r\n\r\nexport class UserDocumentModel {\r\n id: number;\r\n userId: number;\r\n documentTitle: string;\r\n url: string;\r\n documentTypeIdStaff: number;\r\n documentTypeNameStaff: string;\r\n expiration: Date;\r\n extenstion: string;\r\n otherDocumentType: string;\r\n createdDate: Date;\r\n key: string;\r\n documentTypeName:string\r\n}","module.exports = \".importccd {\\r\\n position: relative;\\r\\n font-weight: 500;\\r\\n text-transform: capitalize;\\r\\n cursor: pointer;\\r\\n margin: 8px;\\r\\n border: 2px solid #01385f;\\r\\n padding: 7px 25px;\\r\\n color: #01385f;\\r\\n font-weight: 600;\\r\\n background-color: #ffff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n border-radius: 10px;\\r\\n height: 40px;\\r\\n}\\r\\n\\r\\n.importccd label {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.importccd input[type=\\\"file\\\"] {\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n cursor: pointer;\\r\\n opacity: 0;\\r\\n left: 0px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/* @media all and (max-width:768px){\\r\\n .user-block .actions-btn .mat-raised-button.mat-accent{ margin-left: 0 !important; margin-top: 15px;}\\r\\n} */\\r\\n\"","module.exports = \"
\\r\\n 0\\\" [clientId]=\\\"clientId\\\"\\r\\n [headerText]=\\\"header\\\">\\r\\n\\r\\n
\\r\\n

{{\\\"manage_add_client\\\"|translate}}

\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n 0\\\">\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ViewChild,\r\n ViewContainerRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { DemographicInfoComponent } from \"../demographic-info/demographic-info.component\";\r\nimport { GuardianComponent } from \"../guardian/guardian.component\";\r\nimport { AddressComponent } from \"../address/address.component\";\r\nimport { InsuranceComponent } from \"../insurance/insurance.component\";\r\nimport { CustomFieldsComponent } from \"../custom-fields/custom-fields.component\";\r\nimport { Observable } from \"rxjs\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { ClientsService } from \"../clients.service\";\r\nimport { ClientHeaderComponent } from \"../client-header/client-header.component\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { UserBankDetailsComponent } from \"src/app/shared/user-bank-details/user-bank-details.component\";\r\n\r\n\r\n@Component({\r\n selector: \"app-client\",\r\n templateUrl: \"./client.component.html\",\r\n styleUrls: [\"./client.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ClientComponent implements OnInit {\r\n @ViewChild(ClientHeaderComponent) child: ClientHeaderComponent;\r\n private header: string = this.translate.instant(\"My Client\");\r\n @ViewChild(\"tabContent\", { read: ViewContainerRef })\r\n private tabContent: ViewContainerRef;\r\n clientTabs: any;\r\n clientId: number;\r\n selectedIndex: number = 0;\r\n dataURL: any;\r\n isApproved: boolean;\r\n translatedTabs: any;\r\n constructor(\r\n private cfr: ComponentFactoryResolver,\r\n private activatedRoute: ActivatedRoute,\r\n private clientService: ClientsService,\r\n private commonService: CommonService,\r\n private notifier: NotifierService,\r\n private route: Router,\r\n private translate: TranslateService\r\n\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.clientTabs = [\r\n \"Demographic Info\",\r\n \"Guardian/Guarantor\",\r\n \"Address\",\r\n \"Insurance\",\r\n \"Custom Fields\",\r\n \"Bank Details\"\r\n ];\r\n\r\n\r\n\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.translateTabs();\r\n this.translate.onLangChange.subscribe(() => {\r\n this.translateTabs();\r\n });\r\n\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? null\r\n : parseInt(this.commonService.encryptValue(params.id, false));\r\n this.selectedIndex = 0;\r\n this.loadChild(\"Demographic Info\");\r\n });\r\n\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n //console.log(user);\r\n this.isApproved = user.isApprove;\r\n if (user.isApprove == false) {\r\n this.notifier.notify(\r\n \"error\",\r\n \"You are not authorized to access this section!\"\r\n );\r\n\r\n this.route.navigate([\"web/clientlist\"]);\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n translateTabs() {\r\n this.translatedTabs = this.clientTabs.map((tab) =>\r\n this.translate.instant(tab)\r\n );\r\n }\r\n // loadComponent(eventType: any): any {\r\n // this.loadChild(eventType.tab.textLabel);\r\n // }\r\n loadComponent(eventType: any): any {\r\n const selectedTab = this.clientTabs.find(\r\n (tab) => this.translate.instant(tab.TabName || tab) === eventType.tab.textLabel\r\n );\r\n if (selectedTab) {\r\n this.loadChild(selectedTab.Component || selectedTab); // Ensure the component is passed correctly\r\n }\r\n }\r\n\r\n loadChild(childName: string) {\r\n this.selectedIndex = this.clientTabs.indexOf(childName);\r\n let factory: any;\r\n switch (childName) {\r\n case \"Demographic Info\":\r\n factory = this.cfr.resolveComponentFactory(DemographicInfoComponent);\r\n break;\r\n case \"Guardian/Guarantor\":\r\n factory = this.cfr.resolveComponentFactory(GuardianComponent);\r\n break;\r\n case \"Address\":\r\n factory = this.cfr.resolveComponentFactory(AddressComponent);\r\n break;\r\n case \"Insurance\":\r\n factory = this.cfr.resolveComponentFactory(InsuranceComponent);\r\n break;\r\n case \"Custom Fields\":\r\n factory = this.cfr.resolveComponentFactory(CustomFieldsComponent);\r\n break;\r\n case \"Bank Details\":\r\n factory = this.cfr.resolveComponentFactory(UserBankDetailsComponent);\r\n break;\r\n default:\r\n factory = this.cfr.resolveComponentFactory(DemographicInfoComponent); // Default component\r\n break;\r\n }\r\n\r\n this.tabContent.clear();\r\n let comp: ComponentRef =\r\n this.tabContent.createComponent(factory != null ? factory : this.cfr.resolveComponentFactory(DemographicInfoComponent));\r\n comp.instance.clientId = this.clientId;\r\n comp.instance.handleTabChange.subscribe(this.handleTabChange.bind(this));\r\n }\r\n\r\n handleTabChange(data: any): any {\r\n this.clientId = data.id;\r\n if (this.child != undefined) this.child.getClientHeaderInfo();\r\n if (data.clickType != \"Save\") {\r\n this.loadChild(data.tab);\r\n }\r\n }\r\n importCCDA(e: any) {\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"xml\")) {\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.clientService\r\n .importCCDA(this.dataURL)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200)\r\n this.notifier.notify(\r\n \"success\",\r\n \"Patient information has been imported successfully\"\r\n );\r\n else\r\n this.notifier.notify(\r\n \"error\",\r\n \"Some error occurred while importing patient information\"\r\n );\r\n });\r\n\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n}\r\n","import { Routes, RouterModule } from \"@angular/router\";\r\nimport { NgModule, Component } from \"@angular/core\";\r\nimport { ClientComponent } from \"./client/client.component\";\r\nimport { ProfileComponent } from \"./profile/profile.component\";\r\nimport { SocialHistoryComponent } from \"./social-history/social-history.component\";\r\nimport { componentFactoryName } from \"@angular/compiler\";\r\nimport { FamilyHistoryComponent } from \"./family-history/family-history.component\";\r\nimport { ImmunizationComponent } from \"./immunization/immunization.component\";\r\nimport { DiagnosisComponent } from \"./diagnosis/diagnosis.component\";\r\nimport { VitalsComponent } from \"./vitals/vitals.component\";\r\nimport { AllergiesComponent } from \"./allergies/allergies.component\";\r\nimport { MedicationComponent } from \"./medication/medication.component\";\r\nimport { EncounterComponent } from \"./encounter/encounter.component\";\r\nimport { ClientLedgerComponent } from \"./client-ledger/client-ledger.component\";\r\nimport { DocumentsComponent } from \"./documents/documents.component\";\r\nimport { AuthorizationComponent } from \"./authorization/authorization.component\";\r\nimport { LabOrdersComponent } from \"./lab-orders/lab-orders.component\";\r\nimport { SoapEncounterComponent } from \"./soap-encounter/soap-encounter.component\";\r\nimport { AgencyPermissionGuard } from \"../agency_routing_permission.guard\";\r\nimport { ClientPermissionGuard } from \"../../client-portal/client_routing_permission.guard\";\r\nimport { PrescriptionComponent } from \"./prescription/prescription.component\";\r\nimport { HistoryComponent } from \"./history/history.component\";\r\nimport { SoapNoteComponent } from \"./soap-note/soap-note.component\";\r\nimport { ClientInsuranceComponent } from \"./client-insurance/client-insurance.component\";\r\nimport { IcdComponent } from \"./icd/icd.component\";\r\nimport { HealthPlanCoverageComponent } from \"./health-plan-coverage/health-plan-coverage.component\";\r\nimport { MediCertificateComponent } from \"./medi-certificate/medi-certificate.component\";\r\nimport { UserInvitationComponent } from \"../users/user-invitation/user-invitation.component\";\r\n\r\nimport { LabRefferralClientsComponent } from \"./lab-refferral-clients/lab-refferral-clients.component\";\r\nimport { RadiologyRefferralClientsComponent } from \"./radiology-refferral-clients/radiology-refferral-clients.component\";\r\nimport { VideoCallInvitationComponent } from \"../encounter/video-call-invitation/video-call-invitation.component\";\r\nimport { VideoCallInvitationSharedComponent } from \"src/app/shared/video-call-invitation-shared/video-call-invitation-shared.component\";\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: ClientComponent\r\n }, \r\n {\r\n path: \"profile\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: ProfileComponent\r\n },\r\n {\r\n path: \"family-history\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: FamilyHistoryComponent\r\n },\r\n {\r\n path: \"history\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: HistoryComponent\r\n },\r\n {\r\n path: \"social-history\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: SocialHistoryComponent\r\n },\r\n {\r\n path: \"immunization\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: ImmunizationComponent\r\n },\r\n {\r\n path: \"diagnosis\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: DiagnosisComponent\r\n },\r\n {\r\n path: \"laborderlist\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: LabOrdersComponent\r\n },\r\n {\r\n path: \"vitals\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: VitalsComponent\r\n },\r\n {\r\n path: \"allergies\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: AllergiesComponent\r\n },\r\n {\r\n path: \"authorization\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: AuthorizationComponent\r\n },\r\n {\r\n path: \"medication\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: MedicationComponent\r\n },\r\n {\r\n path: \"encounter\",\r\n //canActivate: [AgencyPermissionGuard],\r\n component: EncounterComponent\r\n },\r\n {\r\n path: \"soap-encounter\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: SoapEncounterComponent\r\n },\r\n {\r\n path: \"ledger\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: ClientLedgerComponent\r\n },\r\n {\r\n path: \"documents\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: DocumentsComponent\r\n },\r\n {\r\n path: \"scheduling\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"../../scheduling/scheduling.module#SchedulingModule\"\r\n },\r\n {\r\n path:'prescription',\r\n canActivate: [AgencyPermissionGuard],\r\n component:PrescriptionComponent\r\n },\r\n {\r\n path:'soap-note',\r\n canActivate: [AgencyPermissionGuard],\r\n component:SoapNoteComponent\r\n },\r\n {\r\n path:'icd',\r\n canActivate: [AgencyPermissionGuard],\r\n component:IcdComponent\r\n },\r\n {\r\n path:'insurance',\r\n canActivate: [AgencyPermissionGuard],\r\n component:ClientInsuranceComponent\r\n },\r\n {\r\n path:'healthplancoverage',\r\n // canActivate:[AgencyPermissionGuard],\r\n component :HealthPlanCoverageComponent\r\n },\r\n {\r\n path:'medicertificate',\r\n component:MediCertificateComponent\r\n },\r\n {\r\n path:'user-invitations',\r\n component:VideoCallInvitationSharedComponent\r\n },\r\n {\r\n path:'lab-refferral',\r\n component:LabRefferralClientsComponent\r\n },\r\n {\r\n path:'radiology-refferral',\r\n component:RadiologyRefferralClientsComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ClientsRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ClientComponent } from \"./client/client.component\";\r\nimport { ClientsRoutingModule } from \"./clients.module.routing\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { SharedModule } from \"../../../../shared/shared.module\";\r\nimport { PlatformMaterialModule } from \"../../../platform.material.module\";\r\nimport { DemographicInfoComponent } from \"./demographic-info/demographic-info.component\";\r\nimport { GuardianComponent } from \"./guardian/guardian.component\";\r\nimport { AddressComponent } from \"./address/address.component\";\r\nimport { InsuranceComponent } from \"./insurance/insurance.component\";\r\nimport { CustomFieldsComponent } from \"./custom-fields/custom-fields.component\";\r\nimport { ClientsService } from \"./clients.service\";\r\nimport { GuardianModalComponent } from \"./guardian/guardian-modal/guardian-modal.component\";\r\nimport { ClientHeaderComponent } from \"./client-header/client-header.component\";\r\nimport { ProfileComponent } from \"./profile/profile.component\";\r\nimport { SocialHistoryComponent } from \"./social-history/social-history.component\";\r\nimport { FamilyHistoryComponent } from \"./family-history/family-history.component\";\r\nimport { ImmunizationComponent } from \"./immunization/immunization.component\";\r\nimport { DiagnosisComponent } from \"./diagnosis/diagnosis.component\";\r\nimport { VitalsComponent } from \"./vitals/vitals.component\";\r\nimport { AllergiesComponent } from \"./allergies/allergies.component\";\r\nimport { AuthorizationComponent } from \"./authorization/authorization.component\";\r\nimport { MedicationComponent } from \"./medication/medication.component\";\r\nimport { EncounterComponent } from \"./encounter/encounter.component\";\r\nimport { ClientLedgerComponent } from \"./client-ledger/client-ledger.component\";\r\nimport { DocumentsComponent } from \"./documents/documents.component\";\r\nimport { LabOrdersComponent } from \"./lab-orders/lab-orders.component\";\r\nimport { DiagnosisModalComponent } from \"./diagnosis/diagnosis-modal/diagnosis-modal.component\";\r\nimport { MAT_DIALOG_DEFAULT_OPTIONS } from \"@angular/material\";\r\nimport { FamilyHistoryModelComponent } from \"./family-history/family-history-model/family-history-model.component\";\r\nimport { EligibilityEnquiryComponent } from \"./eligibility-enquiry/eligibility-enquiry.component\";\r\nimport { ImmunizationModalComponent } from \"./immunization/immunization-modal/immunization-modal.component\";\r\nimport { VitalModalComponent } from \"./vitals/vital-modal/vital-modal.component\";\r\nimport { AllergiesModalComponent } from \"./allergies/allergies-modal/allergies-modal.component\";\r\nimport { AuthorizationModalComponent } from \"./authorization/authorization-modal/authorization-modal.component\";\r\nimport { MedicationModalComponent } from \"./medication/medication-modal/medication-modal.component\";\r\nimport { SoapEncounterComponent } from \"./soap-encounter/soap-encounter.component\";\r\nimport { ClientLedgerDetailComponent } from \"./client-ledger/client-ledger-detail/client-ledger-detail.component\";\r\nimport { AddPaymentDetailComponent } from \"./client-ledger/add-payment-detail/add-payment-detail.component\";\r\nimport { AddDocumentComponent } from \"./documents/add-document/add-document.component\";\r\nimport { ChartsModule } from \"ng2-charts\";\r\nimport { NgxMatSelectSearchModule } from \"ngx-mat-select-search\";\r\nimport { PrescriptionComponent } from \"./prescription/prescription.component\";\r\nimport { PrescriptionFaxModalComponent } from \"./prescription/prescription-fax-modal/prescription-fax-modal.component\";\r\nimport { PrescriptionModalComponent } from \"./prescription/prescription-modal/prescription-modal.component\";\r\nimport { AddPrescriptionComponent } from \"./prescription/prescription-addprescription/prescription-addprescription.component\";\r\nimport { SentPrescriptionComponent } from \"./prescription/prescription-sentprescription/prescription-sentprescription.component\";\r\nimport { HistoryComponent } from \"./history/history.component\";\r\nimport { SoapNoteComponent } from \"./soap-note/soap-note.component\";\r\nimport { IcdComponent } from \"./icd/icd.component\";\r\nimport { ClientInsuranceComponent } from \"./client-insurance/client-insurance.component\";\r\nimport { InsuranceModalComponent } from \"./insurance/insurance-modal/insurance-modal.component\";\r\nimport { DocumentModalComponent } from \"../../client-portal/documents/document-modal/document-modal.component\";\r\nimport { DoctorPatientNotesComponent } from './doctor-patient-notes/doctor-patient-notes.component';\r\nimport { SoapNoteViewModalComponent } from './soap-note-view-modal/soap-note-view-modal.component';\r\nimport { AngularEditorModule } from \"@kolkov/angular-editor\";\r\nimport { HealthPlanCoverageComponent } from './health-plan-coverage/health-plan-coverage.component';\r\nimport { MediCertificateComponent } from './medi-certificate/medi-certificate.component';\r\nimport { MediCertificateModalComponent } from './medi-certificate/medi-certificate-modal/medi-certificate-modal.component';\r\nimport { HistoryModule } from \"../../client-portal/history/history.module\";\r\nimport { LabRefferralClientsComponent } from \"./lab-refferral-clients/lab-refferral-clients.component\";\r\nimport { RadiologyRefferralClientsComponent } from \"./radiology-refferral-clients/radiology-refferral-clients.component\";\r\nimport { FormioModule } from \"angular-formio\";\r\nimport { ScrollbarModule } from \"ngx-scrollbar\";\r\nimport { LabTestDownloadModalComponent } from \"../lab-test-download-modal/lab-test-download-modal.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ClientsRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SharedModule,\r\n PlatformMaterialModule,\r\n ChartsModule,\r\n NgxMatSelectSearchModule,\r\n AngularEditorModule,\r\n HistoryModule,\r\n FormioModule,\r\n ScrollbarModule\r\n \r\n \r\n ],\r\n providers: [\r\n ClientsService,\r\n {\r\n provide: MAT_DIALOG_DEFAULT_OPTIONS,\r\n useValue: {\r\n hasBackdrop: true,\r\n disableClose: true,\r\n minWidth: \"55%\",\r\n maxWidth: \"90%\",\r\n },\r\n },\r\n ],\r\n entryComponents: [\r\n DemographicInfoComponent,\r\n GuardianComponent,\r\n AddressComponent,\r\n InsuranceComponent,\r\n CustomFieldsComponent,\r\n GuardianModalComponent,\r\n DiagnosisModalComponent,\r\n FamilyHistoryModelComponent,\r\n EligibilityEnquiryComponent,\r\n ImmunizationModalComponent,\r\n VitalModalComponent,\r\n AllergiesModalComponent,\r\n AuthorizationModalComponent,\r\n MedicationModalComponent,\r\n ClientLedgerDetailComponent,\r\n AddPaymentDetailComponent,\r\n AddDocumentComponent,\r\n PrescriptionModalComponent,\r\n PrescriptionFaxModalComponent,\r\n // AddPrescriptionComponent,\r\n SentPrescriptionComponent,\r\n SoapNoteComponent,\r\n ClientInsuranceComponent,\r\n InsuranceModalComponent,\r\n DocumentModalComponent,\r\n DoctorPatientNotesComponent,\r\n SoapNoteViewModalComponent,\r\n HealthPlanCoverageComponent,\r\n MediCertificateModalComponent,\r\n \r\n ],\r\n declarations: [\r\n ClientComponent,\r\n DemographicInfoComponent,\r\n GuardianComponent,\r\n AddressComponent,\r\n InsuranceComponent,\r\n CustomFieldsComponent,\r\n GuardianModalComponent,\r\n ClientHeaderComponent,\r\n ProfileComponent,\r\n SocialHistoryComponent,\r\n FamilyHistoryComponent,\r\n ImmunizationComponent,\r\n DiagnosisComponent,\r\n VitalsComponent,\r\n AllergiesComponent,\r\n AuthorizationComponent,\r\n MedicationComponent,\r\n EncounterComponent,\r\n ClientLedgerComponent,\r\n DocumentsComponent,\r\n LabOrdersComponent,\r\n DiagnosisModalComponent,\r\n FamilyHistoryModelComponent,\r\n EligibilityEnquiryComponent,\r\n ImmunizationModalComponent,\r\n VitalModalComponent,\r\n AllergiesModalComponent,\r\n AuthorizationModalComponent,\r\n MedicationModalComponent,\r\n SoapEncounterComponent,\r\n ClientLedgerDetailComponent,\r\n AddPaymentDetailComponent,\r\n AddDocumentComponent,\r\n PrescriptionComponent,\r\n PrescriptionFaxModalComponent,\r\n PrescriptionModalComponent,\r\n // AddPrescriptionComponent,\r\n SentPrescriptionComponent,\r\n HistoryComponent,\r\n IcdComponent,\r\n SoapNoteComponent,\r\n ClientInsuranceComponent,\r\n InsuranceModalComponent,\r\n DocumentModalComponent,\r\n DoctorPatientNotesComponent,\r\n SoapNoteViewModalComponent,\r\n HealthPlanCoverageComponent,\r\n MediCertificateComponent,\r\n MediCertificateModalComponent,\r\n LabRefferralClientsComponent,\r\n RadiologyRefferralClientsComponent\r\n ],\r\n exports: [\r\n ImmunizationModalComponent,\r\n MedicationModalComponent,\r\n AllergiesModalComponent,\r\n AuthorizationModalComponent,\r\n FamilyHistoryModelComponent,\r\n InsuranceModalComponent,\r\n PrescriptionComponent,\r\n MedicationComponent,\r\n SoapNoteComponent,\r\n FamilyHistoryComponent,\r\n HistoryComponent,\r\n SocialHistoryComponent,\r\n ImmunizationComponent,\r\n AllergiesComponent,\r\n DocumentsComponent,\r\n IcdComponent,\r\n ClientInsuranceComponent,\r\n VitalsComponent,\r\n DocumentModalComponent,\r\n HealthPlanCoverageComponent,\r\n LabRefferralClientsComponent,\r\n RadiologyRefferralClientsComponent\r\n ],\r\n})\r\nexport class ClientsModule { }\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport {\r\n ClientModel,\r\n AddUserDocumentModel,\r\n SocialHistoryModel,\r\n} from \"./client.model\";\r\nimport { GuardianModel } from \"./guardian.model\";\r\nimport { DiagnosisModel } from \"./diagnosis/diagnosis.model\";\r\nimport { PatientInsuranceModel } from \"./insurance.model\";\r\nimport { ClientCustomLabelModel } from \"./clientCustomLabel.model\";\r\nimport { PatientMedicalFamilyHistoryModel } from \"./family-history/family-history.model\";\r\nimport { ImmunizationModel } from \"./immunization/immunization.model\";\r\nimport {\r\n FilterModel,\r\n} from \"../../core/modals/common-model\";\r\nimport { VitalModel } from \"./vitals/vitals.model\";\r\nimport { AllergyModel } from \"./allergies/allergies.model\";\r\nimport { AuthModel } from \"./authorization/authorization.model\";\r\nimport { MedicationModel } from \"./medication/medication.model\";\r\nimport { ClientLedgerPaymentDetailsModel } from \"./client-ledger/client-ledger.model\";\r\nimport {\r\n PrescriptionModel,\r\n PrescriptionFaxModel,\r\n PrescriptionDownloadModel,\r\n} from \"./prescription/prescription.model\";\r\nimport { Observable } from \"rxjs/internal/Observable\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ClientsService {\r\n\r\n private getMasterDataByNameURL = \"api/MasterData/MasterDataByName\";\r\n private createURL = \"Patients/CreateUpdatePatient\";\r\n private getClientByIdURL = \"Patients/GetPatientById\";\r\n private getClientHeaderInfoURL = \"Patients/GetPatientHeaderInfo\";\r\n private getClientProfileInfoURL = \"Patients/GetPatientsDetails\";\r\n\r\n private updateClientStatusURL = \"patients/UpdatePatientActiveStatus\";\r\n private updateUserStatusURL = \"user/UpdateUserStatus\";\r\n private getPatientCCDAURL = \"patients/GetPatientCCDA\";\r\n private updatePatientPortalVisibilityURL =\r\n \"patients/UpdatePatientPortalVisibility\";\r\n\r\n //Eligibility Enquiry Methods\r\n private getPayerByPatientURL = \"GetPayerByPatient\";\r\n private getEligibilityEnquiryServiceCodesURL =\r\n \"EligibilityCheck/GetEligibilityEnquiryServiceCodes\";\r\n private download270URL = \"EligibilityCheck/Download270\";\r\n\r\n //Allergy URL\r\n private createAllergyURL = \"PatientsAllergy/SaveAllergy\";\r\n private getAllergyListURL = \"PatientsAllergy/GetAllergies\";\r\n private getAllergyByIdURL = \"PatientsAllergy/GetAllergyById\";\r\n private deleteAllergyURL = \"PatientsAllergy/DeleteAllergy\";\r\n\r\n //Authorization\r\n private getAllAuthorizationsForPatientURL =\r\n \"Authorizations/GetAllAuthorizationsForPatient\";\r\n private getAuthorizationByIdURL = \"Authorizations/GetAuthorizationById\";\r\n private deleteAuthorizationURL = \"Authorizations/DeleteAutorization\";\r\n private getPatientPayerServiceCodesAndModifiersURL =\r\n \"patients/GetPatientPayerServiceCodesAndModifiers\";\r\n private createAuthorizationURL = \"Authorizations/SaveAuthorization\";\r\n\r\n //Vitals URL\r\n private createVitalURL = \"PatientsVitals/SaveVital\";\r\n private getVitalListURL = \"PatientsVitals/GetVitals\";\r\n private getVitalByIdURL = \"PatientsVitals/GetVitalById\";\r\n private getVitalByAppointmentIdURL =\r\n \"PatientsVitals/GetVitalsByAppointmentId\";\r\n private deleteVitalURL = \"PatientsVitals/DeleteVital\";\r\n\r\n //Immunization URL\r\n private createImmunizationURL =\r\n \"PatientsImmunization/SavePatientImmunization\";\r\n private getImmunizationListURL = \"PatientsImmunization/GetImmunization\";\r\n private getImmunizationByAppointmentIdListURL =\r\n \"PatientsImmunization/GetImmunizationByAppointmentId\";\r\n private getImmunizationByIdURL = \"PatientsImmunization/GetImmunizationById\";\r\n private deleteImmunizationURL = \"PatientsImmunization/DeleteImmunization\";\r\n\r\n //Medication URL\r\n private createMedicationURL = \"PatientsMedication/SaveMedication\";\r\n private getMedicationListURL = \"PatientsMedication/GetMedication\";\r\n \r\n private getMedicationByIdURL = \"PatientsMedication/GetMedicationById\";\r\n private getMedicationByAppointmentIdURL =\r\n \"PatientsMedication/GetMedicationByAppointmentId\";\r\n private deleteMedicationURL = \"PatientsMedication/DeleteMedication\";\r\n\r\n //Guardian URL\r\n private createGuardianURL = \"PatientsGuardian/CreateUpdatePatientGuardian\";\r\n private getGuardianListURL = \"PatientsGuardian/GetPatientGuardian\";\r\n private getGuardianByIdURL = \"PatientsGuardian/GetPatientGuardianById\";\r\n private deleteGuardianURL = \"PatientsGuardian/DeletePatientGuardian\";\r\n\r\n //Address URL\r\n private getAddressAndPhoneNumbersURL =\r\n \"PatientsAddress/GetPatientPhoneAddress\";\r\n private saveAddressAndPhoneNumbersURL = \"PatientsAddress/SavePhoneAddress\";\r\n\r\n // social history\r\n private getPatientSocialHistoryURL =\r\n \"PatientsSocialHistory/GetPatientSocialHistory\";\r\n private savePatientSocialHistoryURL =\r\n \"PatientsSocialHistory/SavePatientSocialHistory\";\r\n\r\n //Diagnosis URL\r\n private getDiagnosisListURL = \"PatientsDiagnosis/GetDiagnosis\";\r\n private getSoapNotePatientDiagnosisListURL =\r\n \"patient-encounter/GetPatientDiagnosisDetails/\";\r\n private getDiagnosisByIdURL = \"PatientsDiagnosis/GetDiagnosisById\";\r\n private createDiagnosisURL = \"PatientsDiagnosis/SavePatientDiagnosis\";\r\n private deleteDiagnosisURL = \"PatientsDiagnosis/DeleteDiagnosis\";\r\n //Patient Insurance URL\r\n private getPatientInsurances = \"PatientsInsurance/GetPatientInsurances\";\r\n private savePatientInsurances = \"PatientsInsurance/SavePatientInsurance\";\r\n // Patient Custom Label\r\n private getPatientCustomLabels = \"PatientsCustomLabel/GetPatientCustomLabels\";\r\n private savePatientCustomLabels =\r\n \"PatientsCustomLabel/SavePatientCustomLabels\";\r\n private getAllPatientsForDDL = \"Patients/GetAllPatientList\";\r\n // Patient Family History URL\r\n private getPatientMedicalFamilyHistoryListURL =\r\n \"PatientMedicalFamilyHistory/GetPatientMedicalFamilyHistoryById\";\r\n private deletePatientMedicalFamilyHistoryURL =\r\n \"PatientMedicalFamilyHistory/DeletePatientMedicalFamilyHistory\";\r\n private savePatientFamilyHistoryDataURL =\r\n \"PatientMedicalFamilyHistory/SavePatientMedicalfamilyHistory\";\r\n\r\n //Patient Encounters\r\n private getPatientEncountersListURL = \"patient-encounter/GetPatientEncounter\";\r\n\r\n //Ledger URL\r\n private getClaimsForLedgerURL = \"Claim/GetClaimsForPatientLedger\";\r\n private getClaimServiceLineForPatientLedgerURL =\r\n \"Claim/GetClaimServiceLinesForPatientLedger\";\r\n private getPatientGuarantorURL = \"patients/GetPatientGuarantor\";\r\n private getPaymentDetailByIdURL = \"api/Payment/GetPaymentDetailsById\";\r\n private saveServiceLinePaymentURL = \"api/Payment/SaveServiceLinePayment\";\r\n private deleteServiceLinePaymentURL = \"api/Payment/DeleteServiceLinePayment\";\r\n\r\n //dpcuments\r\n private getUserDocumentsURL = \"userDocument/GetUserDocuments\";\r\n\r\n private getFilterUserDocumentsUrl = \"userDocument/GetFilterUserDocuments\";\r\n private getAllDocumentsForSuperAdminUrl =\r\n \"userDocument/GetAllDocumentsForSuperAdmin\";\r\n private getAllDocumentsURL = \"userDocument/GetAllDocumentsForSuperAdmin\";\r\n private getUserByLocationURL =\r\n \"api/PatientAppointments/GetStaffAndPatientByLocation\";\r\n private getUserDocumentURL = \"userDocument/GetUserDocument\";\r\n private deleteUserDocumentURL = \"userDocument/DeleteUserDocument\";\r\n private uploadUserDocumentURL = \"userDocument/UploadUserDocuments\";\r\n private updateUserDocumnetURL = \"userDocument/UpdateUserDocumnet\";\r\n\r\n private getPateintApptDocumentsURL =\r\n \"userDocument/GetPateintAppointmenttDocuments\";\r\n //chat\r\n private getChatHistoryURL = \"Chat/GetChatHistory\";\r\n\r\n private importCCDAURL = \"patients/ImportPatientCCDA\";\r\n\r\n //Prescription\r\n private getPrescriptionlistURL =\r\n \"PatientsPrescription/GetprescriptionDrugList\";\r\n private createPrescriptionURL = \"PatientsPrescription/SavePrescription\";\r\n private getPrescriptionListURL = \"PatientsPrescription/GetPrescriptions\";\r\n private getPrescriptionByAppointmentIdListURL =\r\n \"PatientsPrescription/GetPrescriptionsByAppointmentId\";\r\n private getSharedPrescriptionListURL =\r\n \"PatientsPrescription/GetSharedPrescriptions\";\r\n private getHighestsSelledMedicines = \"pharmacy/GetHighestSoldMedicinesByLabId\";\r\n private GetSharedPrescriptionsClientsUrl =\r\n \"PatientsPrescription/GetSharedPrescriptionsClients\";\r\n private getPrescriptionByIdURL = \"PatientsPrescription/GetPrescriptionById\";\r\n private deletePrescriptionURL = \"PatientsPrescription/DeletePrescriptionByID\";\r\n private deleteByPrescriptionNoURL=\"PatientsPrescription/DeletePrescription\"\r\n private downloadPrescription = \"PatientsPrescription/GetPrescriptionPdf\";\r\n private downloadSharePrescription =\r\n \"PatientsPrescription/GetSharePrescriptionPdf\";\r\n private sendfax = \"PatientsPrescription/SendFax\";\r\n private searchMasterPrescriptionDrugsURL =\r\n \"PatientsPrescription/GetMasterprescriptionDrugs\";\r\n private searchMasterPharmacyURL = \"PatientsPrescription/GetMasterPharmacy\";\r\n private getSentPrescriptionListURL =\r\n \"PatientsPrescription/GetSentPrescriptions\";\r\n\r\n // LAB\r\n private getAllPatientByUrl = \"Labs/GetALLActivePatient\";\r\n private changeStatusOfSharedPrescriptionUrl =\r\n \"PatientsPrescription/ChangeStatusSharedPrescriptions\";\r\n private getLabDocumentUrl = \"Labs/GetLabDocument\";\r\n //staff\r\n private UploadStaffVideo = \"Staffs/UploadStaffVideo\";\r\n private GetProviderVideo = \"Staffs/GetProviderVideo\";\r\n // Misc\r\n private getPatientWithAppointmentIdURL =\r\n \"api/PatientAppointments/getPatientWithAppointmentId\";\r\n //Patient Subscription Plan\r\n private getPatientSubscriptionURL: string = \"Patients/GetPatientSubscription\";\r\n\r\n private GetLastPatientIdUrl = \"patients/GetLastPatientId\";\r\n private updateLabReferralURL = \"LabReferral/UpdateLabReferral\";\r\n private uploadRadiologyReport = \"LabReferral/UploadLabReferralsReport\";\r\n private getLabReferralsURL = \"LabReferral/GetAllLabReferrals\";\r\n private getLabReferralsByAppointmentIdURL =\r\n \"LabReferral/GetAllLabReferralsByAppointmentIdList\";\r\n private getassesmentQueAnsByApptIdURL =\r\n \"Questionnaire/GetAssesmentQuestionAnswersByAppId\";\r\n\r\n //Template\r\n private getCheckInTemplatePdfByIdURL = \"Staffs/GetCheckInTemplatePdfById\";\r\n private AddEditpatientMedicalhistoryURL =\r\n \"Patients/AddEditpatientMedicalhistory\";\r\n private GetPatientMedicalhistoryUrl = \"Patients/GetpatientMedicalhistory\";\r\n private DeletePatientMedicalhistoryUrl =\r\n \"Patients/DeletePatientMedicalhistory\";\r\n\r\n private GetMedicalHistoryDropdownURL = \"Patients/GetMedicalHistoryDropdown\";\r\n\r\n\r\n constructor(private commonService: CommonService) {}\r\n create(data: ClientModel) {\r\n return this.commonService.post(this.createURL, data);\r\n }\r\n getMasterData(value: string = \"\") {\r\n return this.commonService.post(this.getMasterDataByNameURL, {\r\n masterdata: value,\r\n });\r\n }\r\n \r\n getlastIdOfPatient() {\r\n return this.commonService.get(this.GetLastPatientIdUrl);\r\n }\r\n updateClientNavigations(id: number, userId: number = null) {\r\n this.commonService.updateClientNaviagations(id, userId);\r\n }\r\n getClientById(id: number) {\r\n return this.commonService.getById(\r\n this.getClientByIdURL + \"?patientId=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n getAllLabReferrals(\r\n providerId: number,\r\n roleId: number,\r\n appointmentId: number\r\n ) {\r\n return this.commonService.get(\r\n `${this.getLabReferralsURL}?providerId=${providerId}&roleId=${roleId}&AppointmentId=${appointmentId}`\r\n );\r\n }\r\n\r\n getAllLabReferralsByAppointmentId(roleId: number, appointmentId: number, filterModel: FilterModel = null) {\r\n return this.commonService.get(\r\n `${this.getLabReferralsByAppointmentIdURL}?roleId=${roleId}&AppointmentId=${appointmentId}&pageNumber=${filterModel\r\n .pageNumber}&pageSize=${filterModel.pageSize}&sortColumn=${filterModel.sortColumn}&sortOrder=${filterModel\r\n .sortOrder}&searchText=${filterModel.searchText}`\r\n );\r\n }\r\n\r\n getAllDocumentSuperAdmin(userReq) {\r\n return this.commonService.getAll(\r\n this.getAllDocumentsForSuperAdminUrl +\r\n \"?roleId=\" +\r\n userReq.roleId +\r\n \"&FromDate=\" +\r\n userReq.fromDate +\r\n \"&ToDate=\" +\r\n userReq.toDate +\r\n \"&pageNumber=\" +\r\n userReq.pageNumber +\r\n \"&pageSize=\" +\r\n userReq.pageSize +\r\n \"&sortColumn=\" +\r\n userReq.sortColumn +\r\n \"&sortOrder=\" +\r\n userReq.sortOrder +\r\n \"&searchText=\" +\r\n userReq.searchText,\r\n {}\r\n );\r\n }\r\n\r\n getFilterUserDocuments(userDocRequest) {\r\n return this.commonService.getAll(\r\n this.getFilterUserDocumentsUrl +\r\n \"?userId=\" +\r\n userDocRequest.userId +\r\n \"&FromDate=\" +\r\n userDocRequest.fromDate +\r\n \"&ToDate=\" +\r\n userDocRequest.toDate +\r\n \"&CreatedBy=\" +\r\n userDocRequest.CreatedBy +\r\n \"&pageNumber=\" +\r\n userDocRequest.pageNumber +\r\n \"&pageSize=\" +\r\n userDocRequest.pageSize +\r\n \"&sortColumn=\" +\r\n userDocRequest.sortColumn +\r\n \"&sortOrder=\" +\r\n userDocRequest.sortOrder +\r\n \"&searchCriteria=\" +\r\n userDocRequest.searchCriteria +\r\n \"&DocumentType=\" +\r\n userDocRequest.documentType +\r\n \"&FirstCall=\"+\r\n userDocRequest.FirstCall,\r\n {}\r\n );\r\n }\r\n\r\n uploadStaffVideo(data) {\r\n return this.commonService.post(this.UploadStaffVideo, data);\r\n }\r\n getAllPatient() {\r\n return this.commonService.get(this.getAllPatientByUrl);\r\n }\r\n getProviderVideo(Id: number) {\r\n return this.commonService.getById(\r\n this.GetProviderVideo + \"?staffId=\" + Id,\r\n {}\r\n );\r\n }\r\n getClientHeaderInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getClientHeaderInfoURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n getClientProfileInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getClientProfileInfoURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n updateClientStatus(patientId: number, isActive: boolean) {\r\n return this.commonService.post(\r\n this.updateClientStatusURL +\r\n \"?patientID=\" +\r\n patientId +\r\n \"&isActive=\" +\r\n isActive,\r\n {}\r\n );\r\n }\r\n\r\n updateUserStatus(patientId: number, isActive: boolean) {\r\n return this.commonService.post(\r\n this.updateUserStatusURL + \"/\" + patientId + \"/\" + isActive,\r\n {}\r\n );\r\n }\r\n getPatientCCDA(patientId: number) {\r\n return this.commonService.download(\r\n this.getPatientCCDAURL + \"?id=\" + patientId,\r\n {}\r\n );\r\n }\r\n updatePatientPortalVisibility(\r\n patientId: number,\r\n userId: number,\r\n value: boolean\r\n ) {\r\n let url =\r\n this.updatePatientPortalVisibilityURL +\r\n \"?patientID=\" +\r\n patientId +\r\n \"&userID=\" +\r\n userId +\r\n \"&isPortalActive=\" +\r\n value;\r\n return this.commonService.post(url, {});\r\n }\r\n\r\n //Eligibility Enquiry Method\r\n getPayerByPatient(patientID: number, key: string) {\r\n return this.commonService.getAll(\r\n this.getPayerByPatientURL + \"?PatientID=\" + patientID + \"&Key=\" + key,\r\n {}\r\n );\r\n }\r\n\r\n getEligibilityEnquiryServiceCodes() {\r\n return this.commonService.getAll(\r\n this.getEligibilityEnquiryServiceCodesURL,\r\n {}\r\n );\r\n }\r\n download270(\r\n patientId: number,\r\n patientInsuranceId: number,\r\n serviceTypeCodeIds: string,\r\n serviceCodeIds: string\r\n ) {\r\n let url =\r\n this.download270URL +\r\n \"?patientId=\" +\r\n patientId +\r\n \"&patientInsuranceId=\" +\r\n patientInsuranceId +\r\n \"&serviceTypeCodeIds=\" +\r\n serviceTypeCodeIds +\r\n \"&serviceCodeIds=\" +\r\n serviceCodeIds;\r\n return this.commonService.download(url, {});\r\n }\r\n\r\n //Guardian Method -- Remove all if not needed\r\n createGuardian(data: GuardianModel) {\r\n return this.commonService.post(this.createGuardianURL, data);\r\n }\r\n getGuardianList(clientId: number, pageNumber: number, pageSize: number) {\r\n let url =\r\n this.getGuardianListURL +\r\n \"?pageNumber=\" +\r\n pageNumber +\r\n \"&pageSize=\" +\r\n pageSize +\r\n \"&PatientId=\" +\r\n clientId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getGuardianById(id: number) {\r\n return this.commonService.getById(\r\n this.getGuardianByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deleteGuardian(id: number) {\r\n return this.commonService.post(this.deleteGuardianURL + \"?id=\" + id, {});\r\n }\r\n //Address Method -- Remove all if not needed\r\n getPatientAddressesAndPhoneNumbers(clientId: number) {\r\n return this.commonService.getById(\r\n this.getAddressAndPhoneNumbersURL + \"?patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n //Patient Inurance\r\n getPatientInsurance(clientId: number) {\r\n return this.commonService.getById(\r\n this.getPatientInsurances + \"?patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n\r\n savePatientAddressesAndPhoneNumbers(data: any) {\r\n return this.commonService.post(this.saveAddressAndPhoneNumbersURL, data);\r\n }\r\n\r\n // social history\r\n getPatientSocialHistory(patientId: number) {\r\n return this.commonService.getById(\r\n this.getPatientSocialHistoryURL + \"?patientId=\" + patientId,\r\n {}\r\n );\r\n }\r\n createSocialHistory(data: SocialHistoryModel) {\r\n return this.commonService.post(this.savePatientSocialHistoryURL, data);\r\n }\r\n\r\n //Diagnosis\r\n getDiagnosisList(clientId: number) {\r\n // let url=this.getDiagnosisListURL+\"?PatientId=\"+clientId;\r\n return this.commonService.getAll(\r\n this.getDiagnosisListURL + \"?PatientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n getSoapNoteDiagnosisList(clientId: number) {\r\n // let url=this.getDiagnosisListURL+\"?PatientId=\"+clientId;\r\n return this.commonService.getAll(\r\n this.getSoapNotePatientDiagnosisListURL + clientId,\r\n {}\r\n );\r\n }\r\n getDiagnosisById(id: number) {\r\n return this.commonService.getById(\r\n this.getDiagnosisByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n createDiagnosis(data: DiagnosisModel) {\r\n return this.commonService.post(this.createDiagnosisURL, data);\r\n }\r\n deleteDiagnosis(id: number) {\r\n return this.commonService.post(this.deleteDiagnosisURL + \"?id=\" + id, {});\r\n }\r\n savePatientInsurance(data: Array) {\r\n return this.commonService.post(this.savePatientInsurances, data);\r\n }\r\n //Patient Custom Label\r\n getPatientCustomLabel(clientId: number) {\r\n return this.commonService.getById(\r\n this.getPatientCustomLabels + \"?patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n\r\n savePatientCustomLabel(data: Array) {\r\n return this.commonService.post(this.savePatientCustomLabels, data);\r\n }\r\n\r\n //Patient Medical Family History\r\n getPatientMedicalFamilyHistoryList(clientId: number) {\r\n return this.commonService.getAll(\r\n this.getPatientMedicalFamilyHistoryListURL + \"?patientid=\" + clientId,\r\n {}\r\n );\r\n }\r\n getPatientMedicalFamilyHistoryById(id: number) {\r\n return this.commonService.getById(\r\n this.getPatientMedicalFamilyHistoryListURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deletePatientMedicalFamilyHistory(id: number) {\r\n return this.commonService.post(\r\n this.deletePatientMedicalFamilyHistoryURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n savePatientFamilyHistoryData(data: PatientMedicalFamilyHistoryModel) {\r\n return this.commonService.post(this.savePatientFamilyHistoryDataURL, data);\r\n }\r\n\r\n \r\n downloadFile(blob: Blob, filetype: string, filename: string) {\r\n var newBlob = new Blob([blob], { type: filetype });\r\n // IE doesn't allow using a blob object directly as link href\r\n // instead it is necessary to use msSaveOrOpenBlob\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n // For other browsers:\r\n // Create a link pointing to the ObjectURL containing the blob.\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(function () {\r\n // For Firefox it is necessary to delay revoking the ObjectURL\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n //Immunization Method\r\n createImmunization(data: ImmunizationModel) {\r\n return this.commonService.post(this.createImmunizationURL, data);\r\n }\r\n getImmunizationList(\r\n filterModel: FilterModel,\r\n clientId: number,\r\n appointmentId: number,\r\n searchText: string,\r\n fromDate: any,\r\n toDate: any\r\n ) {\r\n let url =\r\n this.getImmunizationListURL +\r\n \"?patientId=\" +\r\n clientId +\r\n \"&appointmentId=\" +\r\n appointmentId +\r\n \"&searchText=\" +\r\n searchText +\r\n \"&fromDate=\" +\r\n fromDate +\r\n \"&toDate=\" +\r\n toDate +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getImmunizationByAppointmentIdList(patientId: number, appointmentId: number, filterModel: FilterModel = null) {\r\n let url =\r\n this.getImmunizationByAppointmentIdListURL +\r\n \"?patientId=\" +\r\n patientId +\r\n \"&appointmentId=\" +\r\n appointmentId +\r\n \"&pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&SearchText=\" +\r\n filterModel.searchText;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getImmunizationById(id: number) {\r\n return this.commonService.getById(\r\n this.getImmunizationByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deleteImmunization(id: number) {\r\n return this.commonService.post(\r\n this.deleteImmunizationURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n //Medication Method\r\n createMedication(data: MedicationModel) {\r\n return this.commonService.post(this.createMedicationURL, data);\r\n }\r\n\r\n getMedicationList(clientId: number,filterModel?:FilterModel) {\r\n // let url = this.getMedicationListURL + \"?patientId=\" + clientId;\r\n \r\n let url =\r\n this.getMedicationListURL +\r\n \"?patientId=\" +\r\n clientId +\r\n \"&pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder+\r\n \"&SearchText=\" +\r\n filterModel.searchText;\r\n //return this.commonService.getAll(url, {});\r\n return this.commonService.getAll(url, {});\r\n }\r\n getmedicationById(id: number) {\r\n return this.commonService.getById(\r\n this.getMedicationByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n getmedicationByAppointmentId(id: number, filterModel?: FilterModel) {\r\n let url = `${this.getMedicationByAppointmentIdURL}?AppointmentId=${id}&pageNumber=${filterModel\r\n .pageNumber}&pageSize=${filterModel.pageSize}&sortColumn=${filterModel\r\n .sortColumn}&sortOrder=${filterModel.sortOrder}&SearchText=${filterModel.searchText}`;\r\n return this.commonService.getAll(url, {});\r\n }\r\n deleteMedication(id: number, patientId: number) {\r\n return this.commonService.post(\r\n this.deleteMedicationURL + \"?id=\" + id + \"&patientId=\" + patientId,\r\n {}\r\n );\r\n }\r\n\r\n //Vitals Method\r\n createVital(data: VitalModel) {\r\n return this.commonService.post(this.createVitalURL, data);\r\n }\r\n getVitalList(clientId: number, filterModel: FilterModel) {\r\n let url =\r\n this.getVitalListURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&PatientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getVitalById(id: number) {\r\n return this.commonService.getById(this.getVitalByIdURL + \"?id=\" + id, {});\r\n }\r\n\r\n getVitalByAppointmentId(id: number, filterModel?: FilterModel) {\r\n let url = `${this.getVitalByAppointmentIdURL}?AppointmentId=${id}&pageNumber=${filterModel.pageNumber}&pageSize=${filterModel.pageSize}&sortColumn=${filterModel.sortColumn}&sortOrder=${filterModel.sortOrder}&searchText=${filterModel.searchText}`;\r\n return this.commonService.getAll(url, {});\r\n }\r\n deleteVital(id: number) {\r\n return this.commonService.post(this.deleteVitalURL + \"?id=\" + id, {});\r\n }\r\n\r\n //Allergy Method\r\n createAllergy(data: AllergyModel) {\r\n return this.commonService.post(this.createAllergyURL, data);\r\n }\r\n getAllergyLists(clientId: number) {\r\n let url = this.getAllergyListURL + \"?patientid=\" + clientId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getAllergyList(clientId: number, filterModel: FilterModel, aptId: number) {\r\n let url =\r\n this.getAllergyListURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&PatientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&appointmentId=\" +\r\n aptId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getAllergyById(id: number) {\r\n return this.commonService.getById(this.getAllergyByIdURL + \"?id=\" + id, {});\r\n }\r\n deleteAllergy(id: number) {\r\n return this.commonService.post(this.deleteAllergyURL + \"?id=\" + id, {});\r\n }\r\n\r\n getAssessmentQueAnsByApptId(appointmentId: number, filterModel?: FilterModel) {\r\n return this.commonService.get(\r\n `${this.getassesmentQueAnsByApptIdURL}?appointmentId=${appointmentId}&pageNumber=${filterModel\r\n .pageNumber}&pageSize=${filterModel.pageSize}&sortColumn=${filterModel.sortColumn}&sortOrder=${filterModel\r\n .sortOrder}&searchText=${filterModel.searchText}`\r\n );\r\n }\r\n\r\n //authorization Methods\r\n getAllAuthorization(clientId: number, filterModel: any) {\r\n let url =\r\n this.getAllAuthorizationsForPatientURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&patientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&authType=\" +\r\n filterModel.authType;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getAuthorizationById(authorizationId: number) {\r\n return this.commonService.getById(\r\n this.getAuthorizationByIdURL + \"?authorizationId=\" + authorizationId,\r\n {}\r\n );\r\n }\r\n deleteAuthorization(id: number) {\r\n return this.commonService.post(\r\n this.deleteAuthorizationURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n getPatientPayerServiceCodesAndModifiers(\r\n clientId: number,\r\n payerId: number,\r\n patientInsuranceId: number\r\n ) {\r\n let url =\r\n this.getPatientPayerServiceCodesAndModifiersURL +\r\n \"?patientId=\" +\r\n clientId +\r\n \"&PayerPreference=\" +\r\n \"Primary\" +\r\n \"&date=\" +\r\n new Date() +\r\n \"&payerId=\" +\r\n payerId +\r\n \"&patientInsuranceId=\" +\r\n patientInsuranceId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n createAuthorization(data: AuthModel) {\r\n return this.commonService.post(this.createAuthorizationURL, data);\r\n }\r\n\r\n //client encounter Methods\r\n getClientEncounters(\r\n filterModel: any,\r\n clientId: number,\r\n appointmentType: string,\r\n staffName: string,\r\n status: string,\r\n fromDate: string,\r\n toDate: string\r\n ) {\r\n let url =\r\n this.getPatientEncountersListURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&patientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder;\r\n if (appointmentType && appointmentType.length > 0) {\r\n url = url + \"&appointmentType=\" + appointmentType;\r\n }\r\n if (staffName && staffName != \"\") {\r\n url = url + \"&staffName=\" + staffName;\r\n }\r\n if (status && status != \"\") {\r\n url = url + \"&status=\" + status;\r\n }\r\n if (fromDate && fromDate != \"\") {\r\n url = url + \"&fromDate=\" + fromDate;\r\n }\r\n if (toDate && toDate != \"\") {\r\n url = url + \"&toDate=\" + toDate;\r\n }\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getClaimsForClientLegder(clientId: number, filterModel: FilterModel) {\r\n let url =\r\n this.getClaimsForLedgerURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&patientId=\" +\r\n clientId +\r\n \"&sortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&sortOrder=\" +\r\n filterModel.sortOrder;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getClaimServiceLinesForPatient(claimId: number) {\r\n return this.commonService.getById(\r\n this.getClaimServiceLineForPatientLedgerURL + \"?claimId=\" + claimId,\r\n {}\r\n );\r\n }\r\n getPaymentDetailById(paymentDetailId: number) {\r\n return this.commonService.getById(\r\n this.getPaymentDetailByIdURL + \"?paymentDetailId=\" + paymentDetailId,\r\n {}\r\n );\r\n }\r\n getPatientGuarantor(patientId: number) {\r\n return this.commonService.getById(\r\n this.getPatientGuarantorURL + \"?patientId=\" + patientId,\r\n {}\r\n );\r\n }\r\n\r\n getAllPatients() {\r\n return this.commonService.getAll(this.getAllPatientsForDDL, {});\r\n }\r\n saveServiceLinePayment(paymentModel: ClientLedgerPaymentDetailsModel) {\r\n return this.commonService.post(\r\n this.saveServiceLinePaymentURL,\r\n paymentModel\r\n );\r\n }\r\n deleteServiceLinePaymentDetail(id: number) {\r\n return this.commonService.post(\r\n this.deleteServiceLinePaymentURL + \"/\" + id,\r\n {}\r\n );\r\n }\r\n\r\n getUserDocuments(userId: number, from: string, toDate: string) {\r\n return this.commonService.getAll(\r\n this.getUserDocumentsURL +\r\n \"?userId=\" +\r\n userId +\r\n \"&from=\" +\r\n from +\r\n \"&to=\" +\r\n toDate,\r\n {}\r\n );\r\n }\r\n getAllDocuments(\r\n pageSize: number,\r\n pageNumber: number,\r\n from: string,\r\n toDate: string\r\n ) {\r\n return this.commonService.getAll(\r\n this.getAllDocumentsURL +\r\n \"?pageSize=\" +\r\n pageSize +\r\n \"&pageNumber=\" +\r\n pageNumber +\r\n \"&from=\" +\r\n from +\r\n \"&to=\" +\r\n toDate,\r\n {}\r\n );\r\n }\r\n getLabDocuments(userId: number) {\r\n return this.commonService.getById(\r\n this.getLabDocumentUrl + \"?userId=\" + userId,\r\n {}\r\n );\r\n }\r\n\r\n getPateintApptDocuments(apptId: number) {\r\n return this.commonService.getAll(\r\n this.getPateintApptDocumentsURL + \"?apptId=\" + apptId,\r\n {}\r\n );\r\n }\r\n\r\n getUserByLocation(locationId: number) {\r\n let url =\r\n this.getUserByLocationURL +\r\n \"?locationIds=\" +\r\n locationId +\r\n \"&permissionKey=SCHEDULING_LIST_VIEW_OTHERSTAFF_SCHEDULES&isActiveCheckRequired=YES\";\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getUserDocument(id: number,key:any=\"userdoc\") {\r\n return this.commonService.download(\r\n this.getUserDocumentURL + \"?id=\" + id+ \"&key=\"+key,\r\n {}\r\n );\r\n }\r\n\r\n getDocumentForDownlod(id: number, key: any = \"userdoc\") {\r\n return this.commonService.get(\r\n this.getUserDocumentURL + \"?id=\" + id + \"&key=\" + key\r\n );\r\n }\r\n\r\n\r\n deleteUserDocument(id: number,key:string=\"userdoc\") {\r\n return this.commonService.post(\r\n this.deleteUserDocumentURL + \"?id=\" + id+ \"&key=\"+key,\r\n {}\r\n );\r\n }\r\n\r\n uploadUserDocuments(data: AddUserDocumentModel) {\r\n return this.commonService.post(this.uploadUserDocumentURL, data);\r\n }\r\n updateUserDocuments(data) {\r\n return this.commonService.post(this.updateUserDocumnetURL, data);\r\n }\r\n\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n return this.commonService.getUserScreenActionPermissions(\r\n moduleName,\r\n screenName\r\n );\r\n }\r\n //chat\r\n getChatHistory(fromUserId: number, toUserId: number) {\r\n return this.commonService.getAll(\r\n `${this.getChatHistoryURL}?FromUserId=${fromUserId}&ToUserId=${toUserId}`,\r\n {}\r\n );\r\n }\r\n importCCDA(data: any) {\r\n return this.commonService.post(this.importCCDAURL, { file: data });\r\n }\r\n\r\n //Medication Method\r\n createPrescription(data: PrescriptionModel[]) {\r\n return this.commonService.post(this.createPrescriptionURL, data);\r\n }\r\n\r\n getPrescriptionDrugList(id: number) {\r\n return this.commonService.getById(\r\n this.getPrescriptionlistURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n getPrescriptionList(\r\n clientId: number,\r\n filterModel: FilterModel,\r\n appointmentId: number\r\n ) {\r\n let url =\r\n this.getPrescriptionListURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&appointmentId=\" +\r\n appointmentId +\r\n \"&PatientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&SearchText=\" +\r\n filterModel.searchText +\r\n \"&toDate=\" +\r\n filterModel.toDate +\r\n \"&fromDate=\"+\r\n filterModel.fromDate\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getPrescriptionByAppointmentIdList(\r\n clientId: number,\r\n filterModel: FilterModel,\r\n appointmentId: number\r\n ) {\r\n let url =\r\n this.getPrescriptionByAppointmentIdListURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&appointmentId=\" +\r\n appointmentId +\r\n \"&PatientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getSharedPrescriptionList(\r\n clientId: number,\r\n PatientId: number,\r\n filterModel: FilterModel\r\n ) {\r\n let url =\r\n this.getSharedPrescriptionListURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&PharmacyId=\" +\r\n clientId +\r\n \"&patientID=\" +\r\n PatientId +\r\n \"&sortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&sortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&searchText=\" +\r\n filterModel.searchText;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getHighestSoldMedicinesByLabId(\r\n ) {\r\n let url =\r\n this.getHighestsSelledMedicines;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n\r\n getSharedPrescriptionsClients(data) {\r\n let url =\r\n this.GetSharedPrescriptionsClientsUrl +\r\n \"?PharmacyId=\" +\r\n data.pharmacyId +\r\n \"&SearchText=\" +\r\n data.searchText +\r\n \"&pageNumber=\" +\r\n data.pageNumber +\r\n \"&pageSize=\" +\r\n data.pageSize +\r\n \"&SortColumn=\" +\r\n data.sortColumn +\r\n \"&SortOrder=\" +\r\n data.sortOrder;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n changeStatusOfSharedPrescription(data) {\r\n return this.commonService.post(\r\n this.changeStatusOfSharedPrescriptionUrl,\r\n data\r\n );\r\n }\r\n\r\n getPrescriptionById(id: number) {\r\n return this.commonService.getById(\r\n this.getPrescriptionByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n deletePrescription(prescriptionNo: string, clientId: number) {\r\n return this.commonService.post(\r\n this.deleteByPrescriptionNoURL + \"?id=\" + prescriptionNo + \"&patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n\r\n deletePrescriptionById(id: number, clientId: number) {\r\n return this.commonService.post(\r\n this.deletePrescriptionURL + \"?id=\" + id + \"&patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n\r\n\r\n DownloadPrescription(dataModel: PrescriptionDownloadModel) {\r\n const queryParams = `?PrescriptionId=${dataModel.PrescriptionId}&patientId=${dataModel.patientId}&Issentprescription=${dataModel.Issentprescription}&IsMedicationDownload=${dataModel.IsMedicationDownload}`;\r\n return this.commonService.get(\r\n this.downloadPrescription + queryParams,\r\n );\r\n }\r\n\r\n \r\n DownloadSharePrescription(dataModel: PrescriptionDownloadModel) {\r\n const queryParams = `?PharmacyId=${dataModel.pharmacyId}&PrescriptionId=${dataModel.PrescriptionId}&patientId=${dataModel.patientId}&Issentprescription=${dataModel.Issentprescription}&IsMedicationDownload=${dataModel.IsMedicationDownload}`;\r\n return this.commonService.get(\r\n this.downloadSharePrescription + queryParams,\r\n \r\n );\r\n }\r\n //\r\n downLoadFile(blob: Blob, filetype: string, filename: string) {\r\n var newBlob = new Blob([blob], { type: filetype });\r\n // IE doesn't allow using a blob object directly as link href\r\n // instead it is necessary to use msSaveOrOpenBlob\r\n var nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n // For other browsers:\r\n // Create a link pointing to the ObjectURL containing the blob.\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(function () {\r\n // For Firefox it is necessary to delay revoking the ObjectURL\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n\r\n sendFax(data: PrescriptionFaxModel) {\r\n return this.commonService.post(this.sendfax, data);\r\n }\r\n\r\n getMasterPrescriptionDrugsByFilter(searchText: string) {\r\n const params = `?searchText=${searchText}&pageNumber=1&pageSize=2000`;\r\n return this.commonService.getAll(\r\n this.searchMasterPrescriptionDrugsURL + params,\r\n {},\r\n false\r\n );\r\n }\r\n\r\n getMasterPharmacyByFilter(searchText: string) {\r\n const params = `?searchText=${searchText}&pageNumber=1&pageSize=10`;\r\n return this.commonService.getAll(\r\n this.searchMasterPharmacyURL + params,\r\n {},\r\n false\r\n );\r\n }\r\n getSentPrescriptionList(clientId: number, filterModel: FilterModel) {\r\n let url =\r\n this.getSentPrescriptionListURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&PatientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getPatientWithAppointmentId(appointmentId: number): Observable {\r\n return this.commonService.getById(\r\n this.getPatientWithAppointmentIdURL + \"?appointmentId=\" + appointmentId,\r\n {}\r\n );\r\n }\r\n getPatientSubscriptionPlan(patientId: number) {\r\n return this.commonService.getById(\r\n this.getPatientSubscriptionURL + \"?patientId=\" + patientId,\r\n {}\r\n );\r\n }\r\n updateLabReferral(data: any) {\r\n return this.commonService.videoPost(this.updateLabReferralURL, data);\r\n //return this.commonService.post(this.uploadRadiologyReport,data);\r\n }\r\n\r\n getCheckInTemplatePdfById(appointmentId: number, encounterId: number) {\r\n return this.commonService.getById(\r\n this.getCheckInTemplatePdfByIdURL +\r\n `?appointmentId=${appointmentId}&encounterId=${encounterId}`,\r\n {}\r\n );\r\n }\r\n\r\n addEditPatientMedicalhistory(data: any) {\r\n return this.commonService.post(this.AddEditpatientMedicalhistoryURL, data);\r\n }\r\n\r\n GetPatientMedicalhistory(\r\n patientId: any,\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n let url =\r\n this.GetPatientMedicalhistoryUrl +\r\n \"?PatientId=\" +\r\n patientId +\r\n \"&pageNumber=\" +\r\n pageNumber +\r\n \"&pageSize=\" +\r\n pageSize +\r\n \"&SortColumn=\" +\r\n sortColumn +\r\n \"&SortOrder=\" +\r\n sortOrder;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n DeletePatientMedicalhistory(medicalHistoryId: any) {\r\n let url =\r\n this.DeletePatientMedicalhistoryUrl +\r\n \"?medicalHistoryId=\" +\r\n medicalHistoryId;\r\n\r\n return this.commonService.getById(url, {});\r\n }\r\n\r\n GetMedicalHistoryDropdownApi() {\r\n return this.commonService.getAll(this.GetMedicalHistoryDropdownURL, {});\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { ClientCustomLabelModel } from '../clientCustomLabel.model';\r\nimport { ResponseModel } from '../../../core/modals/common-model';\r\nimport { ClientsService } from '../clients.service';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { Router } from '@angular/router';\r\nimport { CommonService } from '../../../core/services';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: 'app-custom-fields',\r\n templateUrl: './custom-fields.component.html',\r\n styleUrls: ['./custom-fields.component.css']\r\n})\r\nexport class CustomFieldsComponent implements OnInit {\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n clientId: number;\r\n clientCustomLabels: ClientCustomLabelModel[] = [];\r\n submitted: boolean = false;\r\n constructor(private clientService: ClientsService, private notifier: NotifierService, private route: Router, private commonService: CommonService, private translate:TranslateService) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n //////\r\n this.getPatientCustomLabels();\r\n }\r\n getPatientCustomLabels() {\r\n this.clientService.getPatientCustomLabel(this.clientId).subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n this.clientCustomLabels = response.data.PatientCustomLabels;\r\n this.clientCustomLabels.forEach(element => {\r\n element.customLabelName = response.data.MasterCustomLabels.find(x => x.id == element.customLabelID).customLabelName;\r\n });\r\n }\r\n });\r\n }\r\n onSubmit(event: any) {\r\n let clickType = event.currentTarget.name;\r\n this.clientCustomLabels.forEach(c=>c.patientID=this.clientId);\r\n \r\n this.clientService.savePatientCustomLabel(this.clientCustomLabels).subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify('success', response.message)\r\n this.getPatientCustomLabels();\r\n if (clickType == \"SaveContinue\") {\r\n this.route.navigate([\"web/client/profile\"], { queryParams: { id: this.commonService.encryptValue(this.clientId, true) } });\r\n } else if (clickType == \"Save\") {\r\n this.getPatientCustomLabels()\r\n }\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n\r\n }\r\n });\r\n }\r\n\r\n onPrevious(){\r\n this.handleTabChange.next({\r\n tab: \"Insurance\",\r\n id: this.clientId,\r\n });\r\n }\r\n}\r\n\r\n","module.exports = \"\\r\\n.uplaod_pic img {\\r\\n height: 150px;\\r\\n max-width: 100%;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n\\r\\n.uplaod_pic span {\\r\\n background: rgba(0, 0, 0, 0.20);\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n font-size: 13px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 5px;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n\\r\\n.country-field {\\r\\n position: inherit !important;\\r\\n left: inherit !important;\\r\\n }\\r\\n\\r\\n\\r\\n.country-field-sec {\\r\\n display: flex;\\r\\n gap: 20px;\\r\\n }\\r\\n\\r\\n\\r\\n.country-field-sec .country-mat-field {\\r\\n margin-left: inherit !important;\\r\\n }\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

{{\\\"add_client_details\\\"|translate}}

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_first_name'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_last_name'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ genderVal.value }}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_select_gender'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_dob'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_email'|translate}}\\r\\n \\r\\n \\r\\n {{'Please_enter_a_valid_email_address'|translate}}\\r\\n \\r\\n \\r\\n {{'email'|translate}} '{{ formControls.email.value }}' {{'already_exist'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_Phone_number\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'emergency_contact_1'|translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'tags'|translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ tags.value }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'notes'|translate}}

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

{{'client_profile_photo'|translate}}

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

{{'browse_any_jpeg_jpg_png_txt_doc'|translate}}

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

{{'image_size_should_be_less_than_2_5_mb'|translate}}

\\r\\n
\\r\\n
\\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 {\r\n Component,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n AbstractControl,\r\n FormBuilder,\r\n FormGroup,\r\n ValidationErrors,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { ClientModel, PatientDiagnosis, PatientTag } from \"../client.model\";\r\nimport { ClientsService } from \"../clients.service\";\r\nimport { LoginUser } from \"../../../core/modals/loginUser.modal\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ClientHeaderComponent } from \"../client-header/client-header.component\";\r\nimport { max } from \"date-fns\";\r\nimport { Observable } from \"rxjs\";\r\nimport { RegisterService } from \"src/app/front/register/register.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-demographic-info\",\r\n templateUrl: \"./demographic-info.component.html\",\r\n styleUrls: [\"./demographic-info.component.css\"],\r\n})\r\nexport class DemographicInfoComponent implements OnInit {\r\n demographicInfoForm: FormGroup;\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n clientId: number;\r\n clientModel: ClientModel;\r\n masterGender: any = [];\r\n masterRace: any = [];\r\n masterEthnicity: any[];\r\n masterStaff: any[];\r\n masterDiagnosis: any[];\r\n masterPhoneType: any[];\r\n masterLocation: any[];\r\n masterRelationship: any[];\r\n masterTagsForPatient: any = [];\r\n masterRenderingProvider: any = [];\r\n dataURL: any;\r\n imagePreview: any;\r\n submitted: boolean = false;\r\n maxDate = new Date();\r\n minDate = new Date();\r\n MRN: string;\r\n selectedPhoneCode: string;\r\n selectedCountryPhoneCode: string;\r\n\r\n isProvider: boolean = false;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private clientService: ClientsService,\r\n private registerService: RegisterService,\r\n private commonService: CommonService,\r\n private notifierService: NotifierService,\r\n private route: Router,\r\n private notifier: NotifierService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.clientModel = new ClientModel();\r\n this.minDate = new Date(1900, 1, 1);\r\n }\r\n ngOnInit() {\r\n const loginUser = this.commonService.getLoginUserInfo();\r\n this.isProvider =\r\n loginUser.data.userRoles.roleName.toLowerCase() == \"provider\";\r\n // console.log(\"Login user from agency demographic\", loginUser);\r\n let webUrl = window.location.origin;\r\n this.selectedCountryPhoneCode = this.clientModel.emergencyContactPhone\r\n ? this.clientModel.emergencyContactPhone.split(\" \")[0]\r\n : null;\r\n this.selectedPhoneCode = this.clientModel.phone\r\n ? this.clientModel.phone.split(\" \")[0]\r\n : null;\r\n\r\n webUrl = `${webUrl}/web/client-login`;\r\n this.demographicInfoForm = this.formBuilder.group({\r\n firstName: \"\",\r\n middleName: \"\",\r\n lastName: \"\",\r\n gender: \"\",\r\n dob: \"\",\r\n email: [\r\n \"\",\r\n {\r\n validators: [Validators.required, Validators.email],\r\n asyncValidators: [this.validateUsername.bind(this)],\r\n updateOn: \"blur\",\r\n },\r\n ],\r\n phone: \"\",\r\n nationalID: \"\",\r\n nationality: \"\",\r\n mrn: \"\",\r\n race: \"\",\r\n secondaryRaceID: \"\",\r\n ethnicity: \"\",\r\n primaryProvider: \"\",\r\n locationID: [101],\r\n AddUserURL: webUrl,\r\n emergencyContactRelationship: \"\",\r\n emergencyContactFirstName: \"\",\r\n emergencyContactLastName: \"\",\r\n emergencyContactPhone: \"\",\r\n photoThumbnailPath: \"\",\r\n photoPath: \"\",\r\n note: \"\",\r\n tag: \"\",\r\n clientImg: [],\r\n carrierid: \"\",\r\n });\r\n this.getMasterData();\r\n this.getCurrentLocations();\r\n if (this.clientId != null) {\r\n this.getClientInfo();\r\n }\r\n else {\r\n this.getLastOfPatient();\r\n }\r\n\r\n }\r\n get formControls() {\r\n return this.demographicInfoForm.controls;\r\n }\r\n validateUsername(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise((resolve) => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n if (this.clientModel.userName == ctrl.value) {\r\n resolve();\r\n } else {\r\n let userName = ctrl.value;\r\n this.registerService\r\n .checkUserNameExistance(userName)\r\n .subscribe((response: any) => {\r\n if (response.statusCode != 200) resolve({ uniqueName: true });\r\n else resolve();\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n getLastOfPatient = () => {\r\n this.clientService.getlastIdOfPatient().subscribe((res) => {\r\n this.createMRN(res.data.id);\r\n });\r\n };\r\n\r\n createMRN = (Id) => {\r\n const characters =\r\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\r\n\r\n let result = \"MRN\" + Id;\r\n const charactersLength = characters.length;\r\n for (let i = 0; i < 4; i++) {\r\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\r\n }\r\n this.demographicInfoForm.controls[\"mrn\"].setValue(result);\r\n };\r\n onSubmit(event: any) {\r\n if (!this.demographicInfoForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.clientModel = this.demographicInfoForm.value;\r\n this.clientModel.userName = this.clientModel.email;\r\n this.clientModel.id = this.clientId;\r\n this.clientModel.isPortalRequired = true;\r\n this.clientModel.isPortalActivate = true;\r\n\r\n this.clientModel.phone =\r\n this.selectedPhoneCode && this.selectedPhoneCode.trim() !== \"0\"\r\n ? this.selectedPhoneCode.trim() + \" \" + (this.clientModel.phone || \"\")\r\n : this.clientModel.phone || \"\";\r\n\r\n this.clientModel.emergencyContactPhone =\r\n this.selectedCountryPhoneCode &&\r\n this.selectedCountryPhoneCode.trim() !== \"0\"\r\n ? this.selectedCountryPhoneCode.trim() +\r\n \" \" +\r\n (this.clientModel.emergencyContactPhone || \"\")\r\n : this.clientModel.emergencyContactPhone || \"\";\r\n\r\n this.clientModel.PhotoBase64 = this.dataURL || null;\r\n if (this.clientModel.icdid != null) {\r\n this.clientModel.patientDiagnosis = new Array();\r\n let patientDiag = new PatientDiagnosis();\r\n patientDiag.patientID = this.clientId;\r\n patientDiag.icdid = this.clientModel.icdid;\r\n patientDiag.isPrimary = true;\r\n this.clientModel.patientDiagnosis.push(patientDiag);\r\n }\r\n if (this.clientModel.tag != null) {\r\n this.clientModel.patientTags = new Array();\r\n let patientTag = new PatientTag();\r\n this.clientModel.tag && this.clientModel.tag.forEach((x) => {\r\n patientTag = { patientID: this.clientId, isDeleted: false, tagID: x };\r\n this.clientModel.patientTags.push(patientTag);\r\n });\r\n }\r\n this.submitted = true;\r\n this.clientService\r\n .create(this.clientModel)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.clientId = response.data.id;\r\n this.notifierService.notify(\"success\", response.message);\r\n this.handleTabChange.next({\r\n tab: \"Guardian/Guarantor\",\r\n id: response.data.id,\r\n });\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n onFirstHalfSubmit(event: any) {\r\n if (!this.demographicInfoForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.clientModel = this.demographicInfoForm.value;\r\n this.clientModel.userName = this.clientModel.email;\r\n this.clientModel.id = this.clientId;\r\n this.clientModel.isPortalRequired = true;\r\n this.clientModel.isPortalActivate = true;\r\n // this.clientModel.phone=this.selectedPhoneCode== '0' ? this.clientModel.phone : this.selectedPhoneCode.trim() + \" \" + this.clientModel.phone;\r\n this.clientModel.phone =\r\n this.selectedPhoneCode && this.selectedPhoneCode.trim() !== \"0\"\r\n ? this.selectedPhoneCode.trim() + \" \" + this.clientModel.phone\r\n : this.clientModel.phone;\r\n\r\n this.clientModel.emergencyContactPhone =\r\n this.selectedCountryPhoneCode &&\r\n this.selectedCountryPhoneCode.trim() !== \"0\"\r\n ? this.selectedCountryPhoneCode.trim() +\r\n \" \" +\r\n (this.clientModel.emergencyContactPhone || \"\")\r\n : this.clientModel.emergencyContactPhone || \"\";\r\n\r\n this.clientModel.PhotoBase64 = this.dataURL || null;\r\n if (this.clientModel.icdid != null) {\r\n this.clientModel.patientDiagnosis = new Array();\r\n let patientDiag = new PatientDiagnosis();\r\n patientDiag.patientID = this.clientId;\r\n patientDiag.icdid = this.clientModel.icdid;\r\n patientDiag.isPrimary = true;\r\n this.clientModel.patientDiagnosis.push(patientDiag);\r\n }\r\n if (this.clientModel.tag != null) {\r\n this.clientModel.patientTags = new Array();\r\n let patientTag = new PatientTag();\r\n this.clientModel.tag && this.clientModel.tag.forEach((x) => {\r\n patientTag = { patientID: this.clientId, isDeleted: false, tagID: x };\r\n this.clientModel.patientTags.push(patientTag);\r\n });\r\n }\r\n this.submitted = true;\r\n this.clientService\r\n .create(this.clientModel)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n //\r\n this.clientId = response.data.id;\r\n this.route.navigate([\"web/client\"], {\r\n queryParams: {\r\n id: this.commonService.encryptValue(this.clientId, true),\r\n },\r\n });\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n onNext() {\r\n this.handleTabChange.next({\r\n tab: \"Guardian/Guarantor\",\r\n id: this.clientId,\r\n });\r\n }\r\n getCurrentLocations() {\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.masterLocation = (user.userLocations || []).map((obj: any) => {\r\n return {\r\n id: obj.id,\r\n value: obj.locationName,\r\n };\r\n });\r\n }\r\n });\r\n }\r\n\r\n handleImageChange(e) {\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n const input = e.target;\r\n //The file size in MB adn max limit is 2.5 MB.\r\n //in bytes 2097152 = 2MB, 2621440 = 2.5 MB.\r\n let maxSize = 2621440;\r\n // console.log(e.target.files[0].size);\r\n if (e.target.files[0].size > maxSize) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Please Select the image size less than 2.5 MB.\"\r\n );\r\n return false;\r\n }\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.imagePreview = reader.result;\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n\r\n // To remove changed image.\r\n removeImage() {\r\n this.dataURL = null;\r\n this.imagePreview = null;\r\n }\r\n\r\n getMasterData() {\r\n let data =\r\n \"MASTERGENDER,MasterLocation,PHONETYPE,MASTERRACE,MASTERETHNICITY,MASTERSTAFF,MASTERICD,MASTERRELATIONSHIP,MASTERRENDERINGPROVIDER,MASTERTAGSFORPATIENT\";\r\n this.clientService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n this.masterRace =\r\n response.masterRace != null ? response.masterRace : [];\r\n this.masterEthnicity =\r\n response.masterEthnicity != null ? response.masterEthnicity : [];\r\n this.masterRelationship =\r\n response.masterRelationship != null\r\n ? response.masterRelationship\r\n : [];\r\n this.masterRenderingProvider =\r\n response.masterRenderingProvider != null\r\n ? response.masterRenderingProvider\r\n : [];\r\n // this.masterPhoneType = this.removeDuplicates(\r\n // response.masterPhoneType != null ? response.masterPhoneType : [],\r\n // \"value\"\r\n // );\r\n this.masterTagsForPatient =\r\n response.masterTagsforPatient != null\r\n ? response.masterTagsforPatient\r\n : [];\r\n this.masterDiagnosis =\r\n response.masterICD != null ? response.masterICD : [];\r\n }\r\n });\r\n }\r\n\r\n getClientInfo() {\r\n this.clientService\r\n .getClientById(this.clientId)\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n debugger\r\n let phone = response.data.phone;\r\n this.clientModel = response.data;\r\n // console.log(\"hello\", this.clientModel.mrn)\r\n this.clientModel.phone = phone;\r\n this.clientModel.carrierId = response.data.carrierId;\r\n this.clientModel.tag =\r\n this.clientModel.patientTags != null\r\n ? this.clientModel.patientTags.map(({ tagID }) => tagID)\r\n : [];\r\n this.imagePreview = this.clientModel.photoThumbnailPath || \"\";\r\n const primaryDiagnosis =\r\n this.clientModel.patientDiagnosis &&\r\n this.clientModel.patientDiagnosis.find((x) => x.isPrimary == true);\r\n this.clientModel.icdid = primaryDiagnosis && primaryDiagnosis.icdid;\r\n debugger\r\n this.selectedPhoneCode = this.clientModel.phone\r\n ? this.clientModel.phone.split(\" \")[0]\r\n : null;\r\n this.clientModel.phone = this.clientModel.phone\r\n ? this.clientModel.phone.split(\" \")[1]\r\n : null;\r\n\r\n this.selectedCountryPhoneCode = this.clientModel.emergencyContactPhone\r\n ? this.clientModel.emergencyContactPhone.split(\" \")[0]\r\n : null;\r\n this.clientModel.emergencyContactPhone = this.clientModel\r\n .emergencyContactPhone\r\n ? this.clientModel.emergencyContactPhone.split(\" \")[1]\r\n : null;\r\n this.demographicInfoForm.patchValue({\r\n firstName: this.clientModel.firstName,\r\n middleName: this.clientModel.middleName,\r\n lastName: this.clientModel.lastName,\r\n gender: this.clientModel.gender,\r\n dob: this.clientModel.dob,\r\n email: this.clientModel.email,\r\n phone: this.clientModel.phone || phone,\r\n nationalID: this.clientModel.nationalID,\r\n nationality: this.clientModel.nationality,\r\n mrn: this.clientModel.mrn,\r\n race: this.clientModel.race,\r\n secondaryRaceID: this.clientModel.secondaryRaceID,\r\n ethnicity: this.clientModel.ethnicity,\r\n primaryProvider: this.clientModel.primaryProvider,\r\n locationID: 101,\r\n emergencyContactRelationship:\r\n this.clientModel.emergencyContactRelationship,\r\n emergencyContactFirstName:\r\n this.clientModel.emergencyContactFirstName,\r\n emergencyContactLastName: this.clientModel.emergencyContactLastName,\r\n emergencyContactPhone: this.clientModel.emergencyContactPhone,\r\n photoThumbnailPath: this.clientModel.photoThumbnailPath,\r\n photoPath: this.clientModel.photoPath,\r\n note: this.clientModel.note,\r\n tag: this.clientModel.tag,\r\n clientImg: [],\r\n carrierid: this.clientModel.carrierId,\r\n });\r\n }\r\n });\r\n }\r\n removeDuplicates = (array, key) => {\r\n //////;\r\n return array.reduce((arr, item) => {\r\n const removed = arr.filter((i) => i[key] !== item[key]);\r\n return [...removed, item];\r\n }, []);\r\n };\r\n phoneCodeChange($event) {\r\n this.selectedPhoneCode = $event;\r\n }\r\n\r\n emerPhoneCodeChange = ($event) => {\r\n this.selectedCountryPhoneCode = $event;\r\n };\r\n // Only Integer Numbers\r\n keyPressNumbers(event) {\r\n //////\r\n const charCode = event.which ? event.which : event.keyCode;\r\n // Only Numbers 0-9\r\n if (charCode < 65 || (charCode > 90 && charCode < 97) || charCode > 122) {\r\n event.preventDefault();\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{rel.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select a diagnosis\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{rel.value}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter valid date\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter valid date\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, EventEmitter, Output, Inject } from \"@angular/core\";\r\nimport { DiagnosisModel } from \"../diagnosis.model\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { ClientsService } from \"../../clients.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\n\r\n@Component({\r\n selector: \"app-diagnosis-modal\",\r\n templateUrl: \"./diagnosis-modal.component.html\",\r\n styleUrls: [\"./diagnosis-modal.component.css\"]\r\n})\r\nexport class DiagnosisModalComponent implements OnInit {\r\n statusList: any[];\r\n diagnosisModel: DiagnosisModel;\r\n diagnosisForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = \"Add Diagnosis\";\r\n masterICD: any[];\r\n patientId: number;\r\n maxDate = new Date();\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private diagnosisDialogModalRef: MatDialogRef,\r\n private clientService: ClientsService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService\r\n ) {\r\n this.diagnosisModel = data.diagnosis;\r\n this.refreshGrid.subscribe(data.refreshGrid);\r\n\r\n if (this.diagnosisModel.id != null && this.diagnosisModel.id > 0)\r\n this.headerText = \"Edit Diagnosis\";\r\n else this.headerText = \"Add Diagnosis\";\r\n\r\n this.patientId = this.diagnosisModel.patientID;\r\n\r\n this.statusList = [\r\n { id: true, value: \"Active\" },\r\n { id: false, value: \"Inactive\" }\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n this.diagnosisForm = this.formBuilder.group({\r\n id: [this.diagnosisModel.id],\r\n icdid: [this.diagnosisModel.icdid],\r\n isActive: [this.diagnosisModel.isActive],\r\n diagnosisDate: [this.diagnosisModel.diagnosisDate],\r\n resolveDate: [this.diagnosisModel.resolveDate]\r\n });\r\n this.getMasterData();\r\n this.formControlValueChanged();\r\n }\r\n\r\n get formControls() {\r\n return this.diagnosisForm.controls;\r\n }\r\n onSubmit(event: any) {\r\n if (!this.diagnosisForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.diagnosisModel = this.diagnosisForm.value;\r\n this.diagnosisModel.patientID = this.patientId;\r\n this.diagnosisModel.resolveDate = this.diagnosisModel.isActive\r\n ? null\r\n : this.diagnosisModel.resolveDate;\r\n this.clientService\r\n .createDiagnosis(this.diagnosisModel)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n if (clickType == \"Save\") this.closeDialog(\"save\");\r\n else if (clickType == \"SaveAddMore\") {\r\n this.refreshGrid.next();\r\n this.diagnosisForm.reset();\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n formControlValueChanged() {\r\n const resolveDateControl = this.diagnosisForm.get(\"resolveDate\");\r\n this.diagnosisForm.get(\"isActive\").valueChanges.subscribe((mode: any) => {\r\n if (mode == false) {\r\n resolveDateControl.setValidators([Validators.required]);\r\n } else {\r\n resolveDateControl.clearValidators();\r\n }\r\n resolveDateControl.updateValueAndValidity();\r\n });\r\n }\r\n closeDialog(action: string): void {\r\n this.diagnosisDialogModalRef.close(action);\r\n }\r\n\r\n getMasterData() {\r\n let data = \"MASTERICD\";\r\n this.clientService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterICD = response.masterICD != null ? response.masterICD : [];\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n

Diagnosis Date: {{diagnosis.diagnosisDate | date:'dd/MM/yyyy'}}

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

Status : {{diagnosis.isActive? 'Active':'In Active'}}

\\r\\n

Diagnosis

\\r\\n

{{diagnosis.diagnosis}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, Input, ElementRef } from \"@angular/core\";\r\nimport { DiagnosisModel } from \"./diagnosis.model\";\r\nimport { ClientsService } from \"../clients.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { DiagnosisModalComponent } from \"./diagnosis-modal/diagnosis-modal.component\";\r\nimport { DialogService } from \"../../../../../shared/layout/dialog/dialog.service\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { CommonService } from \"../../../core/services\";\r\n\r\n@Component({\r\n selector: \"app-diagnosis\",\r\n templateUrl: \"./diagnosis.component.html\",\r\n styleUrls: [\"./diagnosis.component.css\"]\r\n})\r\nexport class DiagnosisComponent implements OnInit {\r\n @Input(\"clientID\") clientID: ElementRef;\r\n clientId: number;\r\n header: string = \"Client Diagnosis\";\r\n diagnosisModel: DiagnosisModel;\r\n diagnosisList: Array = [];\r\n addPermission: boolean;\r\n updatePermission: boolean;\r\n deletePermission: boolean;\r\n\r\n tooltipdMessage=\"Maximum 7 diagnosis are allowed\";\r\n maxAllowedLimit=7;\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private dialogService: DialogService,\r\n private clientsService: ClientsService,\r\n private diagnosisDialogModal: MatDialog,\r\n private notifier: NotifierService,\r\n private commonService: CommonService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.clientId =\r\n params.id == undefined\r\n ? null\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n this.getDiagnosisList();\r\n this.getUserPermissions();\r\n }\r\n\r\n getDiagnosisList() {\r\n this.clientsService\r\n .getDiagnosisList(this.clientId)\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response != null &&\r\n response.data != null &&\r\n response.data.length > 0\r\n ) {\r\n this.diagnosisList = response.data;\r\n }\r\n });\r\n }\r\n\r\n openDialog(id?: number) {\r\n if (id != null && id > 0) {\r\n this.clientsService.getDiagnosisById(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.diagnosisModel = response.data;\r\n this.createModal(this.diagnosisModel);\r\n }\r\n });\r\n } else {\r\n this.diagnosisModel = new DiagnosisModel();\r\n this.createModal(this.diagnosisModel);\r\n }\r\n }\r\n\r\n createModal(diagnosisModel: DiagnosisModel) {\r\n this.diagnosisModel.patientID = this.clientId;\r\n let diagnosisModal;\r\n diagnosisModal = this.diagnosisDialogModal.open(DiagnosisModalComponent, {\r\n data: {\r\n diagnosis: diagnosisModel,\r\n refreshGrid: this.refreshGrid.bind(this)\r\n }\r\n });\r\n diagnosisModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") this.getDiagnosisList();\r\n });\r\n }\r\n refreshGrid() {\r\n this.getDiagnosisList();\r\n }\r\n\r\n delete(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this diagnosis?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientsService.deleteDiagnosis(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getDiagnosisList();\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions = this.clientsService.getUserScreenActionPermissions(\r\n \"CLIENT\",\r\n \"CLIENT_DIAGNOSIS_LIST\"\r\n );\r\n const {\r\n CLIENT_DIAGNOSIS_LIST_ADD,\r\n CLIENT_DIAGNOSIS_LIST_UPDATE,\r\n CLIENT_DIAGNOSIS_LIST_DELETE\r\n } = actionPermissions;\r\n\r\n this.addPermission = CLIENT_DIAGNOSIS_LIST_ADD || false;\r\n this.updatePermission = CLIENT_DIAGNOSIS_LIST_UPDATE || false;\r\n this.deletePermission = CLIENT_DIAGNOSIS_LIST_DELETE || false;\r\n }\r\n disableButton() {\r\n return this.diagnosisList && this.diagnosisList.length > this.maxAllowedLimit;\r\n }\r\n}\r\n","export class DiagnosisModel {\r\n id: number;\r\n icdid: number;\r\n patientID: number;\r\n diagnosisDate: Date;\r\n isActive: boolean = true;\r\n isPrimary: boolean;\r\n resolveDate: string;\r\n isDeleted: boolean;\r\n diagnosis: string;\r\n description:string\r\n}\r\n\r\n\r\nexport class PatientEncounterNotesModel {\r\n id: number;\r\n StaffId: number;\r\n patientID: number;\r\n AppointmentID: number;\r\n encounterNotes: string;\r\n}\r\n\r\nexport class PatientEncounterCheckInNotesModel {\r\n id: number;\r\n StaffId: number;\r\n patientID: number;\r\n AppointmentID: number;\r\n encounterNotes: string;\r\n}","module.exports = \"\"","module.exports = \"
\\r\\n

{{'Add Patient Notes'|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { ClientsService } from '../../../client-portal/clients.service';\r\nimport { Metadata, ResponseModel } from '../../../core/modals/common-model';\r\nimport { DoctorPatientNotes } from './doctor-patient-notes';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-doctor-patient-notes',\r\n templateUrl: './doctor-patient-notes.component.html',\r\n styleUrls: ['./doctor-patient-notes.component.css']\r\n})\r\nexport class DoctorPatientNotesComponent implements OnInit {\r\n patientNotesForm: FormGroup;\r\n staffId: number;\r\n patientId: number;\r\n notes: Array = [];\r\n metaData: Metadata=new Metadata();\r\n editorConfig: AngularEditorConfig;\r\n displayColumns: Array = [\r\n {\r\n displayName: \"Note\",\r\n key: \"patientNotes\",\r\n isSort: false,\r\n class: \"\"\r\n },\r\n {\r\n displayName: \"Created Date\",\r\n key: \"createdDate\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"date\"\r\n }\r\n ];\r\n constructor(private notifierService: NotifierService, private clientService: ClientsService, @Inject(MAT_DIALOG_DATA) public data: any, private formBuilder: FormBuilder, private dialogModalRef: MatDialogRef, private translate:TranslateService) {\r\n this.patientId = data.patientId;\r\n this.staffId = data.providerId;\r\n \r\n\r\n this.editorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: 'auto',\r\n minHeight: '10rem',\r\n maxHeight: 'auto',\r\n width: 'auto',\r\n minWidth: 'auto',\r\n translate: 'no',\r\n enableToolbar: false,\r\n showToolbar: true,\r\n placeholder: this.translate.instant(\"enter_text_here\"),\r\n defaultParagraphSeparator: '',\r\n defaultFontName: '',\r\n defaultFontSize: '',\r\n fonts: [\r\n { class: 'arial', name: 'Arial' },\r\n { class: 'times-new-roman', name: 'Times New Roman' },\r\n { class: 'calibri', name: 'Calibri' },\r\n { class: 'comic-sans-ms', name: 'Comic Sans MS' }\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText'\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n //sanitize: true,\r\n //toolbarPosition: 'top',\r\n // toolbarHiddenButtons: [\r\n // [\r\n // ],\r\n // [\r\n // 'customClasses',\r\n // 'link',\r\n // 'unlink',\r\n // 'insertImage',\r\n // 'insertVideo',\r\n // 'toggleEditorMode'\r\n // ]\r\n // ]\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n this.patientNotesForm = this.formBuilder.group({\r\n patientNotes: [\"\", Validators.required]\r\n });\r\n this.getDoctorPatientNotes();\r\n }\r\n get formControls() {\r\n return this.patientNotesForm.controls;\r\n }\r\n closeDialog(action: string) {\r\n this.dialogModalRef.close(action);\r\n }\r\n onSubmit() {\r\n if (this.patientNotesForm.invalid) {\r\n return this.patientNotesForm\r\n } else {\r\n let data = new DoctorPatientNotes();\r\n data = this.patientNotesForm.value;\r\n data.patientId = this.patientId;\r\n data.providerId = this.staffId;\r\n this.clientService.createOrUpdateDoctorPatientNotes(data).subscribe((res: ResponseModel) => {\r\n if (res.statusCode == 200) {\r\n // this.patientNotesForm.reset();\r\n //this.getDoctorPatientNotes();\r\n this.notifierService.notify(\"success\", res.message);\r\n this.closeDialog('close');\r\n } else {\r\n this.notifierService.notify(\"error\", res.message);\r\n }\r\n });\r\n }\r\n }\r\n getDoctorPatientNotes() {\r\n this.clientService.getDoctorNotes(this.patientId, this.staffId).subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.metaData.currentPage=1;\r\n this.metaData.defaultPageSize=5;\r\n this.metaData.pageSize=5;\r\n this.metaData.totalPages=1;\r\n this.notes = response.data;\r\n this.patientNotesForm.controls['patientNotes'].setValue(this.notes[0].patientNotes);\r\n console.log(this.notes);\r\n } else {\r\n this.notes = [];\r\n }\r\n });\r\n }\r\n}\r\n","export class DoctorPatientNotes {\r\n public patientId: number;\r\n public providerId: number;\r\n public patientNotes: string;\r\n public createdDate?:Date;\r\n}","module.exports = \"\"","module.exports = \"
\\r\\n

{{'upload_document'|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ doc.value }}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_select_document_title'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_notes'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n {{ file.fileName }}\\r\\n \\r\\n

\\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, Inject } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ClientsService } from \"../../clients.service\";\r\nimport { CommonService } from \"../../../../core/services\";\r\nimport { ResponseModel } from \"../../../../core/modals/common-model\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n@Component({\r\n selector: \"app-add-document\",\r\n templateUrl: \"./add-document.component.html\",\r\n styleUrls: [\"./add-document.component.css\"],\r\n})\r\nexport class AddDocumentComponent implements OnInit {\r\n userId: number = null;\r\n masterDocumentTypes: any = [];\r\n filtermasterDocumentTypes: any = [];\r\n filterString;\r\n filterStringId;\r\n addDocumentForm: FormGroup;\r\n fileList: any = [];\r\n documentNotes: { documentTitle: string, documentTypeId: string }[] = [];\r\n dataURL: any;\r\n submitted: boolean = false;\r\n todayDate = new Date();\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n private clientService: ClientsService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.userId = this.data;\r\n }\r\n\r\n ngOnInit() {\r\n this.addDocumentForm = this.formBuilder.group({\r\n documentType: [],\r\n expirationDate: [],\r\n title: [],\r\n });\r\n this.getMasterData();\r\n }\r\n get formControls() {\r\n return this.addDocumentForm.controls;\r\n }\r\n\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n getMasterData() {\r\n this.clientService\r\n .getMasterData(\"MASTERDOCUMENTTYPESSTAFF\")\r\n .subscribe((response: any) => {\r\n if (response != null)\r\n this.masterDocumentTypes = response.masterDocumentTypesStaff =\r\n response.masterDocumentTypesStaff != null\r\n ? response.masterDocumentTypesStaff\r\n : [];\r\n });\r\n }\r\n\r\n handleImageChange(e) {\r\n //if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n let fileExtension = e.target.files[0].name.split(\".\").pop().toLowerCase();\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.fileList.push({\r\n data: this.dataURL,\r\n ext: fileExtension,\r\n fileName: e.target.files[0].name,\r\n });\r\n\r\n this.documentNotes.push({\r\n documentTitle: this.addDocumentForm.value.title,\r\n documentTypeId: this.filterStringId != null ? this.filterStringId : null\r\n });\r\n\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n // }\r\n // else\r\n // this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n this.documentNotes.splice(index, 1);\r\n }\r\n\r\n documentTypeHandler = (e) => {\r\n if (e !== \"\") {\r\n this.filtermasterDocumentTypes = this.masterDocumentTypes.filter(\r\n (doc) => doc.value.toLowerCase().indexOf(e) != -1\r\n );\r\n } else {\r\n this.filtermasterDocumentTypes = [];\r\n }\r\n };\r\n onSelFunc(data) {\r\n this.filterString = data.type;\r\n this.filterStringId = data.id;\r\n }\r\n onSubmit() {\r\n ///Please chnage this API to avoid loops\r\n if (!this.addDocumentForm.invalid) {\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: this.addDocumentForm.value.title,\r\n documentTypeId:this.filterStringId != null ? this.filterStringId : null,\r\n documentTypeIdStaff:\r\n this.filterStringId != null ? this.filterStringId : null,\r\n expiration: this.addDocumentForm.value.expirationDate,\r\n key: \"STAFF\",\r\n otherDocumentType:\r\n this.filterStringId != null ? null : this.filterString,\r\n patientAppointmentId: null,\r\n userId: this.userId,\r\n documentNotes: this.documentNotes\r\n };\r\n let dic = [];\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(\r\n `\"${element.data.replace(\r\n /^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/,\r\n \"\"\r\n )}\": \"${element.ext}\"`\r\n );\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {});\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.clientService\r\n .uploadUserDocuments(formValues)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.closeDialog(\"save\");\r\n } else this.notifier.notify(\"error\", response.message);\r\n });\r\n } else this.notifier.notify(\"error\", \"Please add atleast one file\");\r\n }\r\n }\r\n}\r\n","module.exports = \".iconPointer{\\r\\n color: rgb(3, 9, 41);\\r\\n cursor: pointer;\\r\\n}\\r\\n.sortCss{\\r\\n font-family:sans-serif;\\r\\n font-size: 1rem;\\r\\n font-weight: bold;\\r\\n margin-top: 4px;\\r\\n}\\r\\n.datesearch div{\\r\\n margin-left: 10px;\\r\\n margin-right: 10px;\\r\\n font-family: sans-serif;\\r\\n font-weight: 500;\\r\\n}\\r\\n/* .datesearch label{\\r\\n margin-left: 10px;\\r\\n margin-right: 10px;\\r\\n} */\\r\\n.carditem, .carditems {\\r\\n color: #7a7a7a;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n padding: 15px 56px 0px 15px;\\r\\n overflow: hidden;\\r\\n}\\r\\n.carditem ul, .carditems ul {\\r\\n list-style: outside none none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n.carditem li {\\r\\n display: inline-block;\\r\\n width: 50%;\\r\\n}\\r\\n.carditems li {\\r\\n display: block;\\r\\n}\\r\\n.carditem span, .carditems span {\\r\\n color: rgba(0, 0, 0, 0.8);\\r\\n font-weight: 500;\\r\\n}\\r\\n.filetype {\\r\\n position: absolute;\\r\\n right: 14px;\\r\\n top: 28px;\\r\\n}\\r\\n.filter-btn {\\r\\n display: inherit !important;\\r\\n justify-content: inherit !important;\\r\\n align-items: inherit !important;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n 0\\\">\\r\\n \\r\\n {{category.type | translate}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n dd/MM/yyyy\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n dd/MM/yyyy\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\r\\n Patient did not provide permission to share personal documents.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\"","import { Component, Input, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { ClientsService } from \"../clients.service\";\r\nimport { UserDocumentModel } from \"../client.model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\nimport { MatDatepickerInputEvent, MatDialog } from \"@angular/material\";\r\nimport { AddDocumentComponent } from \"./add-document/add-document.component\";\r\nimport { DialogService } from \"../../../../../shared/layout/dialog/dialog.service\";\r\nimport { SchedulerService } from \"../../../scheduling/scheduler/scheduler.service\";\r\nimport {\r\n Metadata,\r\n UserDocumentReq,\r\n} from \"../../../client-portal/client-profile.model\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { DocumentModalComponent } from \"../../../client-portal/documents/document-modal/document-modal.component\";\r\nimport { ClientHeaderModel } from \"../client-header.model\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { d } from \"@angular/core/src/render3\";\r\nimport { WaitingRoomService } from \"../../../waiting-room/waiting-room.service\";\r\n@Component({\r\n selector: \"app-documents\",\r\n templateUrl: \"./documents.component.html\",\r\n styleUrls: [\"./documents.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DocumentsComponent implements OnInit {\r\n @Input() encryptedPatientId;\r\n @Input() encryptedPatientUserId;\r\n @Input() appointmentId: number = 0;\r\n clientId: number;\r\n header: string = this.translate.instant(\"upload_document\");\r\n userId: number;\r\n locationId: number = 1;\r\n todayDate = new Date();\r\n fromDate: string;\r\n toDate: string;\r\n // documentList: Array = [];\r\n documentCategoryList: any[];\r\n selectedCategory: any;\r\n categoryTypeId: number;\r\n documentList: any = [];\r\n locationUsers: any = [];\r\n uploadPermission: boolean;\r\n downloadPermission: boolean;\r\n deletePermission: boolean;\r\n isHistoryShareable: boolean = true;\r\n maxDate: any;\r\n searchBox: boolean = true;\r\n filtermasterDocumentTypes: any = [];\r\n filterString: any;\r\n filterDocumentList: any = [];\r\n fromD: any;\r\n toD: any;\r\n metaData: Metadata;\r\n userDocRequest: UserDocumentReq;\r\n showLoader = false;\r\n\r\n displayColumns: Array = [\r\n {\r\n displayName: \"document_name\",\r\n key: \"documentTitle\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"category\",\r\n key: \"documentTypeName\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"uploaded_date\",\r\n key: \"createdDate\",\r\n isSort: true,\r\n class: \"\",\r\n type: 'date'\r\n },\r\n\r\n {\r\n displayName: \"uploaded_by\",\r\n key: \"creatorName\",\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"extension\",\r\n type: \"img\",\r\n key: \"extenstion\",\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"actions\",\r\n key: \"Actions\",\r\n class: \"\",\r\n },\r\n ];\r\n\r\n actionButtons: Array = [\r\n { displayName: \"Download\", key: \"download\", class: \"fa fa-download\" },\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n { displayName: \"Delete\", key: \"delete\", class: \"fa fa-trash\" },\r\n { displayName: \"Edit\", key: \"edit\", class: \"fa fa-pencil\" },\r\n ];\r\n clientHeaderModel: ClientHeaderModel;\r\n\r\n constructor(\r\n private dialogModal: MatDialog,\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService,\r\n private clientService: ClientsService,\r\n private notifier: NotifierService,\r\n private schedular: SchedulerService,\r\n private dialogService: DialogService,\r\n private datePipe: DatePipe,\r\n private translate: TranslateService,\r\n private waitingRoomService: WaitingRoomService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.userDocRequest = new UserDocumentReq();\r\n this.metaData = new Metadata();\r\n }\r\n ngOnInit() {\r\n //console.log(\"this is document\")\r\n if (this.appointmentId != 0) {\r\n this.waitingRoomService.getAppointmentDetails(this.appointmentId).subscribe((res) => {\r\n if (res.data && res.statusCode == 200) {\r\n // console.log(\"responce from documents \", res)\r\n this.isHistoryShareable = res.data.isHistoryShareable;\r\n // console.log(this.isHistoryShareable, \"this.isHistoryShareable\");\r\n }\r\n }\r\n )\r\n }\r\n\r\n\r\n\r\n\r\n this.commonService.loadingStateSubject.next(true);\r\n // console.log(\"document appointment id\", this.appointmentId);\r\n if (this.encryptedPatientUserId == undefined && this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n this.userId =\r\n params.uid == undefined\r\n ? null\r\n : this.commonService.encryptValue(params.uid, false);\r\n });\r\n } else {\r\n this.clientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n // console.log(\"client id\", this.clientId)\r\n // console.log(\"this.encryptionid\", this.encryptedPatientId)\r\n this.userId = this.commonService.encryptValue(\r\n this.encryptedPatientUserId,\r\n false\r\n );\r\n\r\n // this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n // this.clientId = user.id;\r\n // });\r\n }\r\n\r\n // this.activatedRoute.queryParams.subscribe((params) => {\r\n // this.clientId =\r\n // params.id == undefined\r\n // ? null\r\n // : this.commonService.encryptValue(params.id, false);\r\n // this.userId =\r\n // params.uid == undefined\r\n // ? null\r\n // : this.commonService.encryptValue(params.uid, false);\r\n // });\r\n // this.getUserPermissions();\r\n // this.getAppointmentDetails();\r\n this.commonService.loadingStateSubject.next(false);\r\n\r\n var today = new Date().toLocaleDateString();\r\n var dateArray = today.split(\"/\");\r\n this.maxDate = new Date(\r\n parseInt(dateArray[2]),\r\n parseInt(dateArray[0]) - 1,\r\n parseInt(dateArray[1])\r\n );\r\n this.getMasterData();\r\n this.getClientUserDetails();\r\n\r\n }\r\n getClientUserDetails() {\r\n this.clientService\r\n .getClientProfileInfo(Number(this.clientId))\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.userId = response.data.patientInfo[0].userID;\r\n\r\n if (this.appointmentId == 0) {\r\n this.isHistoryShareable =\r\n response.data.patientInfo[0].isHistoryShareable;\r\n }\r\n\r\n\r\n if (this.isHistoryShareable) {\r\n this.setIntialValues();\r\n }\r\n\r\n }\r\n });\r\n }\r\n\r\n onCategorySelectionChange(event: any) {\r\n this.categoryTypeId = event.value;\r\n this.selectedCategory = event.value;\r\n // console.log(this.categoryTypeId);\r\n this.userDocRequest.pageNumber = 1;\r\n this.setIntialValues();\r\n }\r\n getMasterData() {\r\n this.clientService\r\n .getMasterData(\"MASTERDOCUMENTTYPESSTAFF\")\r\n .subscribe((response: any) => {\r\n if (response != null)\r\n this.documentCategoryList = response.masterDocumentTypesStaff =\r\n response.masterDocumentTypesStaff != null\r\n ? response.masterDocumentTypesStaff\r\n : [];\r\n });\r\n }\r\n setIntialValues() {\r\n var date = new Date();\r\n this.userDocRequest.userId = this.userId;\r\n this.userDocRequest.CreatedBy = \"Patient\";\r\n this.userDocRequest.documentType = this.categoryTypeId != null ? this.categoryTypeId : null;\r\n // let startDate = new Date(date.getFullYear(), date.getMonth() - 10, 1);\r\n // //let endDate = new Date().toLocaleDateString();\r\n // let endDate = new Date(date.setDate(date.getDate() + 1));\r\n // this.userDocRequest.fromDate = this.datePipe.transform(\r\n // new Date(startDate),\r\n // \"MM/dd/yyyy\"\r\n // );\r\n // this.userDocRequest.toDate = this.datePipe.transform(\r\n // new Date(endDate),\r\n // \"MM/dd/yyyy\"\r\n // );\r\n\r\n this.getUserDocuments();\r\n }\r\n\r\n // getAppointmentDetails() {\r\n // this.clientService\r\n // .getClientProfileInfo(this.clientId)\r\n // .subscribe((responce) => {\r\n // console.log(responce);\r\n // this.userId = responce.data.patientInfo[0].userID;\r\n // this.isHistoryShareable =\r\n // responce.data.patientInfo[0].isHistoryShareable;\r\n // this.getUserDocuments();\r\n // });\r\n // }\r\n\r\n searchDocument = (e: any) => {\r\n\r\n this.userDocRequest.searchCriteria = e;\r\n this.getUserDocuments();\r\n\r\n };\r\n onSelFunc(data) {\r\n this.filterString = data.documentTitle;\r\n this.filterDocumentList = this.filterDocumentList.filter(\r\n (doc) =>\r\n doc.filterDocumentList.toLowerCase() == data.filterDocumentList.toLowerCase()\r\n );\r\n }\r\n searcOnDatehHandler = () => {\r\n this.getUserDocuments();\r\n };\r\n // sortHandler = (type: string) => {\r\n // if (type === \"atoz\") {\r\n // (this.filterDocumentList.length == 0\r\n // ? this.documentList\r\n // : this.filterDocumentList\r\n // ).sort((a, b) => a.documentTitle.localeCompare(b.documentTitle));\r\n // } else if (type === \"ztoa\") {\r\n // (this.filterDocumentList.length == 0\r\n // ? this.documentList\r\n // : this.filterDocumentList\r\n // ).sort((a, b) => b.documentTitle.localeCompare(a.documentTitle));\r\n // } else if (type === \"latest\") {\r\n // (this.filterDocumentList.length == 0\r\n // ? this.documentList\r\n // : this.filterDocumentList\r\n // ).sort((a, b) => b.createdDate.localeCompare(a.createdDate));\r\n // } else if (type === \"oldest\") {\r\n // (this.filterDocumentList.length == 0\r\n // ? this.documentList\r\n // : this.filterDocumentList\r\n // ).sort((a, b) => a.createdDate.localeCompare(b.createdDate));\r\n // } else {\r\n // this.filterDocumentList = [...this.documentList];\r\n // }\r\n // };\r\n addDateEvent = (type: string, event: MatDatepickerInputEvent) => {\r\n if (type == \"to\") {\r\n this.userDocRequest.toDate = this.datePipe.transform(\r\n new Date(event.value),\r\n \"MM/dd/yyyy\"\r\n );\r\n // console.log();\r\n } else {\r\n this.userDocRequest.fromDate = this.datePipe.transform(\r\n new Date(event.value),\r\n \"MM/dd/yyyy\"\r\n );\r\n }\r\n };\r\n changeSearchHandler = (type: string) => {\r\n type === \"toDate\" ? (this.searchBox = false) : (this.searchBox = true);\r\n };\r\n\r\n // getUserDocuments() {\r\n // if (this.userId != null) {\r\n // this.fromDate =\r\n // this.fromDate == null\r\n // ? \"1990-01-01\"\r\n // : format(this.fromDate, \"YYYY-MM-DD\");\r\n // this.toDate =\r\n // this.toDate == null\r\n // ? format(this.todayDate, \"YYYY-MM-DD\")\r\n // : format(this.toDate, \"YYYY-MM-DD\");\r\n // this.clientService\r\n // .getUserDocuments(this.userId, this.fromDate, this.toDate)\r\n // .subscribe((response: ResponseModel) => {\r\n // if (response != null) {\r\n // this.documentList =\r\n // response.data != null && response.data.length > 0\r\n // ? response.data\r\n // : [];\r\n // this.filterDocumentList =\r\n // response.data != null && response.data.length > 0\r\n // ? response.data\r\n // : [];\r\n // }\r\n // });\r\n // }\r\n // }\r\n\r\n getUserDocuments() {\r\n this.showLoader = true;\r\n if (this.userId != null) {\r\n if (this.categoryTypeId != null) {\r\n\r\n this.userDocRequest.FirstCall = false;\r\n }\r\n else {\r\n this.userDocRequest.FirstCall = true;\r\n this.userDocRequest.documentType = null;\r\n }\r\n this.clientService\r\n .getFilterUserDocuments(this.userDocRequest)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n // console.log(response);\r\n this.metaData = response.meta;\r\n this.metaData.pageSizeOptions = [5, 10, 25, 50, 100];\r\n this.documentList =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.filterDocumentList =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n\r\n this.documentList.forEach((element, i: number) => {\r\n this.documentList[i].filteredDate = element.createdDate;\r\n });\r\n\r\n // this.documentList.map((ele) => {\r\n // ele.createdDate = format(ele.createdDate, \"DD-MM-YYYY\");\r\n // });\r\n\r\n this.documentList.map(\r\n (element) =>\r\n (element.documentTypeName =\r\n element.documentTypeNameStaff != null\r\n ? element.documentTypeNameStaff\r\n : element.documentTypeName != null\r\n ? element.documentTypeName\r\n : element.otherDocumentType)\r\n );\r\n\r\n this.filterDocumentList.map(\r\n (element) =>\r\n (element.documentTypeName =\r\n element.documentTypeNameStaff != null\r\n ? element.documentTypeNameStaff\r\n : element.documentTypeName != null\r\n ? element.documentTypeName\r\n : element.otherDocumentType)\r\n );\r\n this.documentList.map((element) => {\r\n if (element.extenstion == \".png\") {\r\n element.extenstion = \"../../../../../../assets/img/jpg.png\";\r\n } else if (\r\n element.extenstion == \".jpg\" ||\r\n element.extenstion == \".jpeg\"\r\n ) {\r\n element.extenstion = \"../../../../../../assets/img/jpg.png\";\r\n } else if (element.extenstion == \".txt\") {\r\n element.extenstion = \"../../../../../../assets/img/txt.png\";\r\n } else if (\r\n element.extenstion == \".xls\" ||\r\n element.extenstion == \".xlsx\"\r\n ) {\r\n element.extenstion = \"../../../../../../assets/img/excel.png\";\r\n } else if (\r\n element.extenstion == \".ppt\" ||\r\n element.extenstion == \".pptx\"\r\n ) {\r\n element.extenstion = \"../../../../../../assets/img/ppt.png\";\r\n } else if (\r\n element.extenstion == \".doc\" ||\r\n element.extenstion == \".docx\"\r\n ) {\r\n element.extenstion = \"../../../../../../assets/img/doc.png\";\r\n } else if (element.extenstion == \".pdf\") {\r\n element.extenstion = \"../../../../../../assets/img/pdf.png\";\r\n }\r\n });\r\n this.filterDocumentList.map((element) => {\r\n if (element.extenstion == \".png\") {\r\n element.extenstion = \"../../../../../../assets/img/jpg.png\";\r\n } else if (\r\n element.extenstion == \".jpg\" ||\r\n element.extenstion == \".jpeg\"\r\n ) {\r\n element.extenstion = \"../../../../../../assets/img/jpg.png\";\r\n } else if (element.extenstion == \".txt\") {\r\n element.extenstion = \"../../../../../../assets/img/txt.png\";\r\n } else if (\r\n element.extenstion == \".xls\" ||\r\n element.extenstion == \".xlsx\"\r\n ) {\r\n element.extenstion = \"../../../../../../assets/img/excel.png\";\r\n } else if (\r\n element.extenstion == \".ppt\" ||\r\n element.extenstion == \".pptx\"\r\n ) {\r\n element.extenstion = \"../../../../../../assets/img/ppt.png\";\r\n } else if (\r\n element.extenstion == \".doc\" ||\r\n element.extenstion == \".docx\"\r\n ) {\r\n element.extenstion = \"../../../../../../assets/img/doc.png\";\r\n } else if (element.extenstion == \".pdf\") {\r\n element.extenstion = \"../../../../../../assets/img/pdf.png\";\r\n }\r\n });\r\n this.showLoader = false;\r\n } else {\r\n this.documentList = [];\r\n this.filterDocumentList = [];\r\n this.metaData = new Metadata();\r\n this.showLoader = false;\r\n }\r\n\r\n\r\n // console.log(response.data);\r\n });\r\n }\r\n }\r\n\r\n downloadUserDocument(value: UserDocumentModel) {\r\n let key;\r\n if (value.key.toLowerCase() === 'refferal') {\r\n key = \"refferal\";\r\n }\r\n else {\r\n key = \"userdoc\";\r\n }\r\n\r\n // this.clientService.getUserDocument(value.id, key).subscribe((response: any) => {\r\n // this.clientService.downloadFile(response, response.type, value.url);\r\n // });\r\n this.clientService\r\n .getDocumentForDownlod(value.id, key)\r\n .subscribe((response: any) => {\r\n // console.log(response);\r\n if (response.statusCode == 200) {\r\n var fileType = \"\";\r\n switch (response.data.extenstion) {\r\n case \".png\":\r\n fileType = \"image/png\";\r\n break;\r\n case \".gif\":\r\n fileType = \"image/gif\";\r\n break;\r\n case \".pdf\":\r\n fileType = \"application/pdf\";\r\n break;\r\n case \".jpeg\":\r\n fileType = \"image/jpeg\";\r\n break;\r\n case \".jpg\":\r\n fileType = \"image/jpeg\";\r\n break;\r\n case \".xls\":\r\n fileType = \"application/vnd.ms-excel\";\r\n break;\r\n default:\r\n fileType = null;\r\n }\r\n var binaryString = atob(response.data.base64);\r\n var bytes = new Uint8Array(binaryString.length);\r\n for (var i = 0; i < binaryString.length; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n var newBlob = new Blob([bytes], {\r\n type: fileType,\r\n });\r\n\r\n this.clientService.downloadFile(newBlob,\r\n fileType,\r\n response.data.fileName);\r\n }\r\n else {\r\n\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteUserDocument(data: any) {\r\n let key;\r\n if (data.key.toLowerCase() === \"refferal\") {\r\n key = \"refferal\";\r\n }\r\n else {\r\n key = \"userdoc\";\r\n }\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this document?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientService\r\n .deleteUserDocument(data.id, key)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getUserDocuments();\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n // getUserPermissions() {\r\n // const actionPermissions = this.clientService.getUserScreenActionPermissions(\r\n // \"CLIENT\",\r\n // \"CLIENT_DOCUMENT_LIST\"\r\n // );\r\n // const {\r\n // CLIENT_DOCUMENT_LIST_UPLOAD,\r\n // CLIENT_DOCUMENT_LIST_DOWNLOAD,\r\n // CLIENT_DOCUMENT_LIST_DELETE,\r\n // } = actionPermissions;\r\n\r\n // this.uploadPermission = CLIENT_DOCUMENT_LIST_UPLOAD || false;\r\n // this.downloadPermission = CLIENT_DOCUMENT_LIST_DOWNLOAD || false;\r\n // this.deletePermission = CLIENT_DOCUMENT_LIST_DELETE || false;\r\n // }\r\n\r\n // createModal() {\r\n // if (this.userId != null) {\r\n // let documentModal;\r\n // documentModal = this.dialogModal.open(AddDocumentComponent, {\r\n // data: this.userId,\r\n // });\r\n // documentModal.afterClosed().subscribe((result: string) => {\r\n // if (result == \"save\") this.getUserDocuments();\r\n // });\r\n // } else this.notifier.notify(\"error\", \"Please select user\");\r\n // }\r\n\r\n createModal(type, documentData) {\r\n if (documentData && documentData.key && documentData.key.toLowerCase() === \"refferal\") {\r\n this.notifier.notify(\"warning\", \"Can't update this document\");\r\n }\r\n else\r\n if (this.userId != null) {\r\n let allData = {\r\n id: this.userId,\r\n type: type,\r\n documentData: documentData,\r\n };\r\n let documentModal;\r\n\r\n documentModal = this.dialogModal.open(DocumentModalComponent, {\r\n data: allData,\r\n });\r\n documentModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") this.getUserDocuments();\r\n });\r\n } else this.notifier.notify(\"error\", \"Please select user\");\r\n }\r\n\r\n onPageOrSortChange = (actObj) => {\r\n // console.log(actObj);\r\n this.userDocRequest.pageNumber = actObj.pageNumber;\r\n this.userDocRequest.pageSize = actObj.pageSize;\r\n this.userDocRequest.sortOrder = actObj.order;\r\n this.userDocRequest.sortColumn = actObj.sort;\r\n this.getUserDocuments();\r\n };\r\n\r\n onTableActionClick(actionObj?: any) {\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"DOWNLOAD\":\r\n this.getUserDocument(actionObj);\r\n break;\r\n case \"VIEW\":\r\n this.viewFile(actionObj);\r\n break;\r\n case \"DELETE\":\r\n this.deleteUserDocument(actionObj.data);\r\n break;\r\n case \"EDIT\":\r\n this.createModal(\"edit\", actionObj.data);\r\n // console.log(actionObj);\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n viewFile = (act) => {\r\n // window.open(act.data.url, '_blank')\r\n // console.log(\"view\", act);\r\n let key;\r\n if (act.data.key.toLowerCase() === \"refferal\") {\r\n key = \"refferal\";\r\n }\r\n else {\r\n key = \"userdoc\";\r\n }\r\n this.clientService\r\n .getDocumentForDownlod(act.data.id, key)\r\n .subscribe((response: any) => {\r\n // console.log(response);\r\n ;\r\n if (response.statusCode == 200) {\r\n var fileType = \"\";\r\n switch (response.data.extenstion) {\r\n case \".png\":\r\n fileType = \"image/png\";\r\n break;\r\n case \".gif\":\r\n fileType = \"image/gif\";\r\n break;\r\n case \".pdf\":\r\n fileType = \"application/pdf\";\r\n break;\r\n case \".jpeg\":\r\n fileType = \"image/jpeg\";\r\n break;\r\n case \".jpg\":\r\n fileType = \"image/jpeg\";\r\n break;\r\n case \".xls\":\r\n fileType = \"application/vnd.ms-excel\";\r\n break;\r\n default:\r\n fileType = null;\r\n }\r\n var binaryString = atob(response.data.base64);\r\n var bytes = new Uint8Array(binaryString.length);\r\n for (var i = 0; i < binaryString.length; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n\r\n var newBlob = new Blob([bytes], {\r\n type: fileType,\r\n });\r\n\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n };\r\n\r\n getUserDocument(value) {\r\n let key;\r\n if (value.data.key.toLowerCase() === \"refferal\") {\r\n key = \"refferal\";\r\n }\r\n else {\r\n key = \"userdoc\";\r\n }\r\n this.clientService\r\n .getDocumentForDownlod(value.data.id, key)\r\n .subscribe((response: any) => {\r\n // console.log(response);\r\n if (response.statusCode == 200) {\r\n var fileType = \"\";\r\n switch (response.data.extenstion) {\r\n case \".png\":\r\n fileType = \"image/png\";\r\n break;\r\n case \".gif\":\r\n fileType = \"image/gif\";\r\n break;\r\n case \".pdf\":\r\n fileType = \"application/pdf\";\r\n break;\r\n case \".jpeg\":\r\n fileType = \"image/jpeg\";\r\n break;\r\n case \".jpg\":\r\n fileType = \"image/jpeg\";\r\n break;\r\n case \".xls\":\r\n fileType = \"application/vnd.ms-excel\";\r\n break;\r\n default:\r\n fileType = null;\r\n }\r\n var binaryString = atob(response.data.base64);\r\n var bytes = new Uint8Array(binaryString.length);\r\n for (var i = 0; i < binaryString.length; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n var newBlob = new Blob([bytes], {\r\n type: fileType,\r\n });\r\n\r\n this.clientService.downloadFile(newBlob,\r\n fileType,\r\n response.data.fileName);\r\n }\r\n else {\r\n\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n clearFilters(): void {\r\n\r\n this.filterString = null;\r\n this.categoryTypeId = null;\r\n this.userDocRequest.pageNumber = 1;\r\n this.userDocRequest.pageSize = 5;\r\n this.selectedCategory = null;\r\n this.userDocRequest.toDate = \"\";\r\n this.userDocRequest.fromDate = \"\";\r\n this.userDocRequest.documentType = null;\r\n this.userDocRequest.FirstCall = true;\r\n this.userDocRequest.searchCriteria = \"\";\r\n this.userDocRequest.userId = this.userId;\r\n this.userDocRequest.CreatedBy = \"Patient\";\r\n this.userDocRequest.documentType = this.categoryTypeId != null ? this.categoryTypeId : null;\r\n this.getUserDocuments();\r\n\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Eligibility Enquiry

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{payer.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select payer\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{code.value}}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{code.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select service codes\\r\\n \\r\\n \\r\\n
\\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, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ClientsService } from '../clients.service';\r\nimport { ResponseModel } from '../../../core/modals/common-model';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\n\r\n@Component({\r\n selector: 'app-eligibility-enquiry',\r\n templateUrl: './eligibility-enquiry.component.html',\r\n styleUrls: ['./eligibility-enquiry.component.css']\r\n})\r\nexport class EligibilityEnquiryComponent implements OnInit {\r\n eligibilityForm: FormGroup;\r\n masterServiceCode: any = [];\r\n masterServiceTypeCodes: any = [];\r\n patientPayers: any = [];\r\n clientId: number;\r\n submitted: boolean = false;\r\n serviceTypes: any = [];\r\n constructor(private formBuilder: FormBuilder, private clientService: ClientsService, private notifier: NotifierService,\r\n @Inject(MAT_DIALOG_DATA) public data: any, private dialogRef: MatDialogRef) {\r\n this.clientId = parseInt(this.data);\r\n }\r\n\r\n ngOnInit() {\r\n this.eligibilityForm = this.formBuilder.group({\r\n payerId: [],\r\n serviceCodeIds: [],\r\n serviceTypeCodeIds: []\r\n\r\n });\r\n //////\r\n this.getMasterData();\r\n this.getPayerByPatient();\r\n this.getEligibilityEnquiryServiceCodes();\r\n }\r\n get formControls() {\r\n return this.eligibilityForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n if (!this.eligibilityForm.invalid) {\r\n if (this.serviceTypes.length == 0) {\r\n this.notifier.notify('error', \"Please select at least one service type\");\r\n return;\r\n }\r\n let formvalue = this.eligibilityForm.value;\r\n this.submitted=true;\r\n this.clientService.download270(this.clientId, formvalue.payerId, this.serviceTypes, formvalue.serviceCodeIds).subscribe((response: any) => {\r\n this.submitted=false;\r\n this.clientService.downloadFile(response, 'text/plain', \"EligibilityRequestFile.x12\");\r\n this.closeDialog('save');\r\n });\r\n }\r\n }\r\n addServiceType(value: any, code: any) {\r\n if (value) {\r\n this.serviceTypes.push(code.id);\r\n }\r\n else {\r\n let index = this.serviceTypes.findIndex(x => x == code.id);\r\n if (index != -1) {\r\n this.serviceTypes.splice(index, 1);\r\n }\r\n }\r\n }\r\n getMasterData() {\r\n this.clientService.getMasterData(\"MASTERSERVICECODE\").subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterServiceCode = response.masterServiceCode;\r\n }\r\n });\r\n }\r\n getPayerByPatient() {\r\n this.clientService.getPayerByPatient(this.clientId, \"PRIMARY\").subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.patientPayers = response.data;\r\n }\r\n });\r\n }\r\n getEligibilityEnquiryServiceCodes() {\r\n this.clientService.getEligibilityEnquiryServiceCodes().subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.masterServiceTypeCodes = response.data;\r\n }\r\n });\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogRef.close(action);\r\n }\r\n}\r\n","module.exports = \".filter-btn {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n}\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ tag.value | translate}}\\r\\n \\r\\n \\r\\n \\r\\n
\\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_status' | translate }}\\r\\n \\r\\n \\r\\n {{ status === 'Completed' ? ('completed' | translate) : status === 'Cancelled' ? ('cancelled' |\\r\\n translate) : status }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\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 { EncounterModel } from './../../dashboard/dashboard.model';\r\nimport { Component, Input, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ClientsService } from \"../clients.service\";\r\nimport { EncounterModel } from \"./encounter.model\";\r\nimport { FilterModel, ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { format, isThisSecond } from \"date-fns\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { LoginUser } from \"../../../core/modals/loginUser.modal\";\r\nimport { WaitingRoomService } from \"../../../waiting-room/waiting-room.service\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-encounter\",\r\n templateUrl: \"./encounter.component.html\",\r\n styleUrls: [\"./encounter.component.css\"],\r\n})\r\nexport class EncounterComponent implements OnInit {\r\n @Input() encryptedPatientId;\r\n clientId: number;\r\n maxDate = new Date();\r\n encounterFormGroup: FormGroup;\r\n statusList: any[];\r\n appointmentType: any[];\r\n encounterListModel: EncounterModel[];\r\n header: string = this.translate.instant(\"Client Past-Appointments\");\r\n metaData: any;\r\n clientEncounterFilterModel: FilterModel;\r\n appointmentStatus: any = [\r\n \"All\",\r\n \"Completed\",\r\n \"Cancelled\"\r\n ];\r\n selectedStatus: string = \"All\";\r\n displayedColumns: Array = [\r\n {\r\n displayName: \"appointment_no\",\r\n key: \"patientAppointmentId\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"5%\",\r\n },\r\n {\r\n displayName: \"date_of_service\",\r\n key: \"dateOfService\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"12%\",\r\n type: 'date'\r\n },\r\n {\r\n displayName: \"start_time\",\r\n key: \"startDateTime\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"8%\",\r\n type: \"time\",\r\n },\r\n {\r\n displayName: \"end_time\",\r\n key: \"endDateTime\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"8%\",\r\n type: \"time\",\r\n },\r\n { displayName: \"duration\", key: \"duration\", class: \"\", width: \"5%\" },\r\n {\r\n displayName: \"practitioner\",\r\n key: \"staffName\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"12%\",\r\n },\r\n {\r\n displayName: \"appointment_type\",\r\n key: \"appointmentType\",\r\n class: \"\",\r\n width: \"17%\",\r\n },\r\n {\r\n displayName: \"status\",\r\n key: \"status\",\r\n isSort: true,\r\n width: \"10%\",\r\n type: [\"RENDERED\", \"PENDING\"],\r\n },\r\n { displayName: \"actions\", key: \"Actions\", class: \"\", width: \"5%\" },\r\n ];\r\n actionButtons: Array = [\r\n { displayName: \"view\", key: \"edit\", class: \"fa fa-eye\" },\r\n ];\r\n appointmentTypeId: any;\r\n staffFirstName: string = \"\";\r\n appointmentId: number;\r\n patientId: any;\r\n apptId: number;\r\n isClient: boolean;\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private clientsService: ClientsService,\r\n private formBuilder: FormBuilder,\r\n private route: Router,\r\n private commonService: CommonService,\r\n private waitingRoomService: WaitingRoomService,\r\n private datePipe: DatePipe,\r\n private translate: TranslateService\r\n ) {\r\n this.encounterListModel = new Array();\r\n this.clientEncounterFilterModel = new FilterModel();\r\n\r\n this.encounterFormGroup = this.formBuilder.group({\r\n appointmentTypeId: 0,\r\n staffName: this.staffFirstName,\r\n // status: \"\",\r\n fromDate: \"\",\r\n toDate: \"\",\r\n });\r\n\r\n\r\n //this.statusList = [{ id: true, value: 'Pending' }, { id: false, value: 'Rendered' }]\r\n }\r\n\r\n ngOnInit() {\r\n\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n if (apptId) {\r\n this.waitingRoomService.getAppointmentDetails(parseInt(apptId)).subscribe((res) => {\r\n // console.log(res);\r\n this.clientId = res.data.patientID;\r\n this.getEncounterList(\r\n this.clientEncounterFilterModel,\r\n this.clientId,\r\n \"\",\r\n \"\",\r\n \"\",\r\n \"\",\r\n \"\"\r\n );\r\n });\r\n }\r\n else {\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n if (this.clientId)\r\n this.getEncounterList(\r\n this.clientEncounterFilterModel,\r\n this.clientId,\r\n \"\",\r\n \"\",\r\n \"\",\r\n \"\",\r\n \"\"\r\n );\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n } else {\r\n this.clientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n if (this.clientId)\r\n this.getEncounterList(\r\n this.clientEncounterFilterModel,\r\n this.clientId,\r\n \"\",\r\n \"\",\r\n \"\",\r\n \"\",\r\n \"\"\r\n );\r\n\r\n }\r\n\r\n // const apptId = this.activatedRoute.snapshot.params.id;\r\n // this.commonService.userRole.subscribe((role) => {\r\n // console.log(\"Role from encounter component: \",role);\r\n // if (role.toLowerCase() == \"provider\") {\r\n // console.log(\"Role from encounter component: \",role);\r\n // this.isProvider=true;\r\n // }\r\n // }\r\n // );\r\n\r\n // this.getEncounterList(\r\n // this.clientEncounterFilterModel,\r\n // this.clientId,\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.commonService.loginUser.subscribe((user: LoginUser) => {\r\n // console.log(\"user\", user);\r\n // console.log(\"user.data.userroles.rolename\", user.data.users1.userRoles.userType === \"CLIENT\");\r\n if (user.data.users1.userRoles.userType === \"CLIENT\") {\r\n this.isClient = true;\r\n }\r\n // this.staffFirstName = user.data.firstName;\r\n this.encounterFormGroup = this.formBuilder.group({\r\n appointmentTypeId: 0,\r\n staffName: this.staffFirstName,\r\n // status: \"\",\r\n fromDate: \"\",\r\n toDate: \"\",\r\n });\r\n });\r\n\r\n this.getMasterData();\r\n this.getUserPermissions();\r\n // console.log(this.clientId)\r\n }\r\n\r\n get formControls() {\r\n return this.encounterFormGroup.controls;\r\n }\r\n\r\n getMasterData() {\r\n let data = \"appointmentType\";\r\n this.appointmentType = [{ value: \"New\" }, { value: \"Follow-up\" }];\r\n // this.clientsService.getMasterData(data).subscribe((response: any) => {\r\n // this.appointmentType = response.appointmentType;\r\n // });\r\n }\r\n\r\n getEncounterList(\r\n filterModel: FilterModel,\r\n clientId: number,\r\n appointmentTypeId: string,\r\n staffName: string,\r\n status: string,\r\n fromDate: string,\r\n toDate: string\r\n ) {\r\n if (fromDate) {\r\n fromDate = format(fromDate, 'YYYY/MM/DD').toString();\r\n }\r\n if (toDate) {\r\n toDate = format(toDate, 'YYYY/MM/DD').toString();\r\n }\r\n // console.log(\"FromDate\",fromDate);\r\n // console.log(\"ToDate\",toDate);\r\n //status=\"Completed\";\r\n this.clientsService\r\n .getClientEncounters(\r\n this.clientEncounterFilterModel,\r\n clientId,\r\n appointmentTypeId,\r\n staffName,\r\n status,\r\n fromDate,\r\n toDate\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n //////;\r\n\r\n if (response && response.statusCode == 200) {\r\n this.encounterListModel = response.data;\r\n // console.log(\"past list:\", response.data)\r\n // this.encounterListModel = (response.data || []).map((obj: any) => {\r\n // obj.dateOfService =\r\n // format(obj.dateOfService, \"MM/DD/YYYY\") +\r\n // \" (\" +\r\n // format(obj.dateOfService, \"h:mm A\") +\r\n // \" - \" +\r\n // format(obj.endDateTime, \"h:mm A\") +\r\n // \")\";\r\n // return obj;\r\n // });\r\n this.metaData = response.meta;\r\n this.metaData.pageSizeOptions = [5, 10, 15, 25, 50, 100];\r\n } else {\r\n this.encounterListModel = null;\r\n }\r\n });\r\n }\r\n clearFilters() {\r\n this.encounterFormGroup.reset();\r\n this.setPaginatorModel(\r\n 1,\r\n this.clientEncounterFilterModel.pageSize,\r\n this.clientEncounterFilterModel.sortColumn,\r\n this.clientEncounterFilterModel.sortOrder\r\n );\r\n this.getEncounterList(\r\n this.clientEncounterFilterModel,\r\n this.clientId,\r\n \"\",\r\n \"\",\r\n \"\",\r\n \"\",\r\n \"\"\r\n );\r\n }\r\n\r\n // statusChangeHandler = (e) => {\r\n // this.selectedStatus = e;\r\n // this.applyFilter();\r\n // }\r\n statusChangeHandler = (e) => {\r\n this.selectedStatus = e;\r\n // console.log(this.selectedStatus, 'e')\r\n if (this.selectedStatus === \"All\") {\r\n this.clearFilters();\r\n } else {\r\n this.applyFilter();\r\n }\r\n }\r\n\r\n applyFilter() {\r\n let formValues = this.encounterFormGroup.value;\r\n this.setPaginatorModel(\r\n 1,\r\n this.clientEncounterFilterModel.pageSize,\r\n this.clientEncounterFilterModel.sortColumn,\r\n this.clientEncounterFilterModel.sortOrder\r\n );\r\n this.getEncounterList(\r\n this.clientEncounterFilterModel,\r\n this.clientId,\r\n this.appointmentTypeId,\r\n formValues.staffName,\r\n this.selectedStatus,\r\n formValues.fromDate ? format(formValues.fromDate, 'YYYY/MM/DD') : '',\r\n formValues.toDate ? format(formValues.toDate, 'YYYY/MM/DD') : ''\r\n );\r\n }\r\n changeAppointment(e) {\r\n this.appointmentTypeId = e.source.value;\r\n }\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.clientEncounterFilterModel.pageNumber = pageNumber;\r\n this.clientEncounterFilterModel.pageSize = pageSize;\r\n this.clientEncounterFilterModel.sortOrder = sortOrder;\r\n this.clientEncounterFilterModel.sortColumn = sortColumn;\r\n }\r\n\r\n onPageOrSortChange(changeState?: any) {\r\n let formValues = this.encounterFormGroup.value;\r\n this.setPaginatorModel(\r\n changeState.pageNumber,\r\n this.clientEncounterFilterModel.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getEncounterList(\r\n this.clientEncounterFilterModel,\r\n this.clientId,\r\n this.appointmentTypeId,\r\n formValues.staffName,\r\n this.selectedStatus,\r\n formValues.fromDate ? format(formValues.fromDate, 'YYYY/MM/DD') : \"\",\r\n formValues.toDate ? format(formValues.toDate, 'YYYY/MM/DD') : \"\"\r\n );\r\n }\r\n\r\n onTableActionClick(actionObj?: any) {\r\n // console.log(\"tableactionclicked3333\", actionObj);\r\n const apptId = actionObj.data && actionObj.data.patientAppointmentId,\r\n patId = actionObj.data && actionObj.data.patientID,\r\n encId = actionObj.data && actionObj.data.id,\r\n isBillableEncounter =\r\n actionObj.data && actionObj.data.isBillableEncounter;\r\n //switch ((actionObj.action || \"\").toUpperCase()) {\r\n switch (typeof actionObj.action === 'string' ? actionObj.action.toUpperCase() : 'DEFAULT') {\r\n case \"EDIT\":\r\n // const redirectUrl = isBillableEncounter\r\n // ? \"/web/waiting-room/\"\r\n // : \"/web/encounter/non-billable-soap\";\r\n let redirectUrl = isBillableEncounter\r\n ? \"/web/waiting-room/\"\r\n : \"/web/encounter/non-billable-soap\";\r\n if (this.isClient) {\r\n redirectUrl = isBillableEncounter\r\n ? \"/web/waiting-room/\"\r\n : \"/web/client/non-billable-soap\";\r\n }\r\n\r\n\r\n if (isBillableEncounter) {\r\n this.route.navigate([\"/web/waiting-room/\" + apptId + patId]);\r\n } else {\r\n // this.route.navigate([redirectUrl], {\r\n // queryParams: {\r\n // apptId: apptId,\r\n // encId: encId\r\n // }\r\n // });\r\n // const url = this.route.serializeUrl(\r\n // this.route.createUrlTree([redirectUrl], {\r\n // queryParams: {\r\n // apptId: apptId,\r\n // // encId: encId,\r\n // patId: patId\r\n // },\r\n // queryParamsHandling: \"merge\",\r\n // })\r\n // );\r\n // window.open(url, \"_blank\");\r\n this.route.navigate([redirectUrl], {\r\n queryParams: {\r\n apptId: apptId,\r\n patId: patId\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n // const url = this.route.serializeUrl(this.route.createUrlTree(['/employee'], { queryParams: { selectId: someID }, queryParamsHandling: 'preserve' }));\r\n // window.open(url, '_blank');\r\n //this.router.navigate([]).then(result => { window.open(link, '_blank'); });\r\n }\r\n break;\r\n default:\r\n // console.log(\"from default\");\r\n let defaultredirectUrl = isBillableEncounter\r\n ? \"/web/waiting-room/\"\r\n : \"/web/encounter/non-billable-soap\";\r\n if (this.isClient) {\r\n defaultredirectUrl = isBillableEncounter\r\n ? \"/web/waiting-room/\"\r\n : \"/web/client/non-billable-soap\";\r\n }\r\n if (isBillableEncounter) {\r\n this.route.navigate([\"/web/waiting-room/\" + apptId + patId]);\r\n } else {\r\n // const url = this.route.serializeUrl(\r\n // this.route.createUrlTree([defaultredirectUrl], {\r\n // queryParams: {\r\n // apptId: apptId,\r\n // // encId: encId,\r\n // patId: patId\r\n // },\r\n // queryParamsHandling: \"merge\",\r\n // })\r\n // );\r\n // // window.open(url);\r\n // window.location.href = url;\r\n this.route.navigate([defaultredirectUrl], {\r\n queryParams: {\r\n apptId: apptId,\r\n patId: patId\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n break;\r\n }\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions =\r\n this.clientsService.getUserScreenActionPermissions(\r\n \"CLIENT\",\r\n \"CLIENT_ENCOUNTER_LIST\"\r\n );\r\n const { CLIENT_ENCOUNTER_LIST_VIEW } = actionPermissions;\r\n if (!CLIENT_ENCOUNTER_LIST_VIEW) {\r\n let spliceIndex = this.actionButtons.findIndex(\r\n (obj) => obj.key == \"edit\"\r\n );\r\n this.actionButtons.splice(spliceIndex, 1);\r\n }\r\n }\r\n}\r\n","module.exports = \"/* Issue 53 Fix Start*/\\r\\n.spnCenter{ text-align: center;}\\r\\n/* Issue 53 Fix Start*/\\r\\n.custom-field .mat-form-field-wrapper {\\r\\n padding-bottom: 2px; /* Adjust the padding as needed */\\r\\n}\\r\\n.custom-field .mat-form-field-underline {\\r\\n background-color: rgba(0,0,0,.42); /* Default underline color */\\r\\n}\\r\\n.custom-field .mat-form-field-ripple {\\r\\n background-color: #3f51b5; /* Underline color when focused */\\r\\n}\\r\\n.is-invalid .mat-form-field-wrapper {\\r\\n border: 1px solid red;\\r\\n}\\r\\n.custom-field .mat-input-element {\\r\\n border: 1px solid #ccc; /* Add border to input fields */\\r\\n padding: 8px; /* Adjust padding for better spacing */\\r\\n border-radius: 4px; /* Optional: Add border-radius for rounded corners */\\r\\n}\\r\\n.custom-field .mat-input-element:focus {\\r\\n border-color: #3f51b5; /* Border color when focused */\\r\\n box-shadow: 0 0 5px rgba(63,81,181,0.5); /* Optional: Add shadow for focus effect */\\r\\n}\\r\\ntextarea{\\r\\n border: 1px solid rgb(204, 204, 204);\\r\\n padding: 8px;\\r\\n border-radius: 4px;\\r\\n height: 54px;\\r\\n}\\r\\n::ng-deep .not-border .mat-form-field-flex{\\r\\n border: none;\\r\\n}\"","module.exports = \"
\\r\\n

{{\\\"family_history\\\"|translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_first_name\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_last_name\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value|lowercase|translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_gender\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_dob\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value|translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_relationship\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{\\\"Is person deceased\\\"|translate}}? \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_cause_of_death\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{\\\"Age of diagnosis cannot be greater than age of person\\\"|translate}} \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\"","import { Component, OnInit, EventEmitter, Output, Inject } from \"@angular/core\";\r\nimport {\r\n PatientMedicalFamilyHistoryModel,\r\n PatientMedicalFamilyHistoryDiseaseModel,\r\n} from \"../family-history.model\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n FormControl,\r\n Validators,\r\n FormArray,\r\n} from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { ClientsService } from \"../../clients.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: \"app-family-history-model\",\r\n templateUrl: \"./family-history-model.component.html\",\r\n styleUrls: [\"./family-history-model.component.css\"],\r\n})\r\nexport class FamilyHistoryModelComponent implements OnInit {\r\n familyHistoryModel: PatientMedicalFamilyHistoryModel;\r\n familyHistoryForm: FormGroup;\r\n masterRelationship: Array = [];\r\n masterICD: Array = [];\r\n masterGender: Array = [];\r\n masterStatus: Array = [\r\n { id: true, value: \"Active\" },\r\n { id: false, value: \"In Active\" },\r\n ];\r\n maxDate = new Date();\r\n submitted: boolean = false;\r\n clientId: number;\r\n showError: boolean = false;\r\n // Issue 53 Fix Start\r\n diagnosisAge: any = 0;\r\n Showque: boolean;\r\n // Issue 53 Fix end\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private familyHistoryDialogModalRef: MatDialogRef,\r\n private familyHistoryService: ClientsService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private translate:TranslateService,\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.familyHistoryModel = data;\r\n this.clientId = this.familyHistoryModel.patientID;\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeFormFields(this.familyHistoryModel);\r\n this.getMasterData();\r\n this.formControlValueChanged();\r\n }\r\n initializeFormFields(familyHistoryObj?: PatientMedicalFamilyHistoryModel) {\r\n familyHistoryObj =\r\n familyHistoryObj || new PatientMedicalFamilyHistoryModel();\r\n const configControls = {\r\n id: [familyHistoryObj.id],\r\n firstName: [familyHistoryObj.firstName, Validators.required],\r\n lastName: [familyHistoryObj.lastName, Validators.required],\r\n genderID: [familyHistoryObj.genderID, Validators.required],\r\n dob: [familyHistoryObj.dob, Validators.required],\r\n relationshipID: [familyHistoryObj.relationshipID, Validators.required],\r\n dateOfDeath: [familyHistoryObj.dateOfDeath],\r\n causeOfDeath: [familyHistoryObj.causeOfDeath],\r\n observation: [familyHistoryObj.observation],\r\n patientMedicalFamilyHistoryDiseases: this.formBuilder.array([]),\r\n patientID: [familyHistoryObj.patientID],\r\n };\r\n this.familyHistoryForm = this.formBuilder.group(configControls);\r\n // initialize modifier modal\r\n if (\r\n familyHistoryObj.patientMedicalFamilyHistoryDiseases &&\r\n familyHistoryObj.patientMedicalFamilyHistoryDiseases.length\r\n ) {\r\n familyHistoryObj.patientMedicalFamilyHistoryDiseases.forEach((obj) => {\r\n this.addDiseaseFields(obj);\r\n });\r\n } else {\r\n this.addDiseaseFields();\r\n }\r\n }\r\n get patientMedicalFamilyHistoryDiseases() {\r\n return this.familyHistoryForm.get(\r\n \"patientMedicalFamilyHistoryDiseases\"\r\n ) as FormArray;\r\n }\r\n\r\n Deathrealtedquestion(){\r\n this.Showque=!this.Showque;\r\n }\r\n \r\n addDiseaseFields(diseaseObj?: PatientMedicalFamilyHistoryDiseaseModel) {\r\n const diseaseControls =\r\n diseaseObj || new PatientMedicalFamilyHistoryDiseaseModel();\r\n this.patientMedicalFamilyHistoryDiseases.push(\r\n this.formBuilder.group(diseaseControls)\r\n );\r\n }\r\n removeDiseaseFields(ix: number) {\r\n this.patientMedicalFamilyHistoryDiseases.removeAt(ix);\r\n }\r\n get formControls() {\r\n return this.familyHistoryForm.controls;\r\n }\r\n onSubmit() {\r\n // Issue 53 Fix Start\r\n this.showError = false;\r\n var dob = this.familyHistoryForm.get(\"dob\").value;\r\n var result: any;\r\n if (dob != null && dob != undefined) {\r\n var diff = Math.abs(new Date() - new Date(dob));\r\n result = Math.floor(diff / (1000 * 3600 * 24 * 365));\r\n }\r\n if (result != null && dob != null && this.diagnosisAge > result) {\r\n this.showError = true;\r\n return;\r\n }\r\n // Issue 53 Fix end\r\n if (this.familyHistoryForm.invalid) {\r\n return;\r\n }\r\n this.submitted = true;\r\n let postData: any;\r\n postData = {\r\n ...this.familyHistoryForm.value,\r\n patientMedicalFamilyHistoryDiseases: (\r\n this.familyHistoryForm.value.patientMedicalFamilyHistoryDiseases || []\r\n ).map((obj) => {\r\n return {\r\n ...obj,\r\n patientID: this.clientId,\r\n medicalFamilyHistoryId: this.familyHistoryForm.value.id,\r\n };\r\n }),\r\n };\r\n this.familyHistoryService\r\n .savePatientFamilyHistoryData(postData)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.closeDialog(\"SAVE\");\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n formControlValueChanged() {\r\n const causeOfDeathControl = this.familyHistoryForm.get(\"causeOfDeath\");\r\n this.familyHistoryForm\r\n .get(\"dateOfDeath\")\r\n .valueChanges.subscribe((mode: any) => {\r\n if (mode != null) {\r\n causeOfDeathControl.setValidators([Validators.required]);\r\n } else {\r\n causeOfDeathControl.clearValidators();\r\n }\r\n causeOfDeathControl.updateValueAndValidity();\r\n });\r\n }\r\n // Issue 53 Fix Start\r\n ageValueChange(event: any) {\r\n this.diagnosisAge = event.target.value;\r\n }\r\n // Issue 53 Fix end\r\n closeDialog(action: string): void {\r\n this.familyHistoryDialogModalRef.close(action);\r\n }\r\n getMasterData() {\r\n let data = \"MASTERGENDER,MASTERICD,MASTERRELATIONSHIP\";\r\n this.familyHistoryService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n // let defaultCountryObj = (response.masterCountry || []).find((obj) => (obj.countryName || '').toUpperCase() === 'US');\r\n // this.defaultCountryId = defaultCountryObj && defaultCountryObj.id;\r\n this.masterICD = response.masterICD != null ? response.masterICD : [];\r\n this.masterRelationship =\r\n response.masterRelationship != null\r\n ? response.masterRelationship\r\n : [];\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"@media (max-width: 1199px) {\\r\\n .family-history .ml-4 {\\r\\n margin-left: 10px !important;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ history.firstName + \\\" \\\" + history.lastName }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

\\r\\n {{\\\"relationship\\\"|translate}}:\\r\\n \\r\\n {{ history.relationShipName|translate }}\\r\\n

\\r\\n

\\r\\n {{\\\"dob\\\"|translate}}:\\r\\n \\r\\n {{ history.dob | date:'dd/MM/yyyy' }} \\r\\n

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

\\r\\n {{\\\"date_of_death\\\"|translate}}:\\r\\n \\r\\n {{ history.dateOfDeath | date:'dd/MM/yyyy' }} \\r\\n

\\r\\n

\\r\\n {{\\\"cause_of_death\\\"|translate}}:\\r\\n \\r\\n {{ history.causeOfDeath }} \\r\\n

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

{{'disease'|translate}}: {{ getDisease(history) }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\"","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\nimport { DialogService } from \"../../../../../shared/layout/dialog/dialog.service\";\r\nimport { ClientsService } from \"../clients.service\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { PatientMedicalFamilyHistoryModel } from \"./family-history.model\";\r\nimport { FamilyHistoryModelComponent } from \"./family-history-model/family-history-model.component\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: \"app-family-history\",\r\n templateUrl: \"./family-history.component.html\",\r\n styleUrls: [\"./family-history.component.css\"],\r\n})\r\nexport class FamilyHistoryComponent implements OnInit {\r\n @Input() clientId: number;\r\n @Input() appointmentId: number = 0;\r\n\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n\r\n header: string = \"Family History\";\r\n patientMedicalFamilyHistoryModel: PatientMedicalFamilyHistoryModel;\r\n patientMedicalFamilyHistoryList: Array = [];\r\n addPermission: boolean;\r\n updatePermission: boolean;\r\n deletePermission: boolean;\r\n tooltipdMessage = \"Maximum 7 members are allowed\";\r\n maxAllowedLimit = 7;\r\n isHistoryShareable: boolean;\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private dialogService: DialogService,\r\n private clientsService: ClientsService,\r\n private patientMedicalFamilyHistoryDialogModal: MatDialog,\r\n private notifier: NotifierService,\r\n private commonService: CommonService,\r\n private translate:TranslateService,\r\n\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.patientMedicalFamilyHistoryModel =\r\n new PatientMedicalFamilyHistoryModel();\r\n }\r\n\r\n ngOnInit() {\r\n // console.log(this.clientId);\r\n this.commonService.loadingStateSubject.next(true);\r\n // this.activatedRoute.queryParams.subscribe((params) => {\r\n // this.clientId =\r\n // params.id == undefined\r\n // ? null\r\n // : this.commonService.encryptValue(params.id, false);\r\n // });\r\n this.getAppointmentDetails();\r\n this.getPatientMedicalFamilyHistoryList();\r\n this.getUserPermissions();\r\n this.commonService.loadingStateSubject.next(false);\r\n }\r\n getAppointmentDetails() {\r\n this.commonService.loadingStateSubject.next(true);\r\n this.clientsService\r\n .getClientProfileInfo(this.clientId)\r\n .subscribe((responce) => {\r\n this.isHistoryShareable =\r\n responce.data.patientInfo[0].isHistoryShareable;\r\n this.commonService.loadingStateSubject.next(false);\r\n });\r\n }\r\n\r\n getPatientMedicalFamilyHistoryList() {\r\n this.clientsService\r\n .getPatientMedicalFamilyHistoryList(this.clientId)\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response != null &&\r\n response.data != null &&\r\n response.data.length > 0\r\n ) {\r\n this.patientMedicalFamilyHistoryList = response.data;\r\n }\r\n });\r\n }\r\n\r\n \r\n getDisease(history:PatientMedicalFamilyHistoryModel):string{\r\n if(history.patientMedicalFamilyHistoryDiseases && history.patientMedicalFamilyHistoryDiseases.length > 0){\r\n return history.patientMedicalFamilyHistoryDiseases[0].disease;\r\n }else{\r\n return 'NA';\r\n }\r\n }\r\n\r\n openDialog(id?: number) {\r\n if (id != null && id > 0) {\r\n this.clientsService\r\n .getPatientMedicalFamilyHistoryById(id)\r\n .subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.patientMedicalFamilyHistoryModel = response.data;\r\n this.createModal(this.patientMedicalFamilyHistoryModel);\r\n }\r\n });\r\n } else {\r\n this.patientMedicalFamilyHistoryModel =\r\n new PatientMedicalFamilyHistoryModel();\r\n this.createModal(this.patientMedicalFamilyHistoryModel);\r\n }\r\n }\r\n\r\n createModal(\r\n patientMedicalFamilyHistoryModel: PatientMedicalFamilyHistoryModel\r\n ) {\r\n this.patientMedicalFamilyHistoryModel.patientID = this.clientId;\r\n let historyModal;\r\n historyModal = this.patientMedicalFamilyHistoryDialogModal.open(\r\n FamilyHistoryModelComponent,\r\n { data: patientMedicalFamilyHistoryModel }\r\n );\r\n historyModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") this.getPatientMedicalFamilyHistoryList();\r\n });\r\n }\r\n\r\n delete(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this family history?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientsService\r\n .deletePatientMedicalFamilyHistory(id)\r\n .subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n if (response.statusCode == 204) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getPatientMedicalFamilyHistoryList();\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n getUserPermissions() {\r\n // this is commented as family history is include in history page\r\n // const actionPermissions = this.clientsService.getUserScreenActionPermissions('CLIENT', 'CLIENT_FAMILYHISTORY_LIST');\r\n const actionPermissions =\r\n this.clientsService.getUserScreenActionPermissions(\r\n \"CLIENT\",\r\n \"CLIENT_HISTORY_LIST\"\r\n );\r\n const {\r\n CLIENT_FAMILYHISTORY_LIST_ADD,\r\n CLIENT_FAMILYHISTORY_LIST_UPDATE,\r\n CLIENT_FAMILYHISTORY_LIST_DELETE,\r\n } = actionPermissions;\r\n\r\n this.addPermission = CLIENT_FAMILYHISTORY_LIST_ADD || false;\r\n this.updatePermission = CLIENT_FAMILYHISTORY_LIST_UPDATE || false;\r\n this.deletePermission = CLIENT_FAMILYHISTORY_LIST_DELETE || false;\r\n }\r\n\r\n disableButton() {\r\n return (\r\n this.patientMedicalFamilyHistoryList &&\r\n this.patientMedicalFamilyHistoryList.length > this.maxAllowedLimit\r\n );\r\n }\r\n\r\n continue(event) {\r\n let clickType = \"Continue\";\r\n this.handleTabChange.next({\r\n tab: \"Social History\",\r\n id: this.clientId,\r\n clickType: clickType,\r\n });\r\n }\r\n}\r\n","export class PatientMedicalFamilyHistoryModel {\r\n id?: number = 0;\r\n patientID: number = null;\r\n firstName: string = '';\r\n lastName: string = '';\r\n genderID: number;\r\n gender: string = '';\r\n dob: Date;\r\n relationshipID: number;\r\n relationShipName: string = '';\r\n dateOfDeath: Date;\r\n causeOfDeath: string = '';\r\n observation: string = '';\r\n patientMedicalFamilyHistoryDiseases?: PatientMedicalFamilyHistoryDiseaseModel[];\r\n}\r\n\r\nexport class PatientMedicalFamilyHistoryDiseaseModel {\r\n id?: number = null;\r\n patientID?: number = null;\r\n medicalFamilyHistoryId?: number = null;\r\n //diseaseID?: number = null;\r\n diseaseStatus?: boolean;\r\n disease?:string='';\r\n ageOfDiagnosis?: number = null;\r\n}","export class GuardianModel\r\n{\r\n id: number=null;\r\n patientID: number;\r\n guardianFirstName: string=\"\";\r\n guardianLastName: string=\"\";\r\n guardianMiddleName: string=\"\";\r\n guardianHomePhone: string=\"\";\r\n guardianEmail: string=\"\";\r\n relationshipID: number=null;\r\n isGuarantor: boolean=false;\r\n isActive: boolean=false;\r\n totalRecords: number=null;\r\n relationshipName:string=''\r\n}","module.exports = \"\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_first_name'|translate}}\\r\\n \\r\\n \\r\\n {{'first_name'|translate}} '{{formControls.guardianFirstName.value}}' not valid.\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_last_name'|translate}}\\r\\n \\r\\n \\r\\n {{'last_name'|translate}} '{{formControls.guardianLastName.value}}' not valid.\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Please_enter_a_valid_email_address'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{rel.value}}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_select_relationship'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_Phone_number'|translate}}\\r\\n \\r\\n \\r\\n {{'please_enter_valid_Phone'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{'is_guarantor'|translate}}?\\r\\n \\r\\n
\\r\\n
\\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, Inject, Output, EventEmitter } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { ClientsService } from '../../clients.service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { GuardianModel } from '../../guardian.model';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: 'app-guardian-modal',\r\n templateUrl: './guardian-modal.component.html',\r\n styleUrls: ['./guardian-modal.component.css']\r\n})\r\nexport class GuardianModalComponent implements OnInit {\r\n guardianModel: GuardianModel;\r\n guardianForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = 'Add Guardian/Guarantor';\r\n masterRelationship: any[];\r\n patientId: number;\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n selectedPhoneCode: string = \"0\";\r\n phoneCountryCode: any;\r\n\r\n constructor(private formBuilder: FormBuilder, private guardianDialogModalRef: MatDialogRef,\r\n private clientService: ClientsService, private translate:TranslateService,\r\n\r\n @Inject(MAT_DIALOG_DATA) public data: any, private notifier: NotifierService) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.guardianModel = data.guardian;\r\n this.refreshGrid.subscribe(data.refreshGrid);\r\n if (this.guardianModel.id != null && this.guardianModel.id > 0)\r\n this.headerText = 'Edit Guardian/Guarantor';\r\n else\r\n this.headerText = 'Add Guardian/Guarantor';\r\n\r\n this.patientId = this.guardianModel.patientID;\r\n this.selectedPhoneCode = !this.guardianModel.guardianHomePhone ? \"0\" : this.guardianModel.guardianHomePhone.split(\" \").length == 1 ? \"0\" : this.guardianModel.guardianHomePhone.split(\" \")[0];\r\n this.selectedPhoneCode = this.selectedPhoneCode.replace(\"(\", \"\").replace(\")\", \"\");\r\n }\r\n\r\n ngOnInit() {\r\n this.guardianForm = this.formBuilder.group({\r\n id: [this.guardianModel.id],\r\n guardianFirstName: [this.guardianModel.guardianFirstName],\r\n guardianLastName: [this.guardianModel.guardianLastName],\r\n guardianMiddleName: [this.guardianModel.guardianMiddleName],\r\n guardianHomePhone: [!this.guardianModel.guardianHomePhone? \"0\" : this.guardianModel.guardianHomePhone,[Validators.required],],\r\n guardianEmail: [this.guardianModel.guardianEmail,[Validators.email]],\r\n relationshipID: [this.guardianModel.relationshipID],\r\n isGuarantor: [this.guardianModel.isGuarantor],\r\n });\r\n this.getMasterData();\r\n }\r\n get formControls() { return this.guardianForm.controls; }\r\n onSubmit(event: any) {\r\n if (!this.guardianForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.guardianModel = this.guardianForm.value;\r\n this.guardianModel.patientID = this.patientId;\r\n this.guardianModel.isActive = true;\r\n this.guardianModel.guardianHomePhone = this.selectedPhoneCode == '0' ? this.guardianModel.guardianHomePhone : this.selectedPhoneCode.trim() + \" \" + this.guardianModel.guardianHomePhone;\r\n this.clientService.createGuardian(this.guardianModel).subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message)\r\n if (clickType == \"Save\")\r\n {\r\n this.closeDialog('save');\r\n }\r\n else if (clickType == \"SaveAddMore\") {\r\n this.refreshGrid.next();\r\n this.guardianForm.reset();\r\n }\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.guardianDialogModalRef.close(action);\r\n }\r\n\r\n getMasterData() {\r\n let data = \"MASTERRELATIONSHIP\";\r\n this.clientService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterRelationship = response.masterRelationship != null ? response.masterRelationship : [];\r\n }\r\n });\r\n }\r\n\r\n phoneCodeChange($event) {\r\n this.phoneCountryCode = $event;\r\n this.selectedPhoneCode = $event;\r\n }\r\n\r\n}\r\n","module.exports = \".mat-dialog-content{\\r\\n height: 46vh !important;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{guardian.guardianFirstName+' ' +(guardian.guardianMiddleName||'')+' '+guardian.guardianLastName}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

{{'relationship'|translate}} : {{guardian.relationshipName}}

\\r\\n

{{'phone'|translate}} : {{guardian.guardianHomePhone}}

\\r\\n

{{'email'|translate}} : {{guardian.guardianEmail}}

\\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, Output, EventEmitter } from '@angular/core';\r\nimport { ClientsService } from '../clients.service';\r\nimport { GuardianModel } from '../guardian.model';\r\nimport { GuardianModalComponent } from './guardian-modal/guardian-modal.component';\r\nimport { ResponseModel } from '../../../core/modals/common-model';\r\nimport { MatDialog } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { DialogService } from '../../../../../shared/layout/dialog/dialog.service';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: 'app-guardian',\r\n templateUrl: './guardian.component.html',\r\n styleUrls: ['./guardian.component.css']\r\n})\r\nexport class GuardianComponent implements OnInit {\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n clientId: number;\r\n guardianModel: GuardianModel;\r\n submitted:boolean=false;\r\n guardianList: Array = [];\r\n constructor(private clientsService: ClientsService, private guardianDialogModal: MatDialog,\r\n private notifier: NotifierService, private dialogService: DialogService,\r\n private translate:TranslateService)\r\n {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.getGuardianList(1, 1000);\r\n }\r\n\r\n onSubmit(event: any) {\r\n let clickType = event.currentTarget.name;\r\n\r\n this.handleTabChange.next({\r\n tab: \"Address\",\r\n clickType: clickType,\r\n id:this.clientId\r\n });\r\n }\r\n\r\n onPrevious(event: any){\r\n let clickType = event.currentTarget.name;\r\n this.handleTabChange.next({\r\n tab: \"demographic_info\",\r\n clickType: clickType,\r\n id:this.clientId\r\n });\r\n }\r\n\r\n openDialog(id?: number) {\r\n if (id != null && id > 0) {\r\n this.clientsService.getGuardianById(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.guardianModel = response.data;\r\n this.createModal(this.guardianModel);\r\n }\r\n });\r\n }\r\n else {\r\n this.guardianModel = new GuardianModel();\r\n this.createModal(this.guardianModel);\r\n }\r\n }\r\n\r\n delete(id: number) {\r\n this.dialogService.confirm(\"Are you sure you want to delete client's guardian?\").subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientsService.deleteGuardian(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message);\r\n this.getGuardianList(1, 1000);\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n createModal(guardianModel: GuardianModel) {\r\n //////\r\n this.guardianModel.patientID = this.clientId;\r\n let guardianModal;\r\n guardianModal = this.guardianDialogModal.open(GuardianModalComponent, { data: { guardian: guardianModel, refreshGrid: this.refreshGrid.bind(this) } })\r\n guardianModal.afterClosed().subscribe((result: string) => {\r\n if (result == 'save')\r\n this.getGuardianList(1, 1000);\r\n\r\n });\r\n }\r\n\r\n getGuardianList(pageNumber: number, pageSize: number) {\r\n this.clientsService.getGuardianList(this.clientId, pageNumber, pageSize).subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null && response.data.length > 0) {\r\n this.guardianList = response.data;\r\n } else {\r\n this.guardianList;\r\n if (response.statusCode == 404) {\r\n this.guardianList=[]; \r\n }\r\n }\r\n }\r\n );\r\n }\r\n refreshGrid(data: any) {\r\n this.getGuardianList(1, 1000);\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\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, ComponentFactoryResolver, Input, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { PatientInsuranceModel } from '../insurance.model';\r\nimport { InsuranceModalComponent } from '../insurance/insurance-modal/insurance-modal.component';\r\nimport { format } from 'date-fns';\r\nimport { FilterModel, ResponseModel } from '../../../core/modals/common-model';\r\nimport { MatDialog } from '@angular/material';\r\nimport { DialogService } from 'src/app/shared/layout/dialog/dialog.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ClientsService } from \"../../../client-portal/clients.service\";\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { CommonService } from '../../../core/services';\r\nimport { ClientHeaderComponent } from '../client-header/client-header.component';\r\nimport { AuthorizationModalComponent } from '../authorization/authorization-modal/authorization-modal.component';\r\nimport { AuthModel } from '../authorization/authorization.model';\r\nimport { PatientAuthorizationModel } from '../../../client-portal/client-profile.model';\r\nclass AuthorizationFilterModel extends FilterModel {\r\n authType: string = null;\r\n}\r\n@Component({\r\n selector: 'app-health-plan-coverage',\r\n templateUrl: './health-plan-coverage.component.html',\r\n styleUrls: ['./health-plan-coverage.component.css']\r\n})\r\nexport class HealthPlanCoverageComponent implements OnInit {\r\n @Input() encryptedPatientId;\r\n @ViewChild(ClientHeaderComponent) child: ClientHeaderComponent;\r\n // @ViewChild(\"tabContent\", { read: ViewContainerRef })\r\n // private tabContent: ViewContainerRef;\r\n clientTabs: any;\r\n header: string = \"Health Coverage Plan\";\r\n clientId: number;\r\n selectedIndex: number = 0;\r\n dataURL: any;\r\n metaData: any;\r\n addPermission: boolean;\r\n filterModel: FilterModel;\r\n authModel: AuthModel;\r\n authorizationFilterModel: AuthorizationFilterModel;\r\n clientAthorizationListModel: PatientAuthorizationModel;\r\n authorizationColumns: Array;\r\n immunizationActionButtons: Array;\r\n role:string;\r\n isAuth:boolean;\r\n constructor(\r\n private cfr: ComponentFactoryResolver,\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService,\r\n private notifier: NotifierService,\r\n private router: Router,\r\n private clientService: ClientsService,\r\n private dialogService: DialogService,\r\n private dialogModal: MatDialog,\r\n ) {\r\n this.filterModel=new FilterModel();\r\n this.authorizationColumns = [\r\n {\r\n displayName: \"authorizations_number\",\r\n key: \"authorizationNumber\",\r\n class: \"\",\r\n width: \"20%\",\r\n },\r\n {\r\n displayName: \"title\",\r\n key: \"authorizationTitle\",\r\n class: \"\",\r\n width: \"20%\",\r\n },\r\n {\r\n displayName: \"insurance_company\",\r\n key: \"payerName\",\r\n class: \"\",\r\n width: \"20%\",\r\n },\r\n {\r\n displayName: \"start_date\",\r\n key: \"startDate\",\r\n width: \"10%\",\r\n type: \"date\",\r\n },\r\n { displayName: \"end_date\", key: \"endDate\", width: \"10%\", type: \"date\" },\r\n {\r\n displayName: \"actions\",\r\n key: \"Actions\",\r\n class: \"\",\r\n width: \"20%\",\r\n }, \r\n ];\r\n this.immunizationActionButtons = [\r\n { displayName: \"Edit\", key: \"edit\", class: \"fa fa-edit\" },\r\n // { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n { displayName: \"Delete\", key: \"delete\", class: \"fa fa-trash\" },\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.loadingStateSubject.next(true);\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n } else {\r\n this.clientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n } \r\n this.getPatientAuthorizationList();\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n \r\n this.role=user.userRoles.roleName.toLowerCase();\r\n this.isAuth=user.userRoles.roleName.toLowerCase() == \"provider\";\r\n }\r\n })\r\n this.commonService.loadingStateSubject.next(false);\r\n }\r\n onHealthPlanCoverageTableActionClick(event?:any){\r\n switch ((event.action || \"\").toUpperCase()) {\r\n case \"EDIT\":\r\n this.openAuthorizationDialog(event.data.authorizationId)\r\n break;\r\n case \"DELETE\":\r\n this.deleteAuthorizationDetails(event.data.authorizationId);\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n deleteAuthorizationDetails(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this authorization?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientService\r\n .deleteAuthorization(id)\r\n .subscribe((response: any) => {\r\n if (response.statusCode == 200 || response.statusCode == 204) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.authorizationFilterModel = new AuthorizationFilterModel();\r\n //listing of all authorization\r\n this.getPatientAuthorizationList();\r\n } else if (response.statusCode === 401) {\r\n this.notifier.notify(\"warning\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n openAuthorizationDialog(id: number) {\r\n if (id != null && id > 0) {\r\n this.clientService.getAuthorizationById(id).subscribe((response: any) => {\r\n if (\r\n response != null &&\r\n response.statusCode == 200 &&\r\n response.data != null\r\n ) {\r\n this.authModel = response.data;\r\n this.createAuthorizationModel(this.authModel);\r\n }\r\n });\r\n } else {\r\n this.authModel = new AuthModel();\r\n this.authModel.patientID = this.clientId;\r\n this.createAuthorizationModel(this.authModel);\r\n }\r\n }\r\n\r\n onPageOrSortChange(event:any){\r\n\r\n }\r\n\r\n createAuthorizationModel(authModel: AuthModel) {\r\n authModel.patientID = this.clientId;\r\n const modalPopup = this.dialogModal.open(AuthorizationModalComponent, {\r\n hasBackdrop: true,\r\n data: authModel || new AuthModel(),\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result === \"save\") {\r\n this.authorizationFilterModel = new AuthorizationFilterModel();\r\n //listing of all authorization\r\n this.getPatientAuthorizationList();\r\n }\r\n });\r\n }\r\n getPatientAuthorizationList() {\r\n this.clientService\r\n .getAllAuthorization(this.clientId, this.filterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.clientAthorizationListModel = response.data.Authorization;\r\n this.metaData=response.meta;\r\n }\r\n // console.log(response.data.Authorization);\r\n });\r\n }\r\n \r\n getUserPermissions() {\r\n const actionPermissions = this.clientService.getUserScreenActionPermissions(\r\n \"CLIENT\",\r\n \"CLIENT_VITALS_LIST\"\r\n );\r\n const {\r\n CLIENT_VITALS_LIST_ADD,\r\n CLIENT_VITALS_LIST_UPDATE,\r\n CLIENT_VITALS_LIST_DELETE,\r\n } = actionPermissions;\r\n if (!CLIENT_VITALS_LIST_UPDATE) {\r\n let spliceIndex = this.immunizationActionButtons.findIndex(\r\n (obj) => obj.key == \"edit\"\r\n );\r\n this.immunizationActionButtons.splice(spliceIndex, 1);\r\n }\r\n if (!CLIENT_VITALS_LIST_DELETE) {\r\n let spliceIndex = this.immunizationActionButtons.findIndex(\r\n (obj) => obj.key == \"delete\"\r\n );\r\n this.immunizationActionButtons.splice(spliceIndex, 1);\r\n }\r\n\r\n this.addPermission = CLIENT_VITALS_LIST_ADD || false;\r\n }\r\n \r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n searchText: string\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n }\r\n\r\n}\r\n","module.exports = \"h1 {\\r\\n font-size: 22px;\\r\\n}\\r\\n@media screen and (max-width:600px) {\\r\\n h1 {\\r\\n font-size: 18px;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n\\r\\n

{{'history'|translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Input,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { SharedService } from \"src/app/shared/shared.service\";\r\nimport { MedicalHistoryComponent } from \"../../../client-portal/history/medical-history/medical-history.component\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { ClientHeaderComponent } from \"../client-header/client-header.component\";\r\n\r\nimport { FamilyHistoryComponent } from \"../family-history/family-history.component\";\r\nimport { SocialHistoryComponent } from \"../social-history/social-history.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-history\",\r\n templateUrl: \"./history.component.html\",\r\n styleUrls: [\"./history.component.css\"],\r\n})\r\nexport class HistoryComponent implements OnInit {\r\n @Input() encryptedPatientId;\r\n @Input() appointmentId: number = 0;\r\n @ViewChild(ClientHeaderComponent) child: ClientHeaderComponent;\r\n // private header:string=\"Manage Client\";\r\n @ViewChild(\"tabContent\", { read: ViewContainerRef })\r\n tabContent: ViewContainerRef;\r\n clientTabs: any;\r\n header: string = \"History\";\r\n clientId: number;\r\n selectedIndex: number = 0;\r\n dataURL: any;\r\n constructor(\r\n private cfr: ComponentFactoryResolver,\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService,\r\n private notifier: NotifierService,\r\n private _SharedService: SharedService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.clientTabs = [\r\n this.translate.instant(\"Family History\"),\r\n this.translate.instant(\"Social History\"),\r\n this.translate.instant(\"Medical History\")];\r\n }\r\n\r\n async ngOnInit() {\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n } else {\r\n this.clientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n }\r\n\r\n // this.activatedRoute.queryParams.subscribe((params) => {\r\n // this.clientId =\r\n // params.id == undefined\r\n // ? null\r\n // : this.commonService.encryptValue(params.id, false);\r\n // });\r\n\r\n this.selectedIndex = 0;\r\n const language = localStorage.getItem('language') || 'en';\r\n debugger\r\n if (language == 'ar')\r\n this.loadChild(await this.FindEquivalentName(\"Family History\"));\r\n else\r\n this.loadChild(\"Family History\");\r\n\r\n }\r\n loadComponent(eventType: any): any {\r\n this.loadChild(eventType.tab.textLabel);\r\n }\r\n async loadChild(childName: string) {\r\n debugger\r\n this.selectedIndex = this.clientTabs.indexOf(childName);\r\n let factory: any;\r\n if (childName == await this.FindEquivalentName(\"Family History\"))\r\n factory = this.cfr.resolveComponentFactory(FamilyHistoryComponent);\r\n else if (childName == await this.FindEquivalentName(\"Social History\"))\r\n factory = this.cfr.resolveComponentFactory(SocialHistoryComponent);\r\n else if (childName == await this.FindEquivalentName(\"Medical History\"))\r\n factory = this.cfr.resolveComponentFactory(MedicalHistoryComponent);\r\n this.tabContent.clear();\r\n let comp: ComponentRef =\r\n this.tabContent.createComponent(factory);\r\n comp.instance.clientId = this.clientId;\r\n comp.instance.appointmentId = this.appointmentId;\r\n comp.instance.handleTabChange.subscribe(this.handleTabChange.bind(this));\r\n }\r\n\r\n async handleTabChange(data: any) {\r\n // this.clientId = data.id;\r\n debugger\r\n if (this.child != undefined) this.child.getClientHeaderInfo();\r\n if (data.clickType != \"Save\") {\r\n //this.loadChild(data.tab);\r\n const language = localStorage.getItem('language') || 'en';\r\n if (language == 'ar')\r\n this.loadChild(await this.FindEquivalentName(data.tab));\r\n else\r\n this.loadChild(data.tab);\r\n }\r\n }\r\n\r\n\r\n async FindEquivalentName(Name: any) {\r\n return await this._SharedService.transform(Name)\r\n }\r\n}\r\n","module.exports = \"\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

I{{'international_classification_of_diseases'|translate}}

\\r\\n
\\r\\n
\\r\\n
{{'sort_by'|translate}}
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

{{'No_International_Classification_of_Diseases_available'|translate}}

\\r\\n
\\r\\n
0\\\" class=\\\"col-sm-12\\\" style=\\\" border-radius: 0 0 10px 10px;\\r\\n background: white; box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.2);\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { format } from \"date-fns\";\r\nimport { Metadata } from \"../../../core/modals/common-model\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { EncounterService } from \"../../encounter/encounter.service\";\r\n\r\n@Component({\r\n selector: \"app-icd\",\r\n templateUrl: \"./icd.component.html\",\r\n styleUrls: [\"./icd.component.css\"],\r\n})\r\nexport class IcdComponent implements OnInit {\r\n patientDiagnosisList: any = [];\r\n metaData: Metadata;\r\n patientID: any;\r\n\r\n patientDiagnosisColumns = [\r\n {\r\n displayName: \"icd_code\",\r\n key: \"code\",\r\n },\r\n {\r\n displayName: \"diagnose_with\",\r\n key: \"diagnosis\",\r\n },\r\n {\r\n displayName: \"diagnose_date\",\r\n key: \"diagnosisDate\",\r\n type:'date'\r\n },\r\n {\r\n displayName: \"doctor_remark\",\r\n key: \"descriptions\",\r\n },\r\n ];\r\n withoutFilterList: any = [];\r\n @Input() encryptedPatientId;\r\n\r\n constructor(\r\n private encounterService: EncounterService,\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.patientID =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n\r\n this.getPatientPreviousDiagnosis();\r\n } else {\r\n this.patientID = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n this.getPatientPreviousDiagnosis();\r\n }\r\n\r\n // this.activatedRoute.queryParams.subscribe((params) => {\r\n // this.patientID =\r\n // params.id == undefined\r\n // ? null\r\n // : this.commonService.encryptValue(params.id, false);\r\n\r\n // this.getPatientPreviousDiagnosis(); //\r\n // });\r\n }\r\n\r\n getPatientPreviousDiagnosis = () => {\r\n this.encounterService\r\n .getPatientDiagnosis(this.patientID)\r\n .subscribe((res) => {\r\n res.data.map((item) => {\r\n item.diagnosisDate = format(item.diagnosisDate, \"MM-DD-YYYY\");\r\n });\r\n this.patientDiagnosisList = res.data;\r\n this.withoutFilterList = JSON.parse(JSON.stringify(res.data));\r\n });\r\n };\r\n sortHandler = (type: string) => {\r\n if (type === \"atoz\") {\r\n this.patientDiagnosisList = this.patientDiagnosisList.sort((a, b) => a.diagnosis.localeCompare(b.diagnosis));\r\n // console.log('after sorting', this.patientDiagnosisList);\r\n this.patientDiagnosisList = [...this.patientDiagnosisList];\r\n } else if (type === \"ztoa\") {\r\n this.patientDiagnosisList = this.patientDiagnosisList.sort((a, b) => b.diagnosis.localeCompare(a.diagnosis));\r\n this.patientDiagnosisList = [...this.patientDiagnosisList];\r\n } else if (type === \"oldest\") {\r\n this.patientDiagnosisList = this.patientDiagnosisList.sort((a, b) => new Date(a.diagnosisDate).getTime() - new Date(b.diagnosisDate).getTime());\r\n this.patientDiagnosisList = [...this.patientDiagnosisList];\r\n } else if (type === \"latest\") {\r\n this.patientDiagnosisList = this.patientDiagnosisList.sort((a, b) => new Date(b.diagnosisDate).getTime() - new Date(a.diagnosisDate).getTime());\r\n this.patientDiagnosisList = [...this.patientDiagnosisList];\r\n } else {\r\n this.patientDiagnosisList = this.withoutFilterList;\r\n }\r\n };\r\n\r\n}\r\n","module.exports = \".gap-5{\\r\\n gap: 10px;\\r\\n}\\r\\n::ng-deep label.mat-form-field-label {\\r\\n font-size: 16px !important;\\r\\n}\\r\\n::ng-deep .mat-checkbox-layout {\\r\\n font-size: 14px !important;\\r\\n}\"","module.exports = \"
\\r\\n

{{ headerText }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Please select administation date'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value }}\\r\\n \\r\\n \\r\\n \\r\\n {{'Please add immunization'|translate}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Please select expiry date'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ 'Minimum length is 6 characters' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value | translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{'Please select route of administration'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value | translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{'Please add immunity status'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{'rejected_immunization'|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'please_add_a_reason'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n

{{ headerText }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Please select administration date'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ doc.value }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Please select expiry date'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value }}\\r\\n \\r\\n \\r\\n \\r\\n {{'Please select route of administration'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value | translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{'Please add immunity status'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{'Rejected Immunizaiton'|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{'please_add_a_reason'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\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, Inject, Output, EventEmitter } from \"@angular/core\";\r\nimport { ImmunizationModel } from \"../immunization.model\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { ClientsService } from \"../../clients.service\";\r\nimport {\r\n MatDatepickerInputEvent,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n} from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ActivatedRoute, ParamMap } from \"@angular/router\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-immunization-modal\",\r\n templateUrl: \"./immunization-modal.component.html\",\r\n styleUrls: [\"./immunization-modal.component.css\"],\r\n})\r\nexport class ImmunizationModalComponent implements OnInit {\r\n maxDate = new Date();\r\n clientId: number;\r\n IsEditForm: boolean;\r\n patientId: number;\r\n immunizationModel: ImmunizationModel;\r\n immunizationForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = this.translate.instant('Add Immunization');\r\n immunizationEditForm: FormGroup;\r\n immunizationAddForm: FormGroup;\r\n //master models\r\n masterStaff: any[];\r\n masterVFC: any[];\r\n masterImmunization: any[];\r\n masterManufacture: any[];\r\n masterAdministrationSite: any[];\r\n masterRouteOfAdministration: any[];\r\n masterImmunityStatus: any[];\r\n masterRejectionReason: any[];\r\n immunizationIdForEdit: number;\r\n filterstring: string = \"\";\r\n filtermasterImmunizationTypes;\r\n filterStringId;\r\n filtervfceligibility: string = \"\";\r\n filterMasterVfcEligibilityTypes = [];\r\n filterVfcId: any;\r\n filterManufacture;\r\n filterManufactureId: number = null;\r\n filterMasterManufactures = [];\r\n filterRouteOfAdminisValue: string;\r\n filterRouteOfAdminstartionId: number;\r\n filterRouteOfAdministrationTypes = [];\r\n filterImmunityStatusValue: string;\r\n filterImmunityStatus = [];\r\n filterImmunityStatusId: number;\r\n filterAdministrationSiteVal: string;\r\n filterAdministrationSiteId: number;\r\n filterAdminSiteTypes = [];\r\n filterRejectionReasons = [];\r\n filterRejectionReason: string;\r\n filterRejectionId: number;\r\n appointmentId: number;\r\n\r\n //////////////////\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n // events: string[] = [];\r\n myHolidayDates = [\r\n // new Date(\"9/1/2021\"),\r\n // new Date(\"9/20/2021\"),\r\n // new Date(\"9/17/2021\"),\r\n // new Date(\"9/25/2021\"),\r\n // new Date(\"9/4/2021\"),\r\n // new Date(\"9/7/2021\"),\r\n // new Date(\"9/12/2021\"),\r\n // new Date(\"9/11/2021\"),\r\n // new Date(\"9/23/2021\"),\r\n // new Date(\"9/22/2021\")\r\n ];\r\n\r\n myHolidayFilter = (d: Date): boolean => {\r\n const time = d.getTime();\r\n return !this.myHolidayDates.find((x) => x.getTime() == time);\r\n };\r\n\r\n //Construtor\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private immunizationDialogModalRef: MatDialogRef,\r\n private clientService: ClientsService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n //assign data\r\n\r\n // this.refreshGrid.subscribe(data.refreshGrid);\r\n // this.patientId = this.immunizationModel.patientID;\r\n // //update header text\r\n // if (this.immunizationModel.id != null && this.immunizationModel.id > 0)\r\n // this.headerText = 'Edit Immunization';\r\n // else\r\n // this.headerText = 'Add Immunization';\r\n }\r\n\r\n //inital loading\r\n ngOnInit() {\r\n //page load calling master datarer for dropdowns\r\n\r\n\r\n this.immunizationModel = this.data;\r\n\r\n // console.log(\"ImmunizationModel\", this.data);\r\n if (this.data.immunization.id <= 0) {\r\n // console.log(\"AddForm Hit\");\r\n this.IsEditForm = false;\r\n this.headerText = this.translate.instant('Add Immunization');\r\n this.patientId = this.data.immunization.patientID;\r\n\r\n this.appointmentId = this.data.immunization.appointmentId;\r\n } else {\r\n // console.log(\"EditForm Hit\");\r\n this.IsEditForm = true;\r\n this.headerText = this.translate.instant('Edit Immunization');\r\n this.immunizationModel = this.data.immunization;\r\n this.immunizationIdForEdit = this.data.immunization.id;\r\n this.patientId = this.data.immunization.patientID;\r\n // console.log(this.immunizationModel);\r\n }\r\n\r\n this.masterImmunization = [];\r\n this.masterVFC = [];\r\n this.masterManufacture = [];\r\n this.masterRouteOfAdministration = [];\r\n this.filtermasterImmunizationTypes = [];\r\n this.masterImmunityStatus = [];\r\n this.masterAdministrationSite = [];\r\n this.masterRejectionReason = [];\r\n \r\n this.immunizationAddForm = this.formBuilder.group({\r\n administeredBy: [],\r\n administeredDate: [],\r\n administrationSiteID: [],\r\n administrationSite: [],\r\n amountAdministered: [],\r\n expireDate: [],\r\n immunityStatusID: [],\r\n immunityStatus: [],\r\n immunization: [],\r\n manufactureID: [],\r\n manufacturerName: [],\r\n orderBy: [],\r\n rejectedImmunization: [],\r\n rejectionReasonID: [],\r\n rejectionReason: [],\r\n rejectionReasonNote: [],\r\n routeOfAdministrationID: [],\r\n routeOfAdministration: [],\r\n vaccineLotNumber: [],\r\n vfcid: [],\r\n });\r\n\r\n this.immunizationEditForm = this.formBuilder.group({\r\n administeredBy: [],\r\n administeredDate: [],\r\n administrationSiteID: [],\r\n administrationSite: [],\r\n amountAdministered: [],\r\n expireDate: [],\r\n immunityStatusID: [],\r\n immunityStatus: [],\r\n immunization: [],\r\n manufactureID: [],\r\n manufacturerName: [],\r\n orderBy: [],\r\n rejectedImmunization: [],\r\n rejectionReasonID: [],\r\n rejectionReason: [],\r\n rejectionReasonNote: [],\r\n routeOfAdministrationID: [],\r\n routeOfAdministration: [],\r\n vaccineLotNumber: [],\r\n vfcid: [],\r\n });\r\n this.getMasterData();\r\n }\r\n\r\n //get the form controls on html page\r\n get addFormControls() {\r\n return this.immunizationAddForm.controls;\r\n }\r\n\r\n get editFormControls() {\r\n return this.immunizationEditForm.controls;\r\n }\r\n\r\n setEditFrom() {\r\n // console.log(\"edit form :\", this.immunizationModel);\r\n // var mName = this.masterManufacture.find(x => x.id == this.immunizationModel.manufactureID);\r\n\r\n this.immunizationEditForm.patchValue({\r\n administeredBy: this.immunizationModel.administeredBy,\r\n administeredDate: this.immunizationModel.administeredDate,\r\n administrationSiteID: this.immunizationModel.administrationSiteID,\r\n administrationSite: this.immunizationModel.administrationSite,\r\n amountAdministered: this.immunizationModel.amountAdministered,\r\n expireDate: this.immunizationModel.expireDate,\r\n immunityStatusID: this.immunizationModel.immunityStatusID,\r\n immunityStatus: this.immunizationModel.conceptName,\r\n immunization: this.immunizationModel.immunization,\r\n manufactureID: this.immunizationModel.manufactureID,\r\n manufacturerName: this.immunizationModel.manufacturerName,\r\n orderBy: this.immunizationModel.orderBy,\r\n rejectedImmunization: this.immunizationModel.rejectedImmunization,\r\n rejectionReasonID: this.immunizationModel.rejectionReasonID,\r\n rejectionReason: this.immunizationModel.rejectionReason,\r\n rejectionReasonNote: this.immunizationModel.rejectionReasonNote,\r\n routeOfAdministrationID: this.immunizationModel.routeOfAdministrationID,\r\n routeOfAdministration: this.immunizationModel.routeOfAdministration,\r\n vaccineLotNumber: this.immunizationModel.vaccineLotNumber,\r\n vfcid: this.immunizationModel.vfcid,\r\n });\r\n // console.log(\"routeOfAdministrationID :\", this.immunizationEditForm.value.routeOfAdministrationID);\r\n // console.log(\"edit immunization model:\", this.immunizationEditForm.value)\r\n this.filterstring = this.immunizationModel.immunization;\r\n this.filterStringId = this.immunizationModel.immunizationId;\r\n this.filtervfceligibility = this.immunizationModel.vfcid;\r\n this.filterVfcId = this.immunizationModel.vfcEligibilityId;\r\n this.filterManufacture = this.immunizationModel.manufacturerName;\r\n this.filterManufactureId = this.immunizationModel.manufactureID;\r\n this.filterRouteOfAdminisValue =\r\n this.immunizationModel.routeOfAdministration;\r\n this.filterRouteOfAdminstartionId =\r\n this.immunizationModel.routeOfAdministrationID;\r\n this.filterImmunityStatusValue = this.immunizationModel.conceptName;\r\n this.filterImmunityStatusId = this.immunizationModel.immunityStatusID;\r\n this.filterAdministrationSiteId =\r\n this.immunizationModel.administrationSiteID;\r\n this.filterAdministrationSiteVal =\r\n this.immunizationModel.administrationSite;\r\n this.filterRejectionReason = this.immunizationModel.rejectionReason;\r\n this.filterRejectionId = this.immunizationModel.rejectionReasonID;\r\n // console.log(this.immunizationEditForm);\r\n }\r\n //submit for create update of immunization\r\n onAddSubmit(event: any) {\r\n if (!this.immunizationAddForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.immunizationModel = this.immunizationAddForm.value;\r\n this.immunizationModel.manufacturerName = this.filterManufacture;\r\n this.immunizationModel.rejectionReason = this.filterRejectionReason;\r\n this.immunizationModel.administrationSite = this.filterAdministrationSiteVal\r\n\r\n // console.log(this.immunizationModel, \"before Immunization\");\r\n this.immunizationModel.patientID = this.patientId;\r\n this.immunizationModel.appointmentId = this.appointmentId;\r\n // this.immunizationModel.immunizationId =\r\n // this.filterStringId == null || this.filterStringId == undefined\r\n // ? 0\r\n // : this.filterStringId;\r\n // this.immunizationModel.vfcEligibilityId =\r\n // this.filterVfcId == null || this.filterVfcId == undefined\r\n // ? 0\r\n // : this.filterVfcId;\r\n // this.immunizationModel.manufactureID =\r\n // this.filterManufactureId == null ||\r\n // this.filterManufactureId == undefined\r\n // ? 0\r\n // : this.filterManufactureId;\r\n // this.immunizationModel.routeOfAdministrationID =\r\n // this.filterRouteOfAdminstartionId == null ||\r\n // this.filterRouteOfAdminstartionId == undefined\r\n // ? 0\r\n // : this.filterRouteOfAdminstartionId;\r\n // this.immunizationModel.immunityStatusID =\r\n // this.filterImmunityStatusId == null ||\r\n // this.filterImmunityStatusId == undefined\r\n // ? 0\r\n // : this.filterImmunityStatusId;\r\n // this.immunizationModel.administrationSiteID =\r\n // this.filterAdministrationSiteId == null ||\r\n // this.filterAdministrationSiteId == undefined\r\n // ? 0\r\n // : this.filterAdministrationSiteId;\r\n // this.immunizationModel.rejectionReasonID =\r\n // this.filterRejectionId == null || this.filterRejectionId == undefined\r\n // ? 0\r\n // : this.filterRejectionId;\r\n\r\n // console.log(this.immunizationModel, \"Immunization\");\r\n this.clientService\r\n .createImmunization(this.immunizationModel)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n if (clickType == \"Save\") this.closeDialog(\"save\");\r\n else if (clickType == \"SaveAddMore\") {\r\n this.refreshGrid.next();\r\n this.immunizationAddForm.reset();\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n onEditSubmit(event: any) {\r\n if (!this.immunizationEditForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.immunizationModel = this.immunizationEditForm.value;\r\n this.immunizationModel.patientID = this.patientId;\r\n this.immunizationModel.id = this.immunizationIdForEdit;\r\n this.immunizationModel.manufacturerName = this.filterManufacture;\r\n this.immunizationModel.rejectionReason = this.filterRejectionReason;\r\n this.immunizationModel.administrationSite = this.filterAdministrationSiteVal\r\n // if (this.masterImmunization.findIndex((d) =>d.value.toLowerCase() ==this.immunizationModel.immunization.toLowerCase()) == -1) {\r\n // this.filterStringId = 0;\r\n // }\r\n// console.log(\"OnEditSubmit\",this.immunizationModel )\r\n if (\r\n this.immunizationModel.immunization && this.immunizationModel.immunization && \r\n this.masterImmunization.findIndex(\r\n (d) =>\r\n d.value &&\r\n d.value.toLowerCase() ===\r\n this.immunizationModel.immunization.toLowerCase()\r\n ) === -1\r\n ) {\r\n this.filterStringId = 0;\r\n }\r\n this.immunizationModel.immunizationId =\r\n this.filterStringId != null || this.filterStringId != undefined\r\n ? this.filterStringId\r\n : 0;\r\n // if (this.masterVFC.findIndex((x) =>x.value.toLowerCase() ==this.immunizationModel.vfcid.toLocaleLowerCase()) == -1) {\r\n // this.filterVfcId = 0;\r\n // }\r\n\r\n if (\r\n this.immunizationModel.vfcid && this.immunizationModel.vfcid && \r\n this.masterVFC.findIndex(\r\n (x) =>\r\n x.value &&\r\n x.value.toLowerCase() ===\r\n this.immunizationModel.vfcid.toLocaleLowerCase()\r\n ) === -1\r\n ) {\r\n this.filterVfcId = null;\r\n }\r\n this.immunizationModel.vfcEligibilityId =\r\n this.filterVfcId == null || this.filterVfcId == undefined\r\n ? 0\r\n : this.filterVfcId;\r\n // if (\r\n // this.masterManufacture.findIndex(\r\n // (x) =>\r\n // x.value.toLowerCase() ==\r\n // this.immunizationModel.manufacturerName.toLowerCase()\r\n // ) == -1\r\n // ) {\r\n // this.filterManufactureId = 0;\r\n // }\r\n\r\n if (\r\n this.immunizationModel.manufacturerName &&\r\n this.masterManufacture.findIndex(\r\n (x) =>\r\n x.value && this.immunizationModel.manufacturerName &&\r\n x.value.toLowerCase() ===\r\n this.immunizationModel.manufacturerName.toLowerCase()\r\n ) === -1\r\n ) {\r\n this.filterManufactureId = 0;\r\n }\r\n this.immunizationModel.manufactureID =\r\n this.filterManufactureId == null ||\r\n this.filterManufactureId == undefined\r\n ? 0\r\n : this.filterManufactureId;\r\n if (\r\n this.masterRouteOfAdministration.findIndex(\r\n (x) =>\r\n x.value && this.immunizationModel.routeOfAdministration &&\r\n x.value.toLowerCase() ==\r\n this.immunizationModel.routeOfAdministration.toLowerCase()\r\n ) == -1\r\n ) {\r\n this.filterRouteOfAdminstartionId = 0;\r\n }\r\n this.immunizationModel.routeOfAdministrationID =\r\n this.filterRouteOfAdminstartionId == null ||\r\n this.filterRouteOfAdminstartionId == undefined\r\n ? 0\r\n : this.filterRouteOfAdminstartionId;\r\n if (\r\n this.masterImmunityStatus.findIndex(\r\n (x) =>\r\n x.value && this.immunizationModel.immunityStatus &&\r\n x.value.toLowerCase() ==\r\n this.immunizationModel.immunityStatus.toLowerCase()\r\n ) == -1\r\n ) {\r\n this.filterImmunityStatusId = 0;\r\n }\r\n this.immunizationModel.immunityStatusID =\r\n this.filterImmunityStatusId == null ||\r\n this.filterImmunityStatusId == undefined\r\n ? 0\r\n : this.filterImmunityStatusId;\r\n if (\r\n this.masterAdministrationSite.findIndex(\r\n (x) =>\r\n x.value &&this.immunizationModel.administrationSite &&\r\n x.value.toLowerCase() ==\r\n this.immunizationModel.administrationSite.toLowerCase()\r\n ) == -1\r\n ) {\r\n this.filterAdministrationSiteId = 0;\r\n }\r\n this.immunizationModel.administrationSiteID =\r\n this.filterAdministrationSiteId == undefined ||\r\n this.filterAdministrationSiteId == null\r\n ? 0\r\n : this.filterAdministrationSiteId;\r\n if (\r\n this.masterRejectionReason.findIndex(\r\n (x) =>\r\n x.value && this.immunizationModel.rejectionReason &&\r\n x.value.toLowerCase() ==\r\n this.immunizationModel.rejectionReason.toLowerCase()\r\n ) == -1\r\n ) {\r\n this.filterRejectionId = 0;\r\n }\r\n this.immunizationModel.rejectionReasonID =\r\n this.filterRejectionId == null || this.filterRejectionId == undefined\r\n ? 0\r\n : this.filterRejectionId;\r\n this.clientService\r\n .createImmunization(this.immunizationModel)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n if (clickType == \"Save\") this.closeDialog(\"save\");\r\n else if (clickType == \"SaveAddMore\") {\r\n this.refreshGrid.next();\r\n this.immunizationEditForm.reset();\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n //call master data api\r\n getMasterData() {\r\n // console.log(\"running\");\r\n let data =\r\n \"MASTERSTAFF,MASTERVFC,MASTERIMMUNIZATION,MASTERMANUFACTURE,MASTERADMINISTRATIONSITE,MASTERROUTEOFADMINISTRATION,MASTERIMMUNITYSTATUS,MASTERREJECTIONREASON\";\r\n this.clientService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterStaff = response.staffs != null ? response.staffs : [];\r\n this.masterVFC = response.masterVFC != null ? response.masterVFC : [];\r\n this.masterRouteOfAdministration =\r\n response.masterRouteOfAdministration != null\r\n ? response.masterRouteOfAdministration\r\n : [];\r\n\r\n this.filterRouteOfAdministrationTypes = response.masterRouteOfAdministration != null\r\n ? response.masterRouteOfAdministration\r\n : [];\r\n\r\n this.masterRejectionReason =\r\n response.masterRejectionReason != null\r\n ? response.masterRejectionReason\r\n : [];\r\n\r\n this.masterManufacture =\r\n response.masterManufacture != null ? response.masterManufacture : [];\r\n this.masterImmunization =\r\n response.masterImmunization != null\r\n ? response.masterImmunization\r\n : [];\r\n\r\n\r\n this.masterImmunityStatus =\r\n response.masterImmunityStatus != null\r\n ? response.masterImmunityStatus\r\n : [];\r\n\r\n this.filterImmunityStatus = response.masterImmunityStatus != null\r\n ? response.masterImmunityStatus\r\n : [];\r\n // console.log(\"FilterImmunityStatus: \", this.filterImmunityStatus)\r\n\r\n\r\n this.masterAdministrationSite =\r\n response.masterAdministrationSite != null\r\n ? response.masterAdministrationSite\r\n : [];\r\n\r\n this.masterAdministrationSite =\r\n response.masterAdministrationSite != null\r\n ? response.masterAdministrationSite\r\n : [];\r\n\r\n if (this.immunizationModel != null) {\r\n this.setEditFrom();\r\n }\r\n }\r\n });\r\n }\r\n // onSelectChange(data, type) {\r\n // if (type == \"immunization\") {\r\n // this.filterstring = data.vaccineName;\r\n // this.filterStringId = data.id;\r\n // } else if (type == \"vfceligibility\") {\r\n // this.filtervfceligibility = data.value;\r\n // this.filterVfcId = data.id;\r\n // } else if (type == \"manufacture\") {\r\n // this.filterManufactureId = data.id;\r\n // this.addFormControls.manufactureID = data.id;\r\n // this.filterManufacture = data.value;\r\n \r\n // } else if (type == \"routeofAdministration\") {\r\n // this.filterRouteOfAdminisValue = data.value;\r\n // this.filterRouteOfAdminstartionId = data.id; \r\n // }\r\n // else if (type == \"immunityStatus\") {\r\n // this.filterImmunityStatusId = data.id;\r\n // this.filterImmunityStatusValue = data.value;\r\n // this.addFormControls.immunityStatusID = data.id;\r\n // } else if (type == \"adminSite\") {\r\n // this.filterAdministrationSiteVal = data.val;\r\n // this.filterAdministrationSiteId = data.id;\r\n // } else if (type == \"reason\") {\r\n // this.filterRejectionId = data.id;\r\n // this.filterRejectionReason = data.val;\r\n // this.addFormControls.rejectionReasonID = data.id;\r\n // this.addFormControls.rejectionReason = data.val;\r\n // }\r\n // }\r\n\r\n\r\n onSelectChange(data, type){\r\n if (type == \"immunization\") {\r\n this.filterstring = data.value;\r\n this.filterStringId = data.id;\r\n } else if (type == \"vfceligibility\") {\r\n // this.filtervfceligibility = data.value;\r\n this.filterVfcId = data.value;\r\n } else if (type == \"manufacture\") {\r\n this.filterManufactureId = data.id;\r\n // this.addFormControls.manufactureID = data;\r\n this.filterManufacture = data.value;\r\n \r\n } else if (type == \"routeofAdministration\") {\r\n // this.filterRouteOfAdminisValue = data.value;\r\n this.filterRouteOfAdminstartionId = data.value; \r\n }\r\n else if (type == \"immunityStatus\") {\r\n this.filterImmunityStatusId = data.value;\r\n // this.filterImmunityStatusValue = data.value;\r\n this.addFormControls.immunityStatusID = data.value;\r\n } else if (type == \"adminSite\") {\r\n this.filterAdministrationSiteVal = data.value;\r\n //this.filterAdministrationSiteId = data;\r\n } else if (type == \"reason\") {\r\n this.filterRejectionId = data.id;\r\n this.filterRejectionReason = data.value;\r\n this.addFormControls.rejectionReasonID = data.id;\r\n this.addFormControls.rejectionReason = data.value;\r\n }\r\n\r\n }\r\n rejectionReasonHandler = (e) => {\r\n if (e !== \"\" && e != undefined) {\r\n this.filterRejectionReasons = this.masterRejectionReason.filter(\r\n (doc) => doc.value && doc.value.toLowerCase().indexOf(e) != -1\r\n );\r\n } else {\r\n this.filterRejectionReasons = this.masterRejectionReason;\r\n }\r\n };\r\n immunizationTypeHandler = (e) => {\r\n if (e !== \"\" && e != undefined) {\r\n this.filtermasterImmunizationTypes = this.masterImmunization.filter(\r\n (doc) => doc.value && doc.value.toLowerCase().indexOf(e) != -1\r\n );\r\n } else {\r\n this.filtermasterImmunizationTypes = this.masterImmunization;\r\n }\r\n };\r\n\r\n vfcEligibilityTypeHandler = (e) => {\r\n if (e !== \"\" && e != undefined) {\r\n this.filterMasterVfcEligibilityTypes = this.masterVFC.filter(\r\n (doc) => doc.value && doc.value.toLowerCase().indexOf(e) != -1\r\n );\r\n } else {\r\n this.filterMasterVfcEligibilityTypes = this.masterVFC;\r\n }\r\n };\r\n\r\n manufactureTypeHandler = (e) => {\r\n if (e !== \"\" && e != undefined) {\r\n this.filterMasterManufactures = this.masterManufacture.filter(\r\n (doc) => doc.value && doc.value.toLowerCase().indexOf(e) != -1\r\n );\r\n } else {\r\n this.filterMasterManufactures = this.masterManufacture;\r\n }\r\n };\r\n routeOfAdminTypeHandler = (e) => {\r\n if (e !== \"\" && e != undefined) {\r\n this.filterRouteOfAdministrationTypes =\r\n this.masterRouteOfAdministration.filter(\r\n (doc) => doc.value && doc.value.toLowerCase().indexOf(e) != -1\r\n );\r\n } else {\r\n this.filterRouteOfAdministrationTypes = this.masterRouteOfAdministration;\r\n }\r\n };\r\n immunityStatusTypeHandler = (e) => {\r\n if (e !== \"\" && e != undefined) {\r\n this.filterImmunityStatus = this.masterImmunityStatus.filter(\r\n (doc) => doc.value && doc.value.toLowerCase().indexOf(e) != -1\r\n );\r\n } else {\r\n this.filterImmunityStatus = this.masterImmunityStatus;\r\n }\r\n };\r\n\r\n administrationSiteTypeHandler = (e) => {\r\n if (e !== \"\" && e != undefined) {\r\n this.filterAdminSiteTypes = this.masterAdministrationSite.filter(\r\n (doc) => doc.value && doc.value.toLowerCase().indexOf(e) != -1\r\n );\r\n } else {\r\n this.filterAdminSiteTypes = this.masterAdministrationSite;\r\n }\r\n };\r\n\r\n //close popup\r\n closeDialog(action: string): void {\r\n this.immunizationDialogModalRef.close(action);\r\n }\r\n\r\n dateFilter = (d: Date) => {\r\n //////\r\n var administeredDate = new Date(\r\n this.immunizationAddForm.controls[\"administeredDate\"].value\r\n )\r\n .toLocaleDateString()\r\n .split(\"/\");\r\n const tt = [];\r\n tt.push(parseInt(administeredDate[1]));\r\n return tt.indexOf(+d.getDate()) == -1;\r\n };\r\n dateEditFilter = (d: Date) => {\r\n //////\r\n var administeredDate = new Date(\r\n this.immunizationEditForm.controls[\"administeredDate\"].value\r\n )\r\n .toLocaleDateString()\r\n .split(\"/\");\r\n const tt = [];\r\n tt.push(parseInt(administeredDate[1]));\r\n return tt.indexOf(+d.getDate()) == -1;\r\n };\r\n}\r\n","module.exports = \".immunize {\\r\\n color: #7a7a7a;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n padding: 0 15px;\\r\\n}\\r\\n.immunize span {\\r\\n color: rgba(0,0,0,.8);\\r\\n font-weight: 500;\\r\\n}\\r\\n.rejectedmsg span {\\r\\n display: block;\\r\\n font-size: 20px;\\r\\n text-align: center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.rejectedmsg>p {\\r\\n margin: 0;\\r\\n text-align: center;\\r\\n color: #000;\\r\\n}\\r\\n.rejectedmsg {\\r\\n background: hsla(0,0%,100%,.85) none repeat scroll 0 0;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n margin: 0px auto;\\r\\n padding: 15px;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n width: 94%;\\r\\n top: 0px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n.cardactbtn {\\r\\n position: absolute;\\r\\n right: 6px;\\r\\n top: 14px;\\r\\n z-index: 1;\\r\\n}\\r\\n.custom-card-header .mat-card-actions {\\r\\n z-index: 1;\\r\\n}\\r\\n.search-button {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border: none;\\r\\n background-image: url(\\\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220%2C0%2C256%2C256%22 width%3D%2230px%22 height%3D%2230px%22%3E%3Cg fill-opacity%3D%220.23922%22 fill%3D%22%23000000%22 fill-rule%3D%22nonzero%22 stroke%3D%22none%22 stroke-width%3D%221%22 stroke-linecap%3D%22butt%22 stroke-linejoin%3D%22miter%22 stroke-miterlimit%3D%2210%22 stroke-dasharray%3D%22%22 stroke-dashoffset%3D%220%22 font-family%3D%22none%22 font-weight%3D%22none%22 font-size%3D%22none%22 text-anchor%3D%22none%22 style%3D%22mix-blend-mode%3A normal%22%3E%3Cg transform%3D%22scale(8.53333%2C8.53333)%22%3E%3Cpath d%3D%22M13%2C3c-5.511%2C0 -10%2C4.489 -10%2C10c0%2C5.511 4.489%2C10 10%2C10c2.39651%2C0 4.59738%2C-0.85101 6.32227%2C-2.26367l5.9707%2C5.9707c0.25082%2C0.26124 0.62327%2C0.36648 0.97371%2C0.27512c0.35044%2C-0.09136 0.62411%2C-0.36503 0.71547%2C-0.71547c0.09136%2C-0.35044 -0.01388%2C-0.72289 -0.27512%2C-0.97371l-5.9707%2C-5.9707c1.41266%2C-1.72488 2.26367%2C-3.92576 2.26367%2C-6.32227c0%2C-5.511 -4.489%2C-10 -10%2C-10zM13%2C5c4.43012%2C0 8%2C3.56988 8%2C8c0%2C4.43012 -3.56988%2C8 -8%2C8c-4.43012%2C0 -8%2C-3.56988 -8%2C-8c0%2C-4.43012 3.56988%2C-8 8%2C-8z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-position: center;\\r\\n background-size: 20px 20px;\\r\\n border-radius: 0 4px 4px 0;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n right: 5px;\\r\\n color: grey;\\r\\n top: 5px;\\r\\n}\\r\\n.pos button{\\r\\n background-color: transparent;\\r\\n}\\r\\n@media screen and (max-width:768px) {\\r\\n .gap-5 {\\r\\n gap: 10px;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ immunization.vaccineName }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{\\\"amount\\\"|translate}} :\\r\\n {{\\r\\n immunization.amountAdministered > 0\\r\\n ? immunization.amountAdministered\\r\\n : \\\"0\\\"\\r\\n }}\\r\\n ml\\r\\n

\\r\\n

\\r\\n {{\\\"administered_date\\\"|translate}} :\\r\\n {{\\r\\n immunization.administeredDate | date : \\\"dd-MM-yyyy\\\"\\r\\n }}\\r\\n

\\r\\n

\\r\\n {{\\\"route_of_administration\\\"|translate}} :\\r\\n {{ immunization.routeOfAdministration }}\\r\\n

\\r\\n

\\r\\n Administration Site :\\r\\n {{ immunization.administrationSite }}\\r\\n

\\r\\n

\\r\\n {{\\\"immunity_status\\\"|translate}} : {{ immunization.conceptName }}\\r\\n

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

\\r\\n {{'Rejected'|translate}} {{'Reason'|translate}}\\r\\n {{ immunization.rejectionReason }}\\r\\n {{ immunization.rejectionReasonNote }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { ImmunizationModel } from \"./immunization.model\";\r\nimport { ClientsService } from \"../clients.service\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { MatDatepickerInputEvent, MatDialog } from \"@angular/material\";\r\nimport { ImmunizationModalComponent } from \"./immunization-modal/immunization-modal.component\";\r\nimport { DialogService } from \"../../../../../shared/layout/dialog/dialog.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { FilterModel } from \"../medication/medication.model\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: \"app-immunization\",\r\n templateUrl: \"./immunization.component.html\",\r\n styleUrls: [\"./immunization.component.css\"],\r\n})\r\nexport class ImmunizationComponent implements OnInit {\r\n @Input() encryptedPatientId;\r\n @Input() appointmentId: number = 0;\r\n clientId: number;\r\n immunizationModel: ImmunizationModel;\r\n immunizationList: Array = [];\r\n addPermission: boolean;\r\n updatePermission: boolean;\r\n deletePermission: boolean;\r\n header: string = this.translate.instant(\"Client Immunization\");\r\n tooltipdMessage = \"Maximum 7 immunization are allowed\";\r\n maxAllowedLimit = 7;\r\n testFormGroup: FormGroup;\r\n filterModel: any;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private clientsService: ClientsService,\r\n private immunizationService: DialogService,\r\n private immunizationDialogModal: MatDialog,\r\n private notifier: NotifierService,\r\n private commonService: CommonService,\r\n private datePipe: DatePipe,\r\n private formBuilder: FormBuilder,\r\n private translate: TranslateService,\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n //inital loading\r\n ngOnInit() {\r\n this.filterModel = new FilterModel();\r\n this.filterModel.pageSize = 100000;\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n } else {\r\n this.clientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n }\r\n\r\n // this.activatedRoute.queryParams.subscribe((params) => {\r\n // this.clientId =\r\n // params.id == undefined\r\n // ? null\r\n // : this.commonService.encryptValue(params.id, false);\r\n // });\r\n\r\n //on initial page load call listing of immunization\r\n this.testFormGroup = this.formBuilder.group({\r\n searchKey: \"\",\r\n rangeStartDate: \"\",\r\n rangeEndDate: \"\"\r\n })\r\n this.setIntialValues();\r\n this.getImmunizationList();\r\n this.getUserPermissions();\r\n }\r\n\r\n get f() {\r\n return this.testFormGroup.controls;\r\n }\r\n setIntialValues() {\r\n var date = new Date();\r\n // this.f.rangeStartDate.setValue(\r\n // new Date(date.getFullYear(), date.getMonth() - 1, 1)\r\n // );\r\n // this.f.rangeEndDate.setValue(\r\n // new Date(date.getFullYear(), date.getMonth(), 0)\r\n // );\r\n this.f.searchKey.setValue(\"\");\r\n this.f.rangeStartDate.setValue(\"\");\r\n this.f.rangeEndDate.setValue(\"\");\r\n }\r\n applyStartDateFilter(event: MatDatepickerInputEvent) {\r\n this.f.rangeStartDate.setValue(new Date(event.value));\r\n this.getImmunizationList();\r\n }\r\n applyEndDateFilter(event: MatDatepickerInputEvent) {\r\n this.f.rangeEndDate.setValue(new Date(event.value));\r\n this.getImmunizationList();\r\n }\r\n\r\n //listing of immunization\r\n getImmunizationList() {\r\n let fromDate = this.f.rangeStartDate.value != null && this.f.rangeStartDate.value != \"\"\r\n ? this.datePipe.transform(new Date(this.f.rangeStartDate.value), \"MM/dd/yyyy\")\r\n : \"\";\r\n let toDate = this.f.rangeEndDate.value != null && this.f.rangeEndDate.value != \"\"\r\n ? this.datePipe.transform(new Date(this.f.rangeEndDate.value), \"MM/dd/yyyy\")\r\n : \"\";\r\n let searchKey = this.f.searchKey.value == null ? '' : this.f.searchKey.value;\r\n\r\n this.clientsService\r\n .getImmunizationList(this.filterModel, this.clientId, this.appointmentId, searchKey, fromDate, toDate)\r\n .subscribe((response: ResponseModel) => {\r\n ////\r\n if (\r\n response != null &&\r\n response.data != null &&\r\n response.data.length > 0\r\n ) {\r\n this.immunizationList = response.data;\r\n } else {\r\n this.immunizationList;\r\n }\r\n });\r\n }\r\n\r\n //open popup and map model on popup\r\n openDialog(data?: any) {\r\n // console.log(data);\r\n\r\n if (data != null) {\r\n // this.clientsService.getImmunizationById(id).subscribe((response: any) => {\r\n // if (response != null && response.data != null) {\r\n // this.immunizationModel = response.data;\r\n // this.createModal(this.immunizationModel);\r\n // }\r\n // });\r\n this.createModal(data);\r\n } else {\r\n this.immunizationModel = new ImmunizationModel();\r\n this.immunizationModel.id = 0;\r\n this.immunizationModel.patientID = this.clientId;\r\n this.immunizationModel.appointmentId = this.appointmentId\r\n this.createModal(this.immunizationModel);\r\n }\r\n }\r\n\r\n //create modal popup of immunization for create or update\r\n createModal(immunizatioModel: ImmunizationModel) {\r\n //this.immunizationModel.patientID = this.clientId;\r\n // this.immunizationModel.appointmentId = this.appointmentId;\r\n // this.immunizationModel.id=immunizatioModel.id;\r\n let immunizationModal;\r\n immunizationModal = this.immunizationDialogModal.open(\r\n ImmunizationModalComponent,\r\n {\r\n data: {\r\n immunization: immunizatioModel,\r\n refreshGrid: this.getImmunizationList.bind(this),\r\n },\r\n }\r\n );\r\n immunizationModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") {\r\n this.getImmunizationList();\r\n }\r\n });\r\n }\r\n refreshGrid() {\r\n this.getImmunizationList();\r\n }\r\n\r\n //delete immunization\r\n deleteImmunization(id: number) {\r\n this.immunizationService\r\n .confirm(\"Are you sure you want to delete this immunization?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientsService\r\n .deleteImmunization(id)\r\n .subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getImmunizationList();\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions =\r\n this.clientsService.getUserScreenActionPermissions(\r\n \"CLIENT\",\r\n \"CLIENT_IMMUNIZATION_LIST\"\r\n );\r\n const {\r\n CLIENT_IMMUNIZATION_LIST_ADD,\r\n CLIENT_IMMUNIZATION_LIST_UPDATE,\r\n CLIENT_IMMUNIZATION_LIST_DELETE,\r\n } = actionPermissions;\r\n\r\n this.addPermission = CLIENT_IMMUNIZATION_LIST_ADD || false;\r\n this.updatePermission = CLIENT_IMMUNIZATION_LIST_UPDATE || false;\r\n this.deletePermission = CLIENT_IMMUNIZATION_LIST_DELETE || false;\r\n }\r\n disableButton() {\r\n return (\r\n this.immunizationList &&\r\n this.immunizationList.length > this.maxAllowedLimit\r\n );\r\n }\r\n\r\n clearFilters() {\r\n this.testFormGroup.reset();\r\n this.getImmunizationList();\r\n }\r\n}\r\n","export class ImmunizationModel {\r\n id: number;\r\n patientID: number;\r\n orderBy: number;\r\n vfcid: string;\r\n administeredDate: Date;\r\n immunization: string;\r\n amountAdministered: number;\r\n manufactureID: number;\r\n expireDate: Date;\r\n vaccineLotNumber: string;\r\n administrationSiteID: number;\r\n routeOfAdministrationID: number;\r\n administeredBy: number;\r\n immunityStatusID: number;\r\n immunityStatus: string;\r\n rejectedImmunization: boolean;\r\n rejectionReasonID: number;\r\n rejectionReason:string;\r\n rejectionReasonNote: string;\r\n isDeleted: boolean;\r\n vaccineName: string;\r\n routeOfAdministration: string;\r\n administrationSite: string;\r\n conceptName: string;\r\n immunizationId: number;\r\n vfcEligibilityId: number\r\n manufacturerName: string;\r\n appointmentId:number;\r\n}","export class PatientInsuranceModel {\r\n id: number;\r\n patientID: number;\r\n insuranceCompanyID: number;\r\n insuranceCompanyAddress: string;\r\n insuranceIDNumber: string;\r\n insuranceGroupName: string;\r\n insurancePlanName: string;\r\n insurancePlanTypeID: number;\r\n cardIssueDate: Date;\r\n notes: string;\r\n insurancePhotoPathFront: string;\r\n insurancePhotoPathThumbFront: string;\r\n insurancePhotoPathBack: string;\r\n insurancePhotoPathThumbBack: string;\r\n insurancePersonSameAsPatient: boolean = false;\r\n carrierPayerID: string;\r\n isDeleted: boolean;\r\n insuranceCompanyName: string;\r\n}\r\n\r\nexport class InsuredPersonModel {\r\n id: number;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n phone: string;\r\n patientID: number;\r\n patientInsuranceID: number;\r\n relationshipID: number;\r\n dob: Date;\r\n address1: string;\r\n city: string;\r\n stateID: number;\r\n countryID: number;\r\n zip: string=\"0\";\r\n latitude: number= 0.0;\r\n longitude: number=0.0;\r\n apartmentNumber: string;\r\n genderID: number;\r\n isDeleted: boolean;\r\n}","module.exports = \" /*Insurance tabs*/\\r\\n .active {\\r\\n color: rgba(0, 0, 0, 0.6); }\\r\\n .tabs-sm {\\r\\n list-style: outside none none;\\r\\n padding: 0;\\r\\n margin-top: 20px;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n .readmin-form.custom_form {\\r\\n overflow: hidden;\\r\\n}\\r\\n .tabs-sm li {\\r\\n background-color: #efefef;\\r\\n padding: 10px 30px;\\r\\n margin: 0;\\r\\n margin-bottom: 0;\\r\\n border-right: 1px solid #d8d8d8;\\r\\n display: inline-block;\\r\\n}\\r\\n .tabs-sm-li:last-child{\\r\\n border-right: none;\\r\\n}\\r\\n .tabs-sm li a {\\r\\n color: #2f2660;\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n padding-left: 30px;\\r\\n position: relative;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n .tabs-sm li.active a, .tabs-sm li.active a i{\\r\\n color: #01385f !important;\\r\\n font-weight: 600;\\r\\n}\\r\\n .custom_form .tabs-sm i {\\r\\n color: #2f2660;\\r\\n left: 0;\\r\\n line-height: 20px;\\r\\n top: 0px;\\r\\n font-size: 20px;\\r\\n position: absolute;\\r\\n display:inline-block !important;\\r\\n}\\r\\n .custom_form .tabs-sm li.active a, .custom_form .tabs-sm li a:hover {\\r\\n color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n .custom_form .tabs-sm li.active a i, .custom_form .tabs-sm li a:hover i {\\r\\n color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n .gap-5 {\\r\\n gap: 5px;\\r\\n}\\r\\n /*insurance tabs common css for margin*/\\r\\n .rsmb-30 {\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n .insurance-doc {\\r\\n border-radius: 0px;\\r\\n}\\r\\n @media screen and (max-width:991px) {\\r\\n .tabs-sm li a {\\r\\n font-size: 13px;\\r\\n }\\r\\n .tabs-sm li {\\r\\n padding: 10px;\\r\\n }\\r\\n}\\r\\n @media (max-width: 767px) {\\r\\n /*Insurance tabs*/\\r\\n .customtab>div span {\\r\\n margin-bottom: 0px !important;\\r\\n }\\r\\n .tabs-sm li {\\r\\n margin-bottom: 10px;\\r\\n }\\r\\n .tabs-sm li a {\\r\\n font-size: 11px;\\r\\n }\\r\\n .tabs-sm li {\\r\\n padding: 5px;\\r\\n }\\r\\n}\\r\\n @media(max-width: 480px) {\\r\\n /*Insurance tabs*/\\r\\n .copy_adrs {\\r\\n top: 35px;\\r\\n }\\r\\n .tabs-sm li {\\r\\n margin-right: 5px;\\r\\n }\\r\\n .tabs-sm li a {\\r\\n padding-left: 25px;\\r\\n }\\r\\n}\\r\\n .uplaod_pic img {\\r\\n height: 150px;\\r\\n max-width: 100%;\\r\\n width: auto;\\r\\n}\\r\\n .uplaod_pic span {\\r\\n background: rgba(0, 0, 0, 0.20);\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n font-size: 13px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 5px;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\\r\\n .uplaod_pic .browse {\\r\\n border-radius: 0px !important;\\r\\n cursor: pointer;\\r\\n}\"","module.exports = \"
\\r\\n

{{ headerText }}

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ option.value }}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_select_insurance_company'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_insurance_id_number'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n {{\\\"please_upload_insurance_front_picture_jpg_jpeg_bmp_png\\\"|translate}}\\r\\n

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

\\r\\n {{\\\"please_upload_insurance_back_picture_jpg_jpeg_bmp_png\\\"|translate}}\\r\\n

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

{{ headerText }}

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ option.value }}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_select_insurance_company'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_insurance_id_number'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n {{'please_upload_insurance_front_picture_jpg_jpeg_bmp_png'|translate}}\\r\\n

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

\\r\\n {{'please_upload_insurance_back_picture_jpg_jpeg_bmp_png'|translate}}\\r\\n

\\r\\n
\\r\\n
\\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 { SelectionModel } from \"@angular/cdk/collections\";\r\nimport { Component, EventEmitter, Inject, OnInit, Output } from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n FormGroupDirective,\r\n NgForm,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport {\r\n ErrorStateMatcher,\r\n MatDialogRef,\r\n MatTableDataSource,\r\n MAT_DIALOG_DATA,\r\n} from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services/common.service\";\r\nimport { ClientsService } from \"../../clients.service\";\r\nimport {\r\n InsuredPersonModel,\r\n PatientInsuranceModel,\r\n} from \"../../insurance.model\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: \"app-insurance-modal\",\r\n templateUrl: \"./insurance-modal.component.html\",\r\n styleUrls: [\"./insurance-modal.component.css\"],\r\n})\r\nexport class InsuranceModalComponent implements OnInit {\r\n insuranceCompaniesModel: PatientInsuranceModel;\r\n clientInsuranceList: Array = [];\r\n dataSource = new MatTableDataSource();\r\n insuredPersonModel: InsuredPersonModel;\r\n loadingMasterData: boolean = false;\r\n insurancePlanTypeId: number;\r\n masterInsuranceCompanies: Array = [];\r\n patientInsuranceId: number;\r\n masterInsurancePlanTypes: Array = [];\r\n headerText: string = this.translate.instant('add_insurance');\r\n activeInsurance: string = \"primary\";\r\n insuranceEditForm: FormGroup;\r\n insuranceAddForm: FormGroup;\r\n IsEditForm: boolean;\r\n patientId: number;\r\n imagePreviewFront: any;\r\n imagePreviewBack: any;\r\n imageBase64Front: any;\r\n imageBase64Back: any;\r\n clientId: number;\r\n matcher: any;\r\n insuranceData: any;\r\n submitted: boolean = false;\r\n maxDate = new Date();\r\n dataURL: any;\r\n masterRelationship: Array = [];\r\n masterState: Array = [];\r\n masterCountry: Array = [];\r\n masterGender: Array = [];\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n // insuranceModel:\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private clientService: ClientsService,\r\n private notifier: NotifierService,\r\n private insuranceDialogModalRef: MatDialogRef,\r\n private translate: TranslateService,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n // this.insuranceCompaniesModel = data;\r\n this.insuranceCompaniesModel = null;\r\n // console.log('insuranceCompaniesModel', data);\r\n if (data == null) {\r\n // console.log('AddForm Hit');\r\n this.IsEditForm = false;\r\n this.headerText = this.translate.instant('add_insurance');;\r\n this.clientId = data.patientID;\r\n } else if (data.id == 0) {\r\n //console.log('AddForm Hit');\r\n this.IsEditForm = false;\r\n this.headerText = this.translate.instant('add_insurance');\r\n this.clientId = data.patientID;\r\n }\r\n else {\r\n // console.log('EditForm Hit');\r\n this.IsEditForm = true;\r\n this.headerText = this.translate.instant('Edit Insurance');\r\n this.insuranceCompaniesModel = data;\r\n //console.log(\"this.insuranceCompaniesModel\", this.insuranceCompaniesModel);\r\n\r\n }\r\n //this.refreshGrid.subscribe(data.refreshGrid);\r\n //this.clientId = this.insuranceCompaniesModel[0].patientID;\r\n //this.patientId = this.clientId ;\r\n //update header text\r\n // if (\r\n // this.insuranceCompaniesModel.id != null &&\r\n // this.insuranceCompaniesModel.id > 0\r\n // )\r\n // this.headerText = \"Edit Insurance\";\r\n // else \r\n // {\r\n // this.headerText = \"Add Insurance\";\r\n // this.refreshGrid.subscribe(data.refreshGrid);\r\n // }\r\n }\r\n\r\n ngOnInit() {\r\n this.getMasterData();\r\n this.insuranceAddForm = this.formBuilder.group({\r\n insuranceCompanyID: [],\r\n insuranceCompanyAddress: [],\r\n insuranceIDNumber: [],\r\n insuranceGroupName: [],\r\n cardIssueDate: [],\r\n insurancePlanTypeID: [],\r\n insurancePhotoPathFront: [],\r\n insurancePhotoPathThumbFront: [],\r\n insurancePhotoPathBack: [],\r\n insurancePhotoPathThumbBack: [],\r\n insurancePersonSameAsPatient: [],\r\n carrierPayerID: [],\r\n insuranceCompanyName: [],\r\n insurancePlanName: [],\r\n notes: [],\r\n });\r\n\r\n this.insuranceEditForm = this.formBuilder.group({\r\n // insuranceCompanyID: [],\r\n // insuranceCompanyID: new FormControl( '', Validators.required),\r\n insuranceCompanyID: [],\r\n insuranceCompanyAddress: [],\r\n insuranceIDNumber: [],\r\n insuranceGroupName: [],\r\n cardIssueDate: [],\r\n insurancePlanTypeID: [],\r\n insurancePhotoPathFront: [],\r\n insurancePhotoPathThumbFront: [],\r\n insurancePhotoPathBack: [],\r\n insurancePhotoPathThumbBack: [],\r\n insurancePersonSameAsPatient: [],\r\n carrierPayerID: [],\r\n insuranceCompanyName: [],\r\n insurancePlanName: [],\r\n notes: [],\r\n });\r\n if (this.insuranceCompaniesModel !== null) {\r\n this.setEditFrom();\r\n }\r\n\r\n // this.insuranceEditForm = this.formBuilder.group({\r\n // id: [this.insuranceCompaniesModel[0].id],\r\n // patientID: [this.insuranceCompaniesModel[0].patientID],\r\n // insuranceCompanyID: [\r\n // this.insuranceCompaniesModel[0].insuranceCompanyID,\r\n // [Validators.required],\r\n // ],\r\n // insuranceCompanyAddress: [\r\n // this.insuranceCompaniesModel[0].insuranceCompanyAddress,\r\n // ],\r\n // insuranceIDNumber: [\r\n // this.insuranceCompaniesModel[0].insuranceIDNumber,\r\n // [Validators.required],\r\n // ],\r\n // insuranceGroupName: [this.insuranceCompaniesModel[0].insuranceGroupName],\r\n // insurancePlanTypeID: [this.insuranceCompaniesModel[0].insurancePlanTypeID],\r\n // cardIssueDate: [this.insuranceCompaniesModel[0].cardIssueDate],\r\n // insurancePhotoPathFront: [\r\n // this.insuranceCompaniesModel[0].insurancePhotoPathFront,\r\n // ],\r\n // insurancePhotoPathThumbFront: [\r\n // this.insuranceCompaniesModel[0].insurancePhotoPathThumbFront,\r\n // ],\r\n // insurancePhotoPathBack: [\r\n // this.insuranceCompaniesModel[0].insurancePhotoPathBack,\r\n // ],\r\n // insurancePhotoPathThumbBack: [\r\n // this.insuranceCompaniesModel[0].insurancePhotoPathThumbBack,\r\n // ],\r\n // insurancePersonSameAsPatient: [\r\n // this.insuranceCompaniesModel[0].insurancePersonSameAsPatient= true,\r\n // ],\r\n // carrierPayerID: [this.insuranceCompaniesModel[0].carrierPayerID],\r\n // insuranceCompanyName: [this.insuranceCompaniesModel[0].insuranceCompanyName],\r\n // insurancePlanName: [this.insuranceCompaniesModel[0].insurancePlanName],\r\n // notes: [this.insuranceCompaniesModel[0].notes], \r\n // });\r\n\r\n\r\n\r\n //this.formControlValueChanged();\r\n }\r\n get addFormControls() {\r\n return this.insuranceAddForm.controls;\r\n }\r\n get editFormControls() {\r\n return this.insuranceEditForm.controls;\r\n }\r\n setEditFrom() {\r\n ////\r\n this.insuranceEditForm.patchValue({\r\n insuranceCompanyID: this.insuranceCompaniesModel.insuranceCompanyID,\r\n insuranceCompanyAddress: this.insuranceCompaniesModel.insuranceCompanyAddress,\r\n insuranceIDNumber: this.insuranceCompaniesModel.insuranceIDNumber,\r\n insuranceGroupName: this.insuranceCompaniesModel.insuranceGroupName,\r\n cardIssueDate: new Date(this.insuranceCompaniesModel.cardIssueDate),\r\n insurancePlanTypeID: this.insuranceCompaniesModel.insurancePlanTypeID,\r\n insurancePhotoPathFront: this.insuranceCompaniesModel.insurancePhotoPathFront,\r\n insurancePhotoPathThumbFront: this.insuranceCompaniesModel.insurancePhotoPathThumbFront,\r\n insurancePhotoPathBack: this.insuranceCompaniesModel.insurancePhotoPathBack,\r\n insurancePhotoPathThumbBack: this.insuranceCompaniesModel.insurancePhotoPathThumbBack,\r\n insurancePersonSameAsPatient: this.insuranceCompaniesModel.insurancePersonSameAsPatient,\r\n carrierPayerID: this.insuranceCompaniesModel.carrierPayerID,\r\n insuranceCompanyName: this.insuranceCompaniesModel.insuranceCompanyName,\r\n insurancePlanName: this.insuranceCompaniesModel.insurancePlanName,\r\n notes: this.insuranceCompaniesModel.notes,\r\n })\r\n\r\n this.imagePreviewFront =\r\n this.insuranceCompaniesModel.insurancePhotoPathThumbFront || \"\";\r\n this.imagePreviewBack =\r\n this.insuranceCompaniesModel.insurancePhotoPathThumbBack || \"\";\r\n\r\n }\r\n // get insuredPersonformControls() {\r\n // return this.insuranceForm.get(\"insuredPerson\") as FormGroup;\r\n // }\r\n activeHandler(event?: any, insuranceType?: string) {\r\n event && event.preventDefault();\r\n this.insuranceAddForm.reset();\r\n this.removeImage(\"front\");\r\n this.removeImage(\"back\");\r\n //to reset the error msgs.\r\n this.matcher = null;\r\n const insPlanObj = (this.masterInsurancePlanTypes || []).find(\r\n (obj) => obj.value.toLowerCase() === insuranceType.toLowerCase()\r\n );\r\n this.insurancePlanTypeId = insPlanObj && insPlanObj.id;\r\n this.activeInsurance = insuranceType;\r\n //if (this.clientId != null) this.getPatientInsurance();\r\n }\r\n // formControlValueChanged() {\r\n // let insuredPersonControl = this.insuredPersonformControls.controls;\r\n // this.insuranceForm\r\n // .get(\"insurancePersonSameAsPatient\")\r\n // .valueChanges.subscribe((mode: any) => {\r\n // if (mode == false || mode == null) {\r\n // insuredPersonControl.address1.setValidators([Validators.required]);\r\n // insuredPersonControl.firstName.setValidators([Validators.required]);\r\n // insuredPersonControl.lastName.setValidators([Validators.required]);\r\n // insuredPersonControl.genderID.setValidators([Validators.required]);\r\n // insuredPersonControl.relationshipID.setValidators([\r\n // Validators.required,\r\n // ]);\r\n // insuredPersonControl.dob.setValidators([Validators.required]);\r\n // insuredPersonControl.phone.setValidators([Validators.required]);\r\n // insuredPersonControl.countryID.setValidators([Validators.required]);\r\n // insuredPersonControl.city.setValidators([Validators.required]);\r\n // insuredPersonControl.stateID.setValidators([Validators.required]);\r\n // insuredPersonControl.zip.setValidators([Validators.required]);\r\n // } else {\r\n // insuredPersonControl.address1.clearValidators();\r\n // insuredPersonControl.firstName.clearValidators();\r\n // insuredPersonControl.lastName.clearValidators();\r\n // insuredPersonControl.genderID.clearValidators();\r\n // insuredPersonControl.relationshipID.clearValidators();\r\n // insuredPersonControl.dob.clearValidators();\r\n // insuredPersonControl.phone.clearValidators();\r\n // insuredPersonControl.countryID.clearValidators();\r\n // insuredPersonControl.city.clearValidators();\r\n // insuredPersonControl.stateID.clearValidators();\r\n // insuredPersonControl.zip.clearValidators();\r\n // }\r\n // insuredPersonControl.address1.updateValueAndValidity();\r\n // insuredPersonControl.firstName.updateValueAndValidity();\r\n // insuredPersonControl.lastName.updateValueAndValidity();\r\n // insuredPersonControl.genderID.updateValueAndValidity();\r\n // insuredPersonControl.relationshipID.updateValueAndValidity();\r\n // insuredPersonControl.dob.updateValueAndValidity();\r\n // insuredPersonControl.phone.updateValueAndValidity();\r\n // insuredPersonControl.countryID.updateValueAndValidity();\r\n // insuredPersonControl.city.updateValueAndValidity();\r\n // insuredPersonControl.stateID.updateValueAndValidity();\r\n // insuredPersonControl.zip.updateValueAndValidity();\r\n // });\r\n // }\r\n\r\n handleImageChange(e, type: string) {\r\n // console.log(\"HandleIMagepreview called\");\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n if (type == \"front\") {\r\n this.imagePreviewFront = reader.result;\r\n this.imageBase64Front = this.imagePreviewFront;\r\n } else {\r\n this.imagePreviewBack = reader.result;\r\n this.imageBase64Back = this.imagePreviewBack;\r\n }\r\n\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n removeImage(value: string) {\r\n // console.log(\"remove image called\");\r\n if (value == \"front\") {\r\n this.imagePreviewFront = null;\r\n this.imageBase64Front = this.imagePreviewFront;\r\n } else {\r\n this.imagePreviewBack = null;\r\n this.imageBase64Back = this.imagePreviewBack;\r\n }\r\n }\r\n getMasterData() {\r\n let data =\r\n \"masterInsuranceCompany,insurancePlanType,MASTERGENDER,masterRelationship,MASTERSTATE,MASTERCOUNTRY\";\r\n this.clientService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterInsuranceCompanies =\r\n response.insuranceCompanies != null\r\n ? response.insuranceCompanies\r\n : [];\r\n this.masterCountry =\r\n response.masterCountry != null ? response.masterCountry : [];\r\n this.masterState =\r\n response.masterState != null ? response.masterState : [];\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n this.masterRelationship =\r\n response.masterRelationship != null\r\n ? response.masterRelationship\r\n : [];\r\n this.masterInsurancePlanTypes =\r\n response.insurancePlanType != null ? response.insurancePlanType : [];\r\n //this.activeHandler(null, \"primary\");\r\n }\r\n });\r\n }\r\n onSubmitForAdd(event: any) {\r\n this.submitted = true;\r\n let clickType = event.currentTarget.name;\r\n if (this.insuranceAddForm.invalid) {\r\n this.submitted = false;\r\n this.matcher = new MyErrorStateMatcher();\r\n return false;\r\n }\r\n let postData: any;\r\n let a = this.insuranceAddForm.value;\r\n // console.log(a);\r\n //this.insuranceAddForm.get('cardIssueDate').setValue(new Date( (this.insuranceAddForm.get('cardIssueDate').value).toISOString().split('T')[0]));\r\n const date = new Date(this.insuranceAddForm.get('cardIssueDate').value);\r\n const utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\r\n this.insuranceAddForm.get('cardIssueDate').setValue(utcDate);\r\n if (!this.insuranceAddForm.controls.insurancePersonSameAsPatient.value) {\r\n postData = {\r\n ...this.insuranceAddForm.value,\r\n cardIssueDate: new Date(this.insuranceAddForm.value.cardIssueDate),\r\n base64Front: this.imageBase64Front || null,\r\n base64Back: this.imageBase64Back || null,\r\n patientID: this.clientId,\r\n insurancePlanTypeID: this.insurancePlanTypeId,\r\n // insuredPerson: { \r\n // ...this.insuranceAddForm.value.insuredPerson,\r\n // dob: this.insuranceAddForm.value.insuredPerson.dob\r\n // ? format(this.insuranceAddForm.value.insuredPerson.dob, \"MM-DD-YYYY\")\r\n // : null,\r\n // patientID: this.clientId,\r\n // patientInsuranceID: this.insuranceAddForm.value.id,\r\n // },\r\n };\r\n } else {\r\n postData = {\r\n ...this.insuranceAddForm.value,\r\n base64Front: this.imageBase64Front || null,\r\n base64Back: this.imageBase64Back || null,\r\n patientID: this.clientId,\r\n insurancePlanTypeID: this.insurancePlanTypeId,\r\n insuredPerson: null,\r\n };\r\n }\r\n this.imageBase64Front = null;\r\n this.imageBase64Back = null;\r\n let formData = new Array();\r\n formData.push(postData);\r\n this.clientService\r\n .savePatientInsurance(formData)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n if (clickType == \"SaveContinue\") {\r\n this.handleTabChange.next({\r\n tab: \"Custom Fields\",\r\n id: this.clientId,\r\n });\r\n } else if (clickType == \"Save\") {\r\n this.closeDialog(clickType);\r\n //this.getPatientInsuranceList();\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n onSubmitForEdit(event: any) {\r\n this.submitted = true;\r\n let clickType = event.currentTarget.name;\r\n if (this.insuranceEditForm.invalid) {\r\n this.submitted = false;\r\n this.matcher = new MyErrorStateMatcher();\r\n return false;\r\n }\r\n let postData: any;\r\n let a = this.insuranceEditForm.value;\r\n if (!this.insuranceEditForm.controls.insurancePersonSameAsPatient.value) {\r\n postData = {\r\n ...this.insuranceEditForm.value,\r\n base64Front: this.imageBase64Front || null,\r\n base64Back: this.imageBase64Back || null,\r\n patientID: this.insuranceCompaniesModel.patientID,\r\n id: this.insuranceCompaniesModel.id,\r\n insurancePlanTypeID: this.insurancePlanTypeId,\r\n // insuredPerson: {\r\n // ...this.insuranceEditForm.value.insuredPerson,\r\n // dob: this.insuranceEditForm.value.insuredPerson.dob\r\n // ? format(this.insuranceEditForm.value.insuredPerson.dob, \"MM-DD-YYYY\")\r\n // : null,\r\n // patientID: this.clientId,\r\n // patientInsuranceID: this.insuranceEditForm.value.id,\r\n // },\r\n };\r\n } else {\r\n postData = {\r\n ...this.insuranceEditForm.value,\r\n base64Front: this.imageBase64Front || null,\r\n base64Back: this.imageBase64Back || null,\r\n patientID: this.clientId,\r\n insurancePlanTypeID: this.insurancePlanTypeId,\r\n insuredPerson: null,\r\n id: this.insuranceCompaniesModel.id,\r\n };\r\n }\r\n\r\n this.imageBase64Front = null;\r\n this.imageBase64Back = null;\r\n let formData = new Array();\r\n formData.push(postData);\r\n\r\n this.clientService\r\n .savePatientInsurance(formData)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n if (clickType == \"SaveContinue\") {\r\n this.handleTabChange.next({\r\n tab: \"Custom Fields\",\r\n id: this.clientId,\r\n });\r\n } else if (clickType == \"Save\") {\r\n this.closeDialog(clickType);\r\n //this.getPatientInsuranceList();\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n // getPatientInsuranceList() {\r\n\r\n // this.clientService\r\n // .getPatientInsurance(this.clientId)\r\n // .subscribe((response: ResponseModel) => {\r\n // if (response != null && response.statusCode == 200) {\r\n // //this.clientInsuranceListModel = response.data.PatientInsurance;\r\n // this.clientInsuranceList = response.data.PatientInsurance;\r\n // this.dataSource.data = response.data;\r\n // }\r\n // else{\r\n // this.clientInsuranceList;\r\n // }\r\n // });\r\n // }\r\n // getPatientInsurance() {\r\n // this.clientService\r\n // .getPatientInsurance(this.clientId)\r\n // .subscribe((response: ResponseModel) => {\r\n // if (response.statusCode == 200) {\r\n // this.insuranceCompaniesModel = response.data.PatientInsurance.find(\r\n // (obj) => obj.insurancePlanTypeID == this.insurancePlanTypeId\r\n // );\r\n // this.insuranceCompaniesModel =\r\n // this.insuranceCompaniesModel || new PatientInsuranceModel();\r\n // this.imagePreviewFront =\r\n // this.insuranceCompaniesModel.insurancePhotoPathThumbFront || \"\";\r\n // this.imagePreviewBack =\r\n // this.insuranceCompaniesModel.insurancePhotoPathThumbBack || \"\";\r\n // this.imageBase64Front = null;\r\n // this.imageBase64Back = null;\r\n // this.patientInsuranceId = this.insuranceCompaniesModel.id;\r\n // this.insuranceForm.patchValue(this.insuranceCompaniesModel);\r\n // if (\r\n // this.insuranceCompaniesModel &&\r\n // this.insuranceCompaniesModel.insurancePersonSameAsPatient != true\r\n // ) {\r\n // this.insuredPersonModel = response.data.InsuredPerson.find(\r\n // (obj) => obj.patientInsuranceID == this.insuranceCompaniesModel.id\r\n // );\r\n // this.insuredPersonModel =\r\n // this.insuredPersonModel || new InsuredPersonModel();\r\n // this.insuranceForm.patchValue({\r\n // insuredPerson: this.insuredPersonModel,\r\n // });\r\n // }\r\n // }\r\n // });\r\n // }\r\n updateValue(insuranceCompanyId: number) {\r\n // console.log('INSUID');\r\n if (\r\n this.masterInsuranceCompanies != null &&\r\n this.masterInsuranceCompanies.length > 0\r\n ) {\r\n const addressObj = this.masterInsuranceCompanies.find(\r\n (x) => x.id == insuranceCompanyId\r\n );\r\n if (this.IsEditForm == true) {\r\n this.insuranceEditForm.patchValue({\r\n insuranceCompanyAddress: addressObj.address,\r\n carrierPayerID: addressObj.carrierPayerID,\r\n });\r\n }\r\n else {\r\n // console.log('IsAdd');\r\n this.insuranceAddForm.patchValue({\r\n insuranceCompanyAddress: addressObj.address,\r\n carrierPayerID: addressObj.carrierPayerID,\r\n });\r\n }\r\n }\r\n }\r\n //close popup\r\n closeDialog(action: string): void {\r\n this.insuranceDialogModalRef.close(action);\r\n }\r\n}\r\n\r\n// To force error massages to show on untouched submit.\r\nexport class MyErrorStateMatcher implements ErrorStateMatcher {\r\n isErrorState(\r\n control: FormControl | null,\r\n form: FormGroupDirective | NgForm | null\r\n ): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return control && control.invalid;\r\n }\r\n}\r\n","module.exports = \" /*Insurance tabs*/\\r\\n .active {\\r\\n color: rgba(0, 0, 0, 0.6); }\\r\\n .tabs-sm {\\r\\n list-style: outside none none;\\r\\n padding: 0;\\r\\n margin-top: 20px;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n .tabs-sm li {\\r\\n background-color: #efefef;\\r\\n padding: 10px 30px;\\r\\n margin: 0;\\r\\n margin-bottom: 0;\\r\\n border-right: 1px solid #d8d8d8;\\r\\n display: inline-block;\\r\\n}\\r\\n .tabs-sm-li:last-child{\\r\\n border-right: none;\\r\\n}\\r\\n .tabs-sm li a {\\r\\n color: #2f2660;\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n padding-left: 30px;\\r\\n position: relative;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n .tabs-sm li.active a, .tabs-sm li.active a i{\\r\\n color: #01385f !important;\\r\\n font-weight: 600;\\r\\n}\\r\\n .custom_form .tabs-sm i {\\r\\n color: #2f2660;\\r\\n left: 0;\\r\\n line-height: 20px;\\r\\n top: 0px;\\r\\n font-size: 20px;\\r\\n position: absolute;\\r\\n display:inline-block !important;\\r\\n}\\r\\n .custom_form .tabs-sm li.active a, .custom_form .tabs-sm li a:hover {\\r\\n color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n .custom_form .tabs-sm li.active a i, .custom_form .tabs-sm li a:hover i {\\r\\n color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n /*insurance tabs common css for margin*/\\r\\n .rsmb-30 {\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n .insurance-doc {\\r\\n border-radius: 0px;\\r\\n}\\r\\n @media (max-width: 767px) {\\r\\n /*Insurance tabs*/\\r\\n .customtab>div span {\\r\\n margin-bottom: 0px !important;\\r\\n }\\r\\n .tabs-sm li {\\r\\n margin-bottom: 10px;\\r\\n }\\r\\n}\\r\\n @media(max-width: 480px) {\\r\\n /*Insurance tabs*/\\r\\n .copy_adrs {\\r\\n top: 35px;\\r\\n }\\r\\n .tabs-sm li {\\r\\n margin-right: 5px;\\r\\n }\\r\\n .tabs-sm li a {\\r\\n padding-left: 25px;\\r\\n }\\r\\n}\\r\\n .uplaod_pic img {\\r\\n height: 150px;\\r\\n max-width: 100%;\\r\\n width: auto;\\r\\n}\\r\\n .uplaod_pic span {\\r\\n background: rgba(0, 0, 0, 0.20);\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n font-size: 13px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 5px;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\\r\\n .uplaod_pic .browse {\\r\\n border-radius: 0px !important;\\r\\n cursor: pointer;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_select_insurance_company'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_insurance_id_number'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{'insured_person_is_the_same_person_as_client'|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{'insured_person'|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_first_name'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_last_name'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{genderVal.value}}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_select_gender'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_dob'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_Phone_number'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{relationshipVal.value}}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_select_relationship'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_address'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{country.value}}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_select_country'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{state.value}}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_state\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_city'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{\\\"please_upload_insurance_front_picture_jpg_jpeg_bmp_png\\\"|translate}}

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

{{\\\"please_upload_insurance_back_picture_jpg_jpeg_bmp_png\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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, Output, EventEmitter, ViewContainerRef, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { PatientInsuranceModel, InsuredPersonModel } from '../insurance.model';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, Validators } from '@angular/forms';\r\nimport { ClientsService } from '../clients.service';\r\nimport { ResponseModel } from '../../../core/modals/common-model';\r\nimport { CommonService } from '../../../core/services';\r\nimport { format } from 'date-fns';\r\nimport { ErrorStateMatcher } from '@angular/material';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: 'app-insurance',\r\n templateUrl: './insurance.component.html',\r\n styleUrls: ['./insurance.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InsuranceComponent implements OnInit {\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n private insuranceCompaniesModel: PatientInsuranceModel;\r\n private insuredPersonModel: InsuredPersonModel;\r\n loadingMasterData: boolean = false;\r\n insurancePlanTypeId: number;\r\n masterInsuranceCompanies: Array = [];\r\n patientInsuranceId: number;\r\n masterInsurancePlanTypes: Array = [];\r\n masterRelationship: Array = [];\r\n masterState: Array = [];\r\n masterCountry: Array = [];\r\n masterGender: Array = [];\r\n insuranceForm: FormGroup;\r\n submitted: boolean = false;\r\n maxDate = new Date();\r\n dataURL: any;\r\n imagePreviewFront: any;\r\n imagePreviewBack: any;\r\n imageBase64Front: any;\r\n imageBase64Back: any;\r\n clientId: number;\r\n showCheckBox: boolean;\r\n activeInsurance: string = \"primary\";\r\n matcher: any;\r\n constructor(private formBuilder: FormBuilder, private commonService: CommonService, private clientService: ClientsService, private notifier: NotifierService, private translate: TranslateService) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.insuranceCompaniesModel = new PatientInsuranceModel();\r\n this.insuredPersonModel = new InsuredPersonModel();\r\n }\r\n ngOnInit() {\r\n\r\n this.insuranceForm = this.formBuilder.group({\r\n id: [this.insuranceCompaniesModel.id],\r\n patientID: [this.insuranceCompaniesModel.patientID],\r\n insuranceCompanyID: [this.insuranceCompaniesModel.insuranceCompanyID, [Validators.required]],\r\n insuranceCompanyAddress: [this.insuranceCompaniesModel.insuranceCompanyAddress],\r\n insuranceIDNumber: [this.insuranceCompaniesModel.insuranceIDNumber, [Validators.required]],\r\n insuranceGroupName: [this.insuranceCompaniesModel.insuranceGroupName],\r\n insurancePlanTypeID: [this.insuranceCompaniesModel.insurancePlanTypeID],\r\n cardIssueDate: [this.insuranceCompaniesModel.cardIssueDate],\r\n insurancePhotoPathFront: [this.insuranceCompaniesModel.insurancePhotoPathFront],\r\n insurancePhotoPathThumbFront: [this.insuranceCompaniesModel.insurancePhotoPathThumbFront],\r\n insurancePhotoPathBack: [this.insuranceCompaniesModel.insurancePhotoPathBack],\r\n insurancePhotoPathThumbBack: [this.insuranceCompaniesModel.insurancePhotoPathThumbBack],\r\n insurancePersonSameAsPatient: [this.insuranceCompaniesModel.insurancePersonSameAsPatient],\r\n carrierPayerID: [this.insuranceCompaniesModel.carrierPayerID],\r\n insuranceCompanyName: [this.insuranceCompaniesModel.insuranceCompanyName],\r\n insurancePlanName: [this.insuranceCompaniesModel.insurancePlanName],\r\n notes: [this.insuranceCompaniesModel.notes],\r\n insuredPerson: this.formBuilder.group({\r\n id: [this.insuredPersonModel.id],\r\n firstName: [this.insuredPersonModel.firstName],\r\n middleName: [this.insuredPersonModel.middleName],\r\n lastName: [this.insuredPersonModel.lastName],\r\n genderID: [this.insuredPersonModel.genderID],\r\n phone: [this.insuredPersonModel.phone],\r\n patientInsuranceID: [this.insuredPersonModel.patientInsuranceID],\r\n patientID: [this.insuredPersonModel.patientID],\r\n dob: [this.insuredPersonModel.dob],\r\n relationshipID: [this.insuredPersonModel.relationshipID],\r\n address1: [this.insuredPersonModel.address1],\r\n city: [this.insuredPersonModel.city],\r\n stateID: [this.insuredPersonModel.stateID],\r\n countryID: [this.insuredPersonModel.countryID],\r\n zip: [\"0\"],\r\n apartmentNumber: [this.insuredPersonModel.apartmentNumber],\r\n latitude: [this.insuredPersonModel.latitude],\r\n longitude: [this.insuredPersonModel.longitude]\r\n })\r\n });\r\n this.checkAddress();\r\n this.getMasterData();\r\n this.formControlValueChanged();\r\n\r\n }\r\n get formControls() {\r\n return this.insuranceForm.controls;\r\n }\r\n\r\n get insuredPersonformControls() {\r\n return this.insuranceForm.get('insuredPerson') as FormGroup;\r\n }\r\n activeHandler(event?: any, insuranceType?: string) {\r\n event && event.preventDefault();\r\n this.insuranceForm.reset();\r\n this.removeImage('front');\r\n this.removeImage('back');\r\n //to reset the error msgs.\r\n this.matcher = null;\r\n const insPlanObj = (this.masterInsurancePlanTypes || []).find((obj) => obj.value.toLowerCase() === insuranceType.toLowerCase());\r\n this.insurancePlanTypeId = insPlanObj && insPlanObj.id;\r\n this.activeInsurance = insuranceType;\r\n if (this.clientId != null)\r\n this.getPatientInsurance();\r\n }\r\n formControlValueChanged() {\r\n let insuredPersonControl = this.insuredPersonformControls.controls;\r\n this.insuranceForm.get('insurancePersonSameAsPatient').valueChanges.subscribe(\r\n (mode: any) => {\r\n if (mode == false || mode == null) {\r\n insuredPersonControl.address1.setValidators([Validators.required]);\r\n insuredPersonControl.firstName.setValidators([Validators.required]);\r\n insuredPersonControl.lastName.setValidators([Validators.required]);\r\n insuredPersonControl.genderID.setValidators([Validators.required]);\r\n insuredPersonControl.relationshipID.setValidators([Validators.required]);\r\n insuredPersonControl.dob.setValidators([Validators.required]);\r\n insuredPersonControl.phone.setValidators([Validators.required]);\r\n insuredPersonControl.countryID.setValidators([Validators.required]);\r\n insuredPersonControl.city.setValidators([Validators.required]);\r\n insuredPersonControl.stateID.setValidators([Validators.required]);\r\n // insuredPersonControl.zip.setValidators([Validators.required]);\r\n }\r\n else {\r\n insuredPersonControl.address1.clearValidators();\r\n insuredPersonControl.firstName.clearValidators();\r\n insuredPersonControl.lastName.clearValidators();\r\n insuredPersonControl.genderID.clearValidators();\r\n insuredPersonControl.relationshipID.clearValidators();\r\n insuredPersonControl.dob.clearValidators();\r\n insuredPersonControl.phone.clearValidators();\r\n insuredPersonControl.countryID.clearValidators();\r\n insuredPersonControl.city.clearValidators();\r\n insuredPersonControl.stateID.clearValidators();\r\n // insuredPersonControl.zip.clearValidators();\r\n }\r\n insuredPersonControl.address1.updateValueAndValidity();\r\n insuredPersonControl.firstName.updateValueAndValidity();\r\n insuredPersonControl.lastName.updateValueAndValidity();\r\n insuredPersonControl.genderID.updateValueAndValidity();\r\n insuredPersonControl.relationshipID.updateValueAndValidity();\r\n insuredPersonControl.dob.updateValueAndValidity();\r\n insuredPersonControl.phone.updateValueAndValidity();\r\n insuredPersonControl.countryID.updateValueAndValidity();\r\n insuredPersonControl.city.updateValueAndValidity();\r\n insuredPersonControl.stateID.updateValueAndValidity();\r\n insuredPersonControl.zip.updateValueAndValidity();\r\n });\r\n }\r\n\r\n\r\n handleImageChange(e, type: string) {\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n if (type == 'front') {\r\n this.imagePreviewFront = reader.result;\r\n this.imageBase64Front = this.imagePreviewFront;\r\n }\r\n else {\r\n this.imagePreviewBack = reader.result;\r\n this.imageBase64Back = this.imagePreviewBack;\r\n }\r\n\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n }\r\n else\r\n this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n\r\n removeImage(value: string) {\r\n if (value == 'front') {\r\n this.imagePreviewFront = null;\r\n this.imageBase64Front = this.imagePreviewFront;\r\n }\r\n else {\r\n this.imagePreviewBack = null;\r\n this.imageBase64Back = this.imagePreviewBack;\r\n }\r\n }\r\n\r\n getMasterData() {\r\n let data = \"masterInsuranceCompany,insurancePlanType,MASTERGENDER,masterRelationship,MASTERSTATE,MASTERCOUNTRY\"\r\n this.clientService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterInsuranceCompanies = response.insuranceCompanies != null ? response.insuranceCompanies : [];\r\n this.masterCountry = response.masterCountry != null ? response.masterCountry : [];\r\n this.masterState = response.masterState != null ? response.masterState : [];\r\n this.masterGender = response.masterGender != null ? response.masterGender : [];\r\n this.masterRelationship = response.masterRelationship != null ? response.masterRelationship : [];\r\n this.masterInsurancePlanTypes = response.insurancePlanType != null ? response.insurancePlanType : [];\r\n this.activeHandler(null, \"primary\");\r\n }\r\n });\r\n }\r\n onSubmit(event: any) {\r\n this.submitted = true;\r\n let clickType = event.currentTarget.name;\r\n if (this.insuranceForm.invalid) {\r\n this.submitted = false;\r\n this.matcher = new MyErrorStateMatcher();\r\n return false;\r\n }\r\n let postData: any;\r\n let a = this.insuranceForm.value;\r\n if (!this.insuranceForm.controls.insurancePersonSameAsPatient.value) {\r\n postData = {\r\n ...this.insuranceForm.value,\r\n base64Front: this.imageBase64Front || null,\r\n base64Back: this.imageBase64Back || null,\r\n patientID: this.clientId,\r\n insurancePlanTypeID: this.insurancePlanTypeId,\r\n insuredPerson: {\r\n ...this.insuranceForm.value.insuredPerson,\r\n dob: this.insuranceForm.value.insuredPerson.dob ? format(this.insuranceForm.value.insuredPerson.dob, 'MM-DD-YYYY') : null,\r\n patientID: this.clientId,\r\n patientInsuranceID: this.insuranceForm.value.id\r\n }\r\n }\r\n } else {\r\n postData = {\r\n ...this.insuranceForm.value,\r\n base64Front: this.imageBase64Front || null,\r\n base64Back: this.imageBase64Back || null,\r\n patientID: this.clientId,\r\n insurancePlanTypeID: this.insurancePlanTypeId,\r\n insuredPerson: null\r\n }\r\n }\r\n this.imageBase64Front = null;\r\n this.imageBase64Back = null;\r\n let formData = new Array();\r\n formData.push(postData);\r\n this.clientService.savePatientInsurance(formData).subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message)\r\n if (clickType == \"SaveContinue\") {\r\n this.handleTabChange.next({ tab: \"Custom Fields\", id: this.clientId });\r\n } else if (clickType == \"Save\") {\r\n this.getPatientInsurance();\r\n }\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n });\r\n }\r\n\r\n\r\n onNext() {\r\n this.handleTabChange.next({ tab: \"Custom Fields\", id: this.clientId });\r\n }\r\n\r\n onPrevious() {\r\n this.handleTabChange.next({\r\n tab: \"Address\",\r\n id: this.clientId\r\n });\r\n }\r\n updateValue(insuranceCompanyId: number) {\r\n if (this.masterInsuranceCompanies != null && this.masterInsuranceCompanies.length > 0) {\r\n const addressObj = this.masterInsuranceCompanies.find(x => x.id == insuranceCompanyId);\r\n this.insuranceForm.patchValue({ insuranceCompanyAddress: addressObj.address, carrierPayerID: addressObj.carrierPayerID });\r\n }\r\n }\r\n getPatientInsurance() {\r\n this.clientService.getPatientInsurance(this.clientId).subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.insuranceCompaniesModel = response.data.PatientInsurance.find((obj) => obj.insurancePlanTypeID == this.insurancePlanTypeId);\r\n this.insuranceCompaniesModel = this.insuranceCompaniesModel || new PatientInsuranceModel();\r\n this.imagePreviewFront = this.insuranceCompaniesModel.insurancePhotoPathThumbFront || '';\r\n this.imagePreviewBack = this.insuranceCompaniesModel.insurancePhotoPathThumbBack || '';\r\n this.imageBase64Front = null;\r\n this.imageBase64Back = null;\r\n this.patientInsuranceId = this.insuranceCompaniesModel.id;\r\n this.insuranceForm.patchValue(this.insuranceCompaniesModel);\r\n if (this.insuranceCompaniesModel && this.insuranceCompaniesModel.insurancePersonSameAsPatient != true) {\r\n this.insuredPersonModel = response.data.InsuredPerson.find((obj) =>\r\n obj.patientInsuranceID == this.insuranceCompaniesModel.id);\r\n this.insuredPersonModel = this.insuredPersonModel || new InsuredPersonModel();\r\n this.insuranceForm.patchValue({\r\n insuredPerson: this.insuredPersonModel\r\n });\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n checkAddress() {\r\n this.clientService.getPatientAddressesAndPhoneNumbers(this.clientId).subscribe((res) => {\r\n if (res.data && res.data.PatientAddress[0]) {\r\n this.showCheckBox = true;\r\n } else {\r\n this.showCheckBox = false;\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\n// To force error massages to show on untouched submit.\r\nexport class MyErrorStateMatcher implements ErrorStateMatcher {\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return (control && control.invalid);\r\n }\r\n}","module.exports = \"\"","module.exports = \"\\r\\n

\\r\\n lab-orders works!\\r\\n

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommonService } from '../../../core/services';\r\n\r\n@Component({\r\n selector: 'app-lab-orders',\r\n templateUrl: './lab-orders.component.html',\r\n styleUrls: ['./lab-orders.component.css']\r\n})\r\nexport class LabOrdersComponent implements OnInit {\r\n clientId: number;\r\n header:string=\"Client Lab Orders\";\r\n constructor(private activatedRoute: ActivatedRoute,private commonService:CommonService) { }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.clientId = params.id==undefined?null:this.commonService.encryptValue(params.id,false); \r\n });\r\n }\r\n\r\n}\r\n","module.exports = \"/*Table Css*/\\r\\ntable {\\r\\n width: 100%;\\r\\n}\\r\\n.fa-custom {\\r\\n font-size: 1em;\\r\\n color: #fff;\\r\\n}\\r\\n.table {\\r\\n border-collapse: collapse;\\r\\n background-color: transparent;\\r\\n}\\r\\n.customtable {\\r\\n white-space: normal;\\r\\n}\\r\\ntable th.mat-header-cell>div>button {\\r\\n color: #000;\\r\\n text-transform: uppercase;\\r\\n font-size: 11px;\\r\\n font-weight: 500;\\r\\n}\\r\\ntd.mat-cell,\\r\\ntd.mat-footer-cell,\\r\\nth.mat-header-cell {\\r\\n padding-left: 0.75rem !important;\\r\\n padding-right: 0.75rem !important;\\r\\n}\\r\\n/*Pagination*/\\r\\n.mat-paginator .mat-paginator-container {\\r\\n justify-content: space-between;\\r\\n}\\r\\n.bgcolor-circle {\\r\\n border: 1px solid #efefef;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n display: block;\\r\\n padding: 2px;\\r\\n border-radius: 50%;\\r\\n -webkit-border-radius: 50%;\\r\\n}\\r\\n/* @media (max-width: 1199px){\\r\\n .customtable {\\r\\n white-space: nowrap;\\r\\n }\\r\\n } */\\r\\n@media (max-width: 520px) {\\r\\n .mat-paginator .mat-paginator-container {\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n .mat-paginator-range-label {\\r\\n margin: 0px !important;\\r\\n }\\r\\n\\r\\n .mat-paginator-range-actions {\\r\\n display: inline-block !important;\\r\\n text-align: center;\\r\\n }\\r\\n mat-header-cell.lab_name_blkkk,\\r\\n mat-cell.lab_name_blkkk,\\r\\n mat-header-cell.lab_result_blkkk ,\\r\\n mat-cell.lab_result_blkkk {\\r\\n flex: 0 0 85px;\\r\\n }\\r\\n mat-header-cell.lab_tname_blkkk,\\r\\n mat-cell.lab_tname_blkkk {\\r\\n flex: 0 0 130px;\\r\\n }\\r\\n mat-header-cell.lab_action_blkkk , mat-cell.lab_action_blkkk{\\r\\n flex: 0 0 60px;\\r\\n }\\r\\n}\\r\\n.table-responsive .alert.alert-danger {\\r\\n border-radius: 0px;\\r\\n line-height: 39px;\\r\\n border: none;\\r\\n background: #fff3f3;\\r\\n width: 97%;\\r\\n margin-left: 7px;\\r\\n color: #d00;\\r\\n}\\r\\n.star {\\r\\n margin-right: -9px;\\r\\n font-size: 19px !important;\\r\\n}\\r\\n.average-rating {\\r\\n font-size: 12px !important;\\r\\n line-height: 30px;\\r\\n}\\r\\n.buttons {\\r\\n height: 26px;\\r\\n width: 10px;\\r\\n font-size: 14px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n.test_name_block {\\r\\n display: -webkit-box;\\r\\n -webkit-line-clamp: 4;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: normal;\\r\\n max-height: 7em;\\r\\n line-height: 1.5em;\\r\\n}\\r\\n.mat-cell {\\r\\n padding: 10px 5px;\\r\\n color: #01385f;\\r\\n}\\r\\n.show button.btn.viewww {\\r\\n background: transparent;\\r\\n font-size: 14px;\\r\\n /* opacity: 0.5; */\\r\\n font-weight: 500 !important;\\r\\n}\\r\\n.dropdown-toggle::after{\\r\\n content: inherit;\\r\\n}\\r\\n.insurance_block{\\r\\n overflow: visible;\\r\\n}\\r\\n.insurance_block button#dropdownMenuButton {\\r\\n /* background: #17a2b8; */\\r\\n color: white;\\r\\n padding: 0px 10px;\\r\\n background: linear-gradient(90.06deg, #014971 0.32%, #03BECA 100.49%) !important;\\r\\n border: none;\\r\\n}\\r\\n.mat-row:nth-child(even) {\\r\\n /* background-color: #e4fbff; */\\r\\n background-color: #eafcff;\\r\\n /* margin: 10px 0;\\r\\n border-radius: 10px; */\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n }\\r\\n.mat-row {\\r\\n background: white;\\r\\n /* border-radius: 10px; */\\r\\n padding: 0 0 0 10px;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n }\\r\\n.mat-row , .mat-header-row {\\r\\n align-items: stretch;\\r\\n}\\r\\n.mat-row:nth-child(even) mat-cell{\\r\\nbackground: #eafcff;\\r\\n}\\r\\n.mat-row mat-cell , mat-header-row mat-header-cell{\\r\\n background: white;\\r\\n}\\r\\n.mat-row .mat-cell {\\r\\n font-weight: 400;\\r\\n }\\r\\n.mat-header-row {\\r\\n background: white;\\r\\n padding: 0 0 0 10px;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n}\\r\\n.table-responsive{\\r\\n overflow-x: auto;\\r\\n }\\r\\n.mat-paginator {\\r\\n background-color: inherit;\\r\\n}\\r\\n.mat-header-cell {\\r\\n padding: 5px;\\r\\n font-size: 15px ;\\r\\n white-space: nowrap;\\r\\n color: #01385f;\\r\\n}\\r\\n.search-button {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border: none;\\r\\n background-image: url(\\\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220%2C0%2C256%2C256%22 width%3D%2230px%22 height%3D%2230px%22%3E%3Cg fill-opacity%3D%220.23922%22 fill%3D%22%23000000%22 fill-rule%3D%22nonzero%22 stroke%3D%22none%22 stroke-width%3D%221%22 stroke-linecap%3D%22butt%22 stroke-linejoin%3D%22miter%22 stroke-miterlimit%3D%2210%22 stroke-dasharray%3D%22%22 stroke-dashoffset%3D%220%22 font-family%3D%22none%22 font-weight%3D%22none%22 font-size%3D%22none%22 text-anchor%3D%22none%22 style%3D%22mix-blend-mode%3A normal%22%3E%3Cg transform%3D%22scale(8.53333%2C8.53333)%22%3E%3Cpath d%3D%22M13%2C3c-5.511%2C0 -10%2C4.489 -10%2C10c0%2C5.511 4.489%2C10 10%2C10c2.39651%2C0 4.59738%2C-0.85101 6.32227%2C-2.26367l5.9707%2C5.9707c0.25082%2C0.26124 0.62327%2C0.36648 0.97371%2C0.27512c0.35044%2C-0.09136 0.62411%2C-0.36503 0.71547%2C-0.71547c0.09136%2C-0.35044 -0.01388%2C-0.72289 -0.27512%2C-0.97371l-5.9707%2C-5.9707c1.41266%2C-1.72488 2.26367%2C-3.92576 2.26367%2C-6.32227c0%2C-5.511 -4.489%2C-10 -10%2C-10zM13%2C5c4.43012%2C0 8%2C3.56988 8%2C8c0%2C4.43012 -3.56988%2C8 -8%2C8c-4.43012%2C0 -8%2C-3.56988 -8%2C-8c0%2C-4.43012 3.56988%2C-8 8%2C-8z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-position: center;\\r\\n background-size: 20px 20px;\\r\\n border-radius: 0 4px 4px 0;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n right: -12px;\\r\\n color: grey;\\r\\n top: -5px;\\r\\n}\\r\\n.pos button{\\r\\n background-color: transparent;\\r\\n}\\r\\n.table-responsive {\\r\\n overflow-x: auto;\\r\\n width: 100%;\\r\\n}\\r\\n.responsive-table {\\r\\n width: 100%;\\r\\n min-width: 100%;\\r\\n}\\r\\n/* @media (max-width: 1199px){\\r\\n .customtable {\\r\\n white-space: nowrap;\\r\\n }\\r\\n } */\\r\\n@media screen and (max-width:1600px) {\\r\\n mat-header-cell.lab_name_blkkk,\\r\\n mat-cell.lab_name_blkkk {\\r\\n flex: 0 0 130px;\\r\\n }\\r\\n mat-header-cell.lab_tname_blkkk,\\r\\n mat-cell.lab_tname_blkkk {\\r\\n flex: 0 0 150px;\\r\\n }\\r\\n mat-header-cell.lab_action_blkkk , mat-cell.lab_action_blkkk{\\r\\n flex: 0 0 80px;\\r\\n }\\r\\n mat-header-cell.lab_result_blkkk , mat-cell.lab_result_blkkk{\\r\\n flex: 0 0 100px;\\r\\n }\\r\\n mat-header-cell.lab_date_blkkk , mat-cell.lab_date_blkkk{\\r\\n flex: 0 0 120px;\\r\\n }\\r\\n mat-header-cell.lab_note_blkkk , mat-cell.lab_note_blkkk{\\r\\n flex: 0 0 70px;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:991px) {\\r\\n .radiology_blkkk {\\r\\n flex-direction: column-reverse;\\r\\n }\\r\\n\\r\\n .radiology_blkkk .col-lg-8,\\r\\n .radiology_blkkk .col-lg-4 {\\r\\n padding: 0;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .radiology_blkkk .col-md-3.col-sm-6 {\\r\\n padding: 0;\\r\\n }\\r\\n .page-title {\\r\\n font-size: 18px;\\r\\n }\\r\\n}\"","module.exports = \"\\r\\n

{{'Lab Referral'|translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n {{\\\"lab_name\\\"|translate}} \\r\\n \\r\\n {{ element.labName }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{\\\"test_name\\\"|translate}} \\r\\n \\r\\n {{ element.testName }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{\\\"patient_name\\\"|translate}} \\r\\n \\r\\n {{ element.patientName }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{\\\"status\\\"|translate}} \\r\\n \\r\\n {{ element.status }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'Referal Date'|translate}} \\r\\n \\r\\n {{ element.createdDate | date : \\\"dd/MM/yyyy\\\" }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{\\\"notes\\\"|translate}} \\r\\n {{ element.notes }} \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{\\\"collection_date\\\"|translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{ element.testCollectionDate | date : \\\"dd/MM/yyyy\\\" }}\\r\\n \\r\\n ---- \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'Qr Code'|translate}} \\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n ---- \\r\\n \\r\\n \\r\\n \\r\\n {{'Result QR'|translate}} \\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n ---- \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{\\\"actions\\\"|translate}} \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\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, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport {\r\n MatDatepickerInputEvent,\r\n MatDialog,\r\n MatPaginator,\r\n MatTableDataSource,\r\n} from \"@angular/material\";\r\nimport { ClientsService } from \"../../../client-portal/clients.service\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { LabTestDownloadModalComponent } from \"../../lab-test-download-modal/lab-test-download-modal.component\";\r\nimport { AddLabReferralModalComponent } from \"../../add-lab-referral-modal/add-lab-referral-modal.component\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { QRImageInhanserComponent } from \"src/app/shared/QrCodeScanPage/qrimage-inhanser/qrimage-inhanser.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-lab-refferral-clients\",\r\n templateUrl: \"./lab-refferral-clients.component.html\",\r\n styleUrls: [\"./lab-refferral-clients.component.css\"],\r\n})\r\nexport class LabRefferralClientsComponent implements OnInit {\r\n @Input() appointmentId: number = 0;\r\n @Input() encryptedPatientId;\r\n patientId: number = 0;\r\n dp1: any;\r\n dp2: Date = new Date();\r\n\r\n public pageSize = 5;\r\n public currentPage = 0;\r\n public totalSize = 100;\r\n actionButtons: Array = [\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n ];\r\n\r\n displayColumns: Array = [\r\n {\r\n displayName: \"lab_name\",\r\n key: \"labName\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"test_name\",\r\n key: \"testName\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"patient_name\",\r\n key: \"patientName\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"status\",\r\n key: \"status\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"statusReportupload\",\r\n },\r\n {\r\n displayName: \"created_date\",\r\n key: \"createdDate\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"date\",\r\n },\r\n {\r\n displayName: \"notes\",\r\n key: \"notes\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"actions\",\r\n key: \"Actions\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n ];\r\n displayedColumns = [\r\n \"Lab Name\",\r\n \"Test Name\",\r\n \"Patient Name\",\r\n \"Status\",\r\n \"Referal Date\",\r\n \"Notes\",\r\n \"Collection Date\",\r\n \"QrCode\",\r\n \"Result QR\",\r\n \"Actions\",\r\n ];\r\n labReferralList: any;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n metaData: any;\r\n userId: number = 0;\r\n currentUser: any;\r\n roleId: number = 325; // role id for lab\r\n testFormGroup: FormGroup;\r\n isLabClientDetails: boolean;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private datePipe: DatePipe,\r\n private formBuilder: FormBuilder,\r\n private dialogModal: MatDialog,\r\n private commonService: CommonService,\r\n private clientService: ClientsService,\r\n private notifierService: NotifierService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.dp2 = new Date();\r\n this.commonService.currentLoginUserInfo.subscribe((user) => {\r\n this.currentUser = user;\r\n });\r\n\r\n if (window.location.href.includes(\"web/lab/labclientsdetails\")) {\r\n this.isLabClientDetails = true;\r\n } else {\r\n this.isLabClientDetails = false;\r\n }\r\n // if (this.encryptedPatientId != undefined) {\r\n // this.patientId = this.commonService.encryptValue(\r\n // this.encryptedPatientId,\r\n // false\r\n // );\r\n // } else {\r\n // this.patientId = 0;\r\n // this.appointmentId = 0;\r\n // }\r\n this.testFormGroup = this.formBuilder.group({\r\n searchKey: \"\",\r\n rangeStartDate: \"\",\r\n rangeEndDate: \"\",\r\n });\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.patientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n } else {\r\n this.patientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n }\r\n // this.setIntialValues();\r\n this.getAllLabReferrals();\r\n }\r\n get f() {\r\n return this.testFormGroup.controls;\r\n }\r\n\r\n setIntialValues() {\r\n var date = new Date();\r\n this.f.rangeStartDate.setValue(\r\n new Date(date.getFullYear(), date.getMonth() - 0, 1)\r\n );\r\n this.f.rangeEndDate.setValue(\r\n new Date(date.getFullYear(), date.getMonth() + 1, 0)\r\n );\r\n }\r\n applyStartDateFilter(event: MatDatepickerInputEvent) {\r\n this.f.rangeStartDate.setValue(new Date(event.value));\r\n this.getAllLabReferrals();\r\n }\r\n applyEndDateFilter(event: MatDatepickerInputEvent) {\r\n this.f.rangeEndDate.setValue(new Date(event.value));\r\n this.getAllLabReferrals();\r\n }\r\n\r\n onTableActionClick(action: any, data: any) {\r\n const actionObj = {\r\n action,\r\n data,\r\n };\r\n if (actionObj.action == \"view\") {\r\n this.openTestDownloadModal(actionObj);\r\n }\r\n }\r\n openTestDownloadModal(data: any) {\r\n const modalPopup = this.dialogModal.open(LabTestDownloadModalComponent, {\r\n hasBackdrop: true,\r\n width: \"30%\",\r\n data: data,\r\n });\r\n modalPopup.afterClosed().subscribe((result) => {});\r\n }\r\n createReferral() {\r\n let referralModal;\r\n referralModal = this.dialogModal.open(AddLabReferralModalComponent, {\r\n data: {\r\n id: this.userId,\r\n // referralList: this.labReferralList,\r\n patientId: this.patientId,\r\n appointmentId: this.appointmentId,\r\n },\r\n });\r\n referralModal.afterClosed().subscribe((result) => {\r\n if (result == \"save\") {\r\n this.getAllLabReferrals();\r\n }\r\n });\r\n }\r\n\r\n ReshareRefferal(data:any) {\r\n let referralModal;\r\n referralModal = this.dialogModal.open(AddLabReferralModalComponent, {\r\n data: {\r\n id: this.userId,\r\n // referralList: this.labReferralList,\r\n testIds:data.testIds,\r\n patientId:data.patientId,\r\n notes:data.notes,\r\n labId:data.labId,\r\n appointmentId: this.appointmentId,\r\n },\r\n });\r\n referralModal.afterClosed().subscribe((result) => {\r\n if (result == \"save\") {\r\n this.getAllLabReferrals();\r\n }\r\n });\r\n }\r\n getAllLabReferrals() {\r\n // let fromDate = this.f.rangeStartDate.value == null? '' : this.f.rangeStartDate.value;\r\n // let toDate = this.f.rangeEndDate.value == null? '' : this.f.rangeEndDate.value;\r\n // let searchKey = this.f.searchKey.value == null? '' : this.f.searchKey.value;\r\n let fromDate =\r\n this.f.rangeStartDate.value != null && this.f.rangeStartDate.value != \"\"\r\n ? this.datePipe.transform(\r\n new Date(this.f.rangeStartDate.value),\r\n \"MM/dd/yyyy\"\r\n )\r\n : \"\";\r\n let toDate =\r\n this.f.rangeEndDate.value != null && this.f.rangeEndDate.value != \"\"\r\n ? this.datePipe.transform(\r\n new Date(this.f.rangeEndDate.value),\r\n \"MM/dd/yyyy\"\r\n )\r\n : \"\";\r\n let searchKey =\r\n this.f.searchKey.value == null ? \"\" : this.f.searchKey.value;\r\n // console.log(\r\n // \"called\",\r\n // this.currentUser.id,\r\n // this.patientId,\r\n // this.roleId,\r\n // this.appointmentId\r\n // );\r\n this.clientService\r\n .getAllLabReferrals(\r\n this.isLabClientDetails ? 0 : this.currentUser.id,\r\n this.patientId,\r\n \"LAB\",\r\n this.appointmentId,\r\n searchKey,\r\n fromDate,\r\n toDate,\r\n this.pageSize,\r\n this.currentPage + 1,\r\n this.isLabClientDetails ? this.currentUser.id : 0\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n // this.clientService.getAllLabReferrals(this.currentUser.id, this.roleId, this.appointmentId, '', new Date(),new Date()).subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n // console.log(response.data);\r\n\r\n response.data.map((ele) =>\r\n ele.labName\r\n ? (ele.labName = ele.labName)\r\n : (ele.labName = ele.fullLabName)\r\n );\r\n this.totalSize =\r\n response.data.length > 0 ? response.data[0].totalRecord : 0;\r\n this.labReferralList = new MatTableDataSource(response.data);\r\n this.labReferralList.paginator = this.paginator;\r\n // this.labReferralList = response.data;\r\n this.metaData = response.meta;\r\n } else {\r\n this.labReferralList = [];\r\n this.metaData = null;\r\n this.totalSize = 0;\r\n }\r\n });\r\n }\r\n clearFilters() {\r\n this.testFormGroup.reset();\r\n this.getAllLabReferrals();\r\n }\r\n downloadTemplate = (act) => {\r\n let fileName = act.patientName;\r\n this.clientService\r\n .getLabReferralPdfById(act.labReferralId)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = fileURL;\r\n a.download = fileName;\r\n a.click();\r\n a.remove();\r\n\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(file);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n };\r\n viewDocument = (act) => {\r\n // window.open(act.data.url, '_blank')\r\n this.clientService\r\n .getLabReferralPdfById(act.labReferralId)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let newBlob = new Blob([uIntArray], { type: \"application/pdf\" });\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n };\r\n\r\n viewInsuranceDocument(act: any) {\r\n this.clientService\r\n .PatientInsurancePdfByPatientId(this.patientId)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let newBlob = new Blob([uIntArray], { type: \"application/pdf\" });\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n }\r\n downloadInsuranceTemplate(act: any) {\r\n\r\n // console.log(\"this patient id:\", this.patientId)\r\n let fileName = act.patientName;\r\n this.clientService\r\n .PatientInsurancePdfByPatientId(this.patientId)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = fileURL;\r\n a.download = fileName;\r\n a.click();\r\n a.remove();\r\n\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(file);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n }\r\n\r\n setPagePaginator = (event: any) => {\r\n // console.log(event);\r\n this.pageSize = event.pageSize;\r\n this.currentPage = event.pageIndex;\r\n this.getAllLabReferrals();\r\n };\r\n\r\n imageInhancer = (element) => {\r\n // console.log(element);\r\n\r\n const modalPopup = this.dialogModal.open(QRImageInhanserComponent, {\r\n hasBackdrop: true,\r\n minWidth: \"0%\",\r\n width: \"20%\",\r\n height: \"40vh\",\r\n data: element,\r\n });\r\n };\r\n}\r\n","module.exports = \".uplaod_pic img {\\r\\n height: 150px;\\r\\n max-width: 100%;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n background: rgba(0, 0, 0, 0.20);\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n font-size: 13px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 5px;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\"","module.exports = \"
\\r\\n

{{'Add Letter'|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_title'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_name'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Please enter template date'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\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, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { SignaturePad } from 'angular2-signaturepad/signature-pad';\r\nimport { CommonService } from 'src/app/super-admin-portal/core/services';\r\nimport { ClientsService } from '../../../../client-portal/clients.service';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport { TemplateModel } from '../../../template/template.model';\r\n\r\n@Component({\r\n selector: 'app-medi-certificate-modal',\r\n templateUrl: './medi-certificate-modal.component.html',\r\n styleUrls: ['./medi-certificate-modal.component.css']\r\n})\r\nexport class MediCertificateModalComponent implements OnInit {\r\n @ViewChild(SignaturePad) signaturePad: SignaturePad;\r\n private templateModel: TemplateModel\r\n templateForm: FormGroup;\r\n htmlContent: any;\r\n editorConfig: AngularEditorConfig;\r\n staffDetails: any;\r\n signDataUrl: string;\r\n submitted: boolean = false;\r\n templateId: number = 0;\r\n staffID: number = 0;\r\n logodataURL: any;\r\n stampdataURL: any;\r\n logoImagePreview: any;\r\n stampImagePreview: any;\r\n\r\n signaturePadOptions: Object = { // passed through to szimek/signature_pad constructor\r\n 'dotSize': parseFloat('0.1'),\r\n 'minWidth': 5,\r\n 'canvasWidth': 600,\r\n 'canvasHeight': 300\r\n };\r\n\r\n constructor(\r\n private notifier: NotifierService,\r\n private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private clientService: ClientsService,\r\n private commonService: CommonService,\r\n ) {\r\n this.templateModel = data.template;\r\n this.templateId = 1,//data.template.id;\r\n this.staffID = 158,//data.template.staffID;\r\n this.editorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: 'auto',\r\n minHeight: '10rem',\r\n maxHeight: 'auto',\r\n width: 'auto',\r\n minWidth: 'auto',\r\n translate: 'no',\r\n enableToolbar: false,\r\n showToolbar: true,\r\n placeholder: 'Enter text here...',\r\n defaultParagraphSeparator: '',\r\n defaultFontName: '',\r\n defaultFontSize: '',\r\n fonts: [\r\n { class: 'arial', name: 'Arial' },\r\n { class: 'times-new-roman', name: 'Times New Roman' },\r\n { class: 'calibri', name: 'Calibri' },\r\n { class: 'comic-sans-ms', name: 'Comic Sans MS' }\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText'\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n //sanitize: true,\r\n //toolbarPosition: 'top',\r\n // toolbarHiddenButtons: [\r\n // [\r\n // ],\r\n // [\r\n // 'customClasses',\r\n // 'link',\r\n // 'unlink',\r\n // 'insertImage',\r\n // 'insertVideo',\r\n // 'toggleEditorMode'\r\n // ]\r\n // ]\r\n };\r\n this.staffDetails = null;\r\n }\r\n\r\n ngOnInit() {\r\n this.htmlContent = this.templateModel.htmlContent;\r\n this.templateForm = this.formBuilder.group({\r\n title: [this.templateModel.title, Validators.required],\r\n name: [this.templateModel.templateName, Validators.required],\r\n date: [this.templateModel.date, Validators.required],\r\n logo: [],\r\n stamp: [],\r\n });\r\n }\r\n\r\n closeDialog(action: string) {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n onSubmit() {\r\n if (this.htmlContent === '' || this.htmlContent === undefined) {\r\n this.notifier.notify(\"error\", \"Notes is empty.\");\r\n return;\r\n }\r\n\r\n // else if (!this.signDataUrl) {\r\n // this.notifier.notify(\"error\", \"Sign is empty.\");\r\n // return;\r\n // }\r\n\r\n if (this.templateForm.invalid) {\r\n return this.templateForm;\r\n } else {\r\n this.submitted = true;\r\n this.templateModel = this.templateForm.value;\r\n this.templateModel.id = this.templateId;\r\n this.templateModel.staffID = this.staffID;\r\n this.templateModel.htmlContent = this.htmlContent;\r\n // this.templateModel.signature = (this.signDataUrl || \"\").split(\",\")[1]; \r\n // this.templateModel.logoBase64 = this.logodataURL;\r\n // this.templateModel.stampBase64 = this.stampdataURL;\r\n\r\n this.clientService.createTemplate(this.templateModel).subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message)\r\n this.closeDialog('save');\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n });\r\n }\r\n }\r\n\r\n drawComplete() {\r\n // will be notified of szimek/signature_pad's onEnd event\r\n // console.log(this.signaturePad.toDataURL());\r\n this.signDataUrl = this.signaturePad.toDataURL();\r\n }\r\n\r\n onClear() {\r\n this.signaturePad.clear();\r\n this.signDataUrl = null;\r\n }\r\n\r\n // sign pad\r\n ngAfterViewInit() {\r\n // // this.signaturePad is now available\r\n // this.signaturePad.set('minWidth', 5); // set szimek/signature_pad options at runtime\r\n // this.signaturePad.clear(); // invoke functions from szimek/signature_pad API\r\n }\r\n\r\n get formControls() {\r\n return this.templateForm.controls;\r\n }\r\n\r\n handleLogoImageChange(e) {\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.logodataURL = reader.result;\r\n this.logoImagePreview = this.logodataURL;\r\n\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n\r\n handleStampImageChange(e) {\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.stampdataURL = reader.result;\r\n this.stampImagePreview = this.stampdataURL;\r\n\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n\r\n removeLogoImage() {\r\n this.logodataURL = null;\r\n this.logoImagePreview = null;\r\n }\r\n\r\n removeStampImage() {\r\n this.stampdataURL = null;\r\n this.stampImagePreview = null;\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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, Input, OnInit } from '@angular/core';\r\nimport { VitalModalComponent } from '../vitals/vital-modal/vital-modal.component';\r\nimport { VitalModel } from '../vitals/vitals.model';\r\nimport { format } from 'date-fns';\r\nimport { FilterModel } from '../medication/medication.model';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NotifierService } from 'angular-notifier';\r\n\r\nimport { MatDialog } from '@angular/material';\r\nimport { DialogService } from 'src/app/shared/layout/dialog/dialog.service';\r\nimport { CommonService } from '../../../core/services';\r\nimport { MediCertificateModalComponent } from './medi-certificate-modal/medi-certificate-modal.component';\r\nimport { TemplateModel } from '../../template/template.model';\r\nimport { AddTemplateModalComponent } from '../../add-template-modal/add-template-modal.component';\r\nimport { ResponseModel } from '../../../core/modals/common-model';\r\nimport { ClientsService } from '../../../client-portal/clients.service';\r\nimport { Metadata } from 'src/app/super-admin-portal/core/modals/common-model';\r\n\r\n@Component({\r\n selector: 'app-medi-certificate',\r\n templateUrl: './medi-certificate.component.html',\r\n styleUrls: ['./medi-certificate.component.css']\r\n})\r\nexport class MediCertificateComponent implements OnInit {\r\n @Input() encryptedPatientId;\r\n @Input() encryptedPatientUserId;\r\n @Input() appointmentId: number = 0;\r\n templateData:TemplateModel;\r\n templateList: Array = [];\r\n metaData: any;\r\n currentUser:any;\r\n clientId: number;\r\n staffId:number;\r\n header: string = \"Med Certificate\";\r\n isGrid:boolean=false;\r\n\r\n\r\n displayColumns: Array = [\r\n {\r\n displayName: \"name\",\r\n key: \"name\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"date\",\r\n key: \"date\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"date\",\r\n },\r\n {\r\n displayName: \"created_date\",\r\n key: \"createdDate\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"date\",\r\n },\r\n {\r\n displayName: \"actions\",\r\n key: \"Actions\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n ];\r\n\r\n actionButtons: Array = [\r\n { displayName: \"Download\", key: \"download\", class: \"fa fa-download\" },\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n { displayName: \"Delete\", key: \"delete\", class: \"fa fa-trash\" },\r\n // { displayName: \"Edit\", key: \"edit\", class: \"fa fa-pencil\" },\r\n ];\r\n filterModel: FilterModel;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n public dialogModal: MatDialog,\r\n private commonService: CommonService,\r\n private clientService: ClientsService,\r\n private dialogService: DialogService,\r\n private notifier: NotifierService\r\n ) {\r\n this.metaData = new Metadata();\r\n this.metaData.pageNumber=1;\r\n this.metaData.pageSize=20;\r\n this.metaData.pageSizeOptions = [5,10,20,50,100]\r\n }\r\n ngOnInit() {\r\n this.commonService.currentLoginUserInfo.subscribe((user) => {\r\n this.currentUser = user;\r\n });\r\n this.commonService.loadingStateSubject.next(true);\r\n console.log(this.commonService.encryptValue(this.encryptedPatientId, false));\r\n console.log(this.commonService.encryptValue(this.encryptedPatientUserId, false));\r\n console.log(this.appointmentId)\r\n // console.log(\"hello hello\");\r\n this.commonService.loginUserSubject.subscribe((res)=>{\r\n \r\n this.staffId=res.data.id\r\n \r\n })\r\n // console.log(this.commonService.encryptValue(appointmentId, false));\r\n\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n } else {\r\n // console.log(this.appointmentId)\r\n this.clientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n } \r\n this.commonService.loadingStateSubject.next(false);\r\n this.getAllTemplates();\r\n }\r\n\r\n onTableActionClick(actionObj?: any) {\r\n const id = actionObj.data && actionObj.data.id;\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"DOWNLOAD\":\r\n this.downloadTemplate(actionObj);\r\n break;\r\n case \"VIEW\":\r\n this.viewTemplate(actionObj);\r\n break;\r\n // case \"EDIT\":\r\n // this.openDialog(id);\r\n // break;\r\n case \"DELETE\":\r\n this.deleteDetails(id);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n deleteDetails(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this template?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientService.deleteTemplate(id).subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getAllTemplates();\r\n } else if (response.statusCode === 401) {\r\n this.notifier.notify(\"warning\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n viewTemplate = (act) => {\r\n this.clientService\r\n .getTemplatePdfById(act.data.id)\r\n .subscribe((response: any) => {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = fileURL;\r\n link.target = \"_blank\";\r\n link.click();\r\n });\r\n };\r\n\r\n downloadTemplate = (act) => {\r\n let fileName = \"Template \" + act.data.name;\r\n this.clientService\r\n .getTemplatePdfById(act.data.id)\r\n .subscribe((response: any) => {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = fileURL;\r\n a.download = fileName;\r\n a.click();\r\n a.remove();\r\n });\r\n };\r\n\r\n\r\n getAllTemplates() {\r\n // let fromDate =\r\n // this.f.rangeStartDate.value != null && this.f.rangeStartDate.value != \"\"\r\n // ? this.datePipe.transform(\r\n // new Date(this.f.rangeStartDate.value),\r\n // \"MM/dd/yyyy\"\r\n // )\r\n // : \"\";\r\n // let toDate =\r\n // this.f.rangeEndDate.value != null && this.f.rangeEndDate.value != \"\"\r\n // ? this.datePipe.transform(\r\n // new Date(this.f.rangeEndDate.value),\r\n // \"MM/dd/yyyy\"\r\n // )\r\n // : \"\";\r\n // let searchKey =\r\n // this.f.searchKey.value == null ? \"\" : this.f.searchKey.value;\r\n\r\n this.clientService\r\n .getAllTemplates(this.currentUser.id,this.filterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.templateList = response.data;\r\n this.metaData = response.meta;\r\n this.metaData.pageSizeOptions = [5,10,15,25,50];\r\n } else {\r\n this.templateList = [];\r\n this.metaData = null;\r\n }\r\n });\r\n }\r\n\r\n onPageOrSortChange(changeState?: any) {\r\n this.setPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order,\r\n ''\r\n );\r\n this.getAllTemplates();\r\n }\r\n\r\n\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n searchText: string\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n }\r\n\r\n createTemplate(templateModel: TemplateModel) {\r\n if (templateModel.id == 0) {\r\n templateModel.id = 0;\r\n templateModel.title = \"\";\r\n templateModel.templateName = \"\";\r\n templateModel.staffID = this.staffId;\r\n templateModel.date = new Date();\r\n templateModel.htmlContent = \"\";\r\n templateModel.appointmentId=this.appointmentId;\r\n }\r\n\r\n let templateModal;\r\n templateModal = this.dialogModal.open(AddTemplateModalComponent, {\r\n data: { template: templateModel }\r\n });\r\n templateModal.afterClosed().subscribe((result) => {\r\n this.getAllTemplates();\r\n });\r\n }\r\n\r\n openDialog(){\r\n this.templateData = new TemplateModel();\r\n this.templateData.id = 0;\r\n this.appointmentId=this.appointmentId;\r\n this.createTemplate(this.templateData);\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{ headerText }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'medicine' | translate }}\\r\\n \\r\\n \\r\\n {{'Please enter medicine'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'dose' | translate }} ({{'number_of_tablets_ml'|translate}} )\\r\\n \\r\\n \\r\\n {{'Please enter dose'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'frequency' | translate }} ({{'select_how_many_times'|translate}})\\r\\n \\r\\n \\r\\n {{ rel.value | translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{'Please select frequency'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{'strength'|translate}}(\\r\\n {{'medicine strength e.g.,100mg, 50ml,etc.'|translate}})\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n

{{ headerText }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{' Please enter medicine'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Please enter dose'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value }}\\r\\n \\r\\n \\r\\n \\r\\n {{'Please select frequency'|translate}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Please enter strength'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\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, Output, EventEmitter, Inject } from \"@angular/core\";\r\nimport { MedicationModel } from \"../medication.model\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { ClientsService } from \"../../clients.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: \"app-medication-modal\",\r\n templateUrl: \"./medication-modal.component.html\",\r\n styleUrls: [\"./medication-modal.component.css\"],\r\n})\r\nexport class MedicationModalComponent implements OnInit {\r\n medicationModel: MedicationModel;\r\n medicationForm: FormGroup;\r\n medicationEditForm: FormGroup;\r\n medicationAddForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = this.translate.instant('Add Medication');\r\n masterFrequencyType: any[] = [];\r\n isEdit: boolean;\r\n patientId: number;\r\n maxDate = new Date();\r\n appointmentId: number = 0;\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n filtermasterFrequencyTypes: Array = [];\r\n filterString: any;\r\n filterFrequencyId: number = 0;\r\n //construtor\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private medicationDialogModalRef: MatDialogRef,\r\n private clientService: ClientsService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private datePipe: DatePipe,\r\n private translate:TranslateService,\r\n\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.medicationModel = data.medication ? data.medication : data;\r\n // console.log(\"Medial Data\", data);\r\n //header text updation\r\n if (this.medicationModel.id == null) {\r\n // console.log(\"AddFormHIt\", this.medicationModel);\r\n this.isEdit = false;\r\n this.headerText = this.translate.instant('Add Medication');\r\n this.appointmentId = this.medicationModel.appointmentId;\r\n } else {\r\n // console.log(\"EditFormHit\", this.medicationModel);\r\n this.isEdit = true;\r\n this.headerText = this.translate.instant('Edit Medication');\r\n this.medicationModel = this.medicationModel;\r\n }\r\n }\r\n\r\n // on initial load\r\n ngOnInit() {\r\n this.getMasterData();\r\n this.medicationAddForm = this.formBuilder.group({\r\n id: [0],\r\n patientId: this.medicationModel.patientId,\r\n dose: [],\r\n endDate: [],\r\n frequencyID: ['',Validators.required],\r\n medicine: ['',Validators.required],\r\n startDate: [],\r\n strength: ['',Validators.required],\r\n });\r\n this.medicationEditForm = this.formBuilder.group({\r\n id: [],\r\n dose: [],\r\n patientId: this.medicationModel.patientId,\r\n endDate: [],\r\n frequencyID: ['',Validators.required],\r\n medicine: ['',Validators.required],\r\n startDate: [],\r\n strength: ['',Validators.required],\r\n });\r\n this.setEditForm();\r\n }\r\n setEditForm() {\r\n // const timestamp = \"0001-01-01T00:00:00\";\r\n // const date = new Date(timestamp);\r\n // const medicationStartDate = this.medicationModel.startDate;\r\n // const medicationEndDate = this.medicationModel.endDate;\r\n this.filterString = this.medicationModel.frequencyName;\r\n this.filterFrequencyId = this.medicationModel.frequencyID;\r\n this.medicationEditForm = this.formBuilder.group({\r\n id: this.medicationModel.id,\r\n patientId: this.medicationModel.patientId,\r\n dose: this.medicationModel.dose,\r\n endDate: this.medicationModel.endDate,\r\n frequencyID: this.medicationModel.frequencyID, // this.medicationModel.globalCodeName,\r\n medicine: this.medicationModel.medicine,\r\n startDate: this.medicationModel.startDate,\r\n strength: this.medicationModel.strength,\r\n });\r\n }\r\n //call master data for drop down\r\n getMasterData() {\r\n let data = \"FREQUENCYTYPE\";\r\n this.clientService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterFrequencyType =\r\n response.masterFrequencyType != null\r\n ? response.masterFrequencyType\r\n : [];\r\n // console.log(this.masterFrequencyType,\"master\")\r\n }\r\n });\r\n }\r\n\r\n frequencyTypeHandler = (e) => {\r\n if (e !== \"\" && e != undefined) {\r\n this.filtermasterFrequencyTypes = this.masterFrequencyType.filter(\r\n (doc) => doc.value.toLowerCase().indexOf(e) != -1\r\n );\r\n } else {\r\n this.filtermasterFrequencyTypes = [];\r\n }\r\n }; \r\n\r\n onSelectChange(data, type) {\r\n // console.log(\"onselection frequency get called\");\r\n if (type == \"frequency\") {\r\n this.filterString = data.value;\r\n this.filterFrequencyId = data.id;\r\n \r\n }\r\n }\r\n // get all the controls\r\n get addFormControls() {\r\n return this.medicationAddForm.controls;\r\n }\r\n\r\n get editFormControls() {\r\n return this.medicationEditForm.controls;\r\n }\r\n\r\n //submit the form\r\n onSubmit(event: any) {\r\n if (!this.medicationAddForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n\r\n this.medicationModel = this.medicationAddForm.value;\r\n this.medicationModel.appointmentId = this.appointmentId;\r\n // this.medicationModel.frequencyName =\r\n // this.filterString == null || this.filterString == undefined\r\n // ? \"\"\r\n // : this.filterString;\r\n // if (\r\n // this.masterFrequencyType.findIndex(\r\n // (d) =>\r\n // d.value.toLowerCase() ==\r\n // this.medicationModel.frequencyName.toLowerCase()\r\n // ) == -1\r\n // ) {\r\n // this.filterFrequencyId = 0;\r\n // }\r\n // this.medicationModel.frequencyID =\r\n // this.filterFrequencyId == null || this.filterFrequencyId == undefined\r\n // ? 0\r\n // : this.filterFrequencyId;\r\n // this.patientId = this.medicationModel.patientId;\r\n \r\n\r\n\r\n \r\n // console.log(this.addFormControls);\r\n this.medicationModel.frequencyID =this.addFormControls.frequencyID.value;\r\n const selectedfreq=this.masterFrequencyType.filter((f)=>f.id==this.medicationModel.frequencyID);\r\n this.medicationModel.frequencyName= selectedfreq[0].values;\r\n \r\n\r\n this.medicationModel.startDate =\r\n this.medicationAddForm.controls[\"startDate\"].value != null\r\n ? this.datePipe.transform(\r\n this.medicationAddForm.controls[\"startDate\"].value,\r\n \"MM/dd/yyyy\"\r\n )\r\n : null;\r\n\r\n this.medicationModel.endDate =\r\n this.medicationAddForm.controls[\"endDate\"].value != null\r\n ? this.datePipe.transform(\r\n this.medicationAddForm.controls[\"endDate\"].value,\r\n \"MM/dd/yyyy\"\r\n )\r\n : null;\r\n\r\n\r\n\r\n // this.medicationAddForm.controls[\"endDate\"].value != null\r\n // ? format(\r\n // this.medicationAddForm.controls[\"endDate\"].value,\r\n // \"YYYY/DD/MM\"\r\n // )\r\n // : null;\r\n this.medicationModel.patientId = parseInt(\r\n this.medicationAddForm.controls[\"patientId\"].value\r\n );\r\n\r\n this.clientService\r\n .createMedication(this.medicationModel)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n if (clickType == \"Save\") this.closeDialog(\"SAVE\");\r\n else if (clickType == \"SaveAddMore\") {\r\n this.refreshGrid.next();\r\n this.medicationAddForm.reset();\r\n //this.medicationDialogModalRef.close('SAVE');\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n onEditSubmit(event: any) {\r\n debugger\r\n if (!this.medicationEditForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.medicationModel = this.medicationEditForm.value;\r\n // this.medicationModel.patientId = this.medicationModel.patientId;\r\n // this.medicationModel.frequencyID = this.filterFrequencyId;\r\n // this.medicationModel.frequencyName = this.filterString;\r\n this.medicationModel.frequencyID =this.editFormControls.frequencyID.value;\r\n const selectedfreq=this.masterFrequencyType.filter((f)=>f.id==this.medicationModel.frequencyID);\r\n this.medicationModel.frequencyName= selectedfreq[0].values;\r\n this.medicationModel.startDate =\r\n this.medicationEditForm.controls[\"startDate\"].value != null\r\n ? this.datePipe.transform(\r\n this.medicationEditForm.controls[\"startDate\"].value,\r\n \"MM/dd/yyyy\"\r\n )\r\n : null;\r\n\r\n this.medicationModel.endDate =\r\n this.medicationEditForm.controls[\"endDate\"].value != null\r\n ? this.datePipe.transform(\r\n this.medicationEditForm.controls[\"endDate\"].value,\r\n \"MM/dd/yyyy\"\r\n )\r\n : null;\r\n\r\n this.medicationModel.patientId = parseInt(\r\n this.medicationEditForm.controls[\"patientId\"].value\r\n );\r\n this.clientService\r\n .createMedication(this.medicationModel)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n if (clickType == \"Save\") this.closeDialog(\"SAVE\");\r\n else if (clickType == \"SaveAddMore\") {\r\n this.refreshGrid.next();\r\n this.medicationEditForm.reset();\r\n //this.medicationDialogModalRef.close('SAVE');\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n else{\r\n this.notifier.notify(\"warning\", \"please enter required inputs\");\r\n }\r\n }\r\n //to close popup\r\n closeDialog(action: string): void {\r\n this.medicationDialogModalRef.close(action);\r\n // window.location.reload()\r\n }\r\n}\r\n","module.exports = \"@media screen and (max-width:767px) {\\r\\n .gap-5 {\\r\\n gap: 10px;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'medicine'|translate}} : {{medication.medicine}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

{{'dose'|translate}} : {{medication.dose}}

\\r\\n

{{'start_date'|translate}} : {{medication.startDate ==\\\"Invalid Date\\\"\\r\\n ?'':medication.startDate}}

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

{{'strength'|translate}} : {{medication.strength}}

\\r\\n

{{'end_date'|translate}} : {{medication.endDate ==\\\"Invalid Date\\\" ?'':medication.endDate}}\\r\\n

\\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 {\r\n Component,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Input,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { MedicationModel } from \"./medication.model\";\r\nimport { ClientsService } from \"../clients.service\";\r\nimport { DialogService } from \"../../../../../shared/layout/dialog/dialog.service\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { FilterModel, ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { format } from \"date-fns\";\r\nimport { MedicationModalComponent } from \"./medication-modal/medication-modal.component\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { AddPrescriptionComponent } from \"../prescription/prescription-addprescription/prescription-addprescription.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { debounce, distinctUntilChanged, switchMap } from \"rxjs/operators\";\r\nimport { Observable, of, timer } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"app-medication\",\r\n templateUrl: \"./medication.component.html\",\r\n styleUrls: [\"./medication.component.css\"],\r\n})\r\nexport class MedicationComponent implements OnInit {\r\n medicationModel: MedicationModel;\r\n medicationList: Array = [];\r\n clientId: number;\r\n addPermission: boolean;\r\n updatePermission: boolean;\r\n deletePermission: boolean;\r\n header: string = this.translate.instant(\"Client Medication\");\r\n tooltipdMessage = \"Maximum 7 medications are allowed\";\r\n maxAllowedLimit = 12;\r\n isHistoryShareable: boolean;\r\n @Input() encryptedPatientId;\r\n @Input() appointmentId: number = 0;\r\n @ViewChild(\"tabContent\", { read: ViewContainerRef })\r\n tabContent: ViewContainerRef;\r\n MedicationFilterFormGroup: FormGroup;\r\n filterModel: FilterModel\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private clientsService: ClientsService,\r\n private dialogService: DialogService,\r\n private medicationDialogModal: MatDialog,\r\n private notifier: NotifierService,\r\n private commonService: CommonService,\r\n private cfr: ComponentFactoryResolver,\r\n private translate: TranslateService,\r\n private formBuilder: FormBuilder,\r\n\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n } else {\r\n // console.log(this.appointmentId)\r\n this.clientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n }\r\n this.MedicationFilterFormGroup = this.formBuilder.group({\r\n searchKey: \"\",\r\n })\r\n\r\n this.filterModel = new FilterModel();\r\n this.MedicationFilterFormGroup.get(\"searchKey\")!.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounce(input => input.length <= 3 ? timer(3000) : timer(0)),\r\n switchMap(searchTerm => this.searchapi())\r\n ).subscribe();\r\n\r\n //initialization of model\r\n this.medicationModel = new MedicationModel();\r\n this.medicationList = [];\r\n this.getAppointmentDetails();\r\n\r\n\r\n if (this.appointmentId && this.appointmentId > 0) {\r\n // this.getmedicationByAppointmentId();\r\n this.getMedicationList();\r\n } else {\r\n this.getMedicationList();\r\n }\r\n this.getUserPermissions();\r\n // this.showPrescription();\r\n }\r\n\r\n\r\n searchapi(): Observable {\r\n\r\n this.getMedicationList();\r\n return of(null);\r\n }\r\n\r\n get m() {\r\n return this.MedicationFilterFormGroup.controls;\r\n }\r\n\r\n\r\n getAppointmentDetails() {\r\n this.commonService.loadingStateSubject.next(true);\r\n this.clientsService\r\n .getClientProfileInfo(this.clientId)\r\n .subscribe((responce) => {\r\n this.isHistoryShareable =\r\n responce.data.patientInfo[0].isHistoryShareable;\r\n this.isHistoryShareable = this.appointmentId == 0 ? this.isHistoryShareable : false;\r\n this.commonService.loadingStateSubject.next(false);\r\n });\r\n }\r\n\r\n showPrescription() {\r\n let factory = this.cfr.resolveComponentFactory(AddPrescriptionComponent);\r\n this.tabContent.clear();\r\n let comp: ComponentRef =\r\n this.tabContent.createComponent(factory);\r\n comp.instance.showbuttons = false;\r\n }\r\n\r\n getMedicationList() {\r\n\r\n this.filterModel.searchText =\r\n this.m.searchKey.value == null ? \"\" : this.m.searchKey.value;\r\n this.clientsService\r\n .getMedicationList(this.clientId, this.filterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response != null &&\r\n response.data != null &&\r\n response.data.length > 0 &&\r\n response.statusCode == 200\r\n ) {\r\n this.medicationList = response.data;\r\n this.medicationList = (response.data || []).map((obj: any) => {\r\n obj.startDate = format(obj.startDate, \"DD/MM/YYYY\");\r\n obj.endDate = format(obj.endDate, \"DD/MM/YYYY\");\r\n return obj;\r\n });\r\n } else {\r\n this.medicationList = [];\r\n }\r\n });\r\n }\r\n\r\n\r\n getmedicationByAppointmentId() {\r\n this.clientsService\r\n .getmedicationByAppointmentId(this.appointmentId)\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response != null &&\r\n response.data != null &&\r\n response.data.length > 0 &&\r\n response.statusCode == 200\r\n ) {\r\n this.medicationList = response.data;\r\n this.medicationList = (response.data || []).map((obj: any) => {\r\n obj.startDate = format(obj.startDate, \"DD/MM/YYYY\");\r\n obj.endDate = format(obj.endDate, \"DD/MM/YYYY\");\r\n return obj;\r\n });\r\n } else {\r\n this.medicationList;\r\n }\r\n });\r\n }\r\n\r\n openDialog(id?: number) {\r\n // console.log(id);\r\n if (id != null && id > 0) {\r\n this.clientsService.getmedicationById(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.medicationModel = response.data;\r\n this.createModal(this.medicationModel);\r\n }\r\n });\r\n } else {\r\n this.medicationModel = new MedicationModel();\r\n this.createModal(this.medicationModel);\r\n }\r\n }\r\n\r\n createModal(medicationModel: MedicationModel) {\r\n this.medicationModel.patientId = this.clientId;\r\n this.medicationModel.appointmentId = this.appointmentId;\r\n let medicationModal;\r\n medicationModal = this.medicationDialogModal.open(\r\n MedicationModalComponent,\r\n {\r\n data: {\r\n medication: this.medicationModel,\r\n refreshGrid: this.refreshGrid.bind(this),\r\n },\r\n }\r\n );\r\n medicationModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") {\r\n if (this.appointmentId && this.appointmentId > 0) {\r\n // this.getmedicationByAppointmentId();\r\n this.getMedicationList();\r\n } else {\r\n this.getMedicationList();\r\n }\r\n }\r\n });\r\n }\r\n refreshGrid() {\r\n this.getMedicationList();\r\n }\r\n\r\n delete(id: number, patientId: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this family history?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientsService\r\n .deleteMedication(id, patientId)\r\n .subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getMedicationList();\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n clearFilterMedication() {\r\n this.MedicationFilterFormGroup.reset({\r\n searchKey: \"\",\r\n })\r\n this.getMedicationList();\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions =\r\n this.clientsService.getUserScreenActionPermissions(\r\n \"CLIENT\",\r\n \"CLIENT_MEDICATION_LIST\"\r\n );\r\n const {\r\n CLIENT_MEDICATION_LIST_ADD,\r\n CLIENT_MEDICATION_LIST_UPDATE,\r\n CLIENT_MEDICATION_LIST_DELETE,\r\n } = actionPermissions;\r\n\r\n this.addPermission = CLIENT_MEDICATION_LIST_ADD || false;\r\n this.updatePermission = CLIENT_MEDICATION_LIST_UPDATE || false;\r\n this.deletePermission = CLIENT_MEDICATION_LIST_DELETE || false;\r\n }\r\n\r\n disableButton() {\r\n return (\r\n this.medicationList && this.medicationList.length > this.maxAllowedLimit\r\n );\r\n }\r\n}\r\n","export class MedicationModel {\r\n id: number;\r\n patientId: number;\r\n appointmentId?: number;\r\n medicine: string;\r\n dose: string;\r\n strength: string;\r\n startDate: any;\r\n endDate: any;\r\n frequencyID: number;\r\n globalCodeName: string;\r\n frequency: string;\r\n frequencyName?:string\r\n\r\n}\r\nexport class FilterModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 5;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n roleId: number;\r\n}\r\n","module.exports = \".test_name_block{\\r\\n display: -webkit-box; /* Required for -webkit-line-clamp to work */\\r\\n -webkit-line-clamp: 4; /* Limit to 4 lines */\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: normal; /* Allow the text to wrap */\\r\\n max-height: 7em; /* Adjust this value to fit four lines, depends on line-height */\\r\\n line-height: 1.5em; /* Adjust this value according to your font size */\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"PrescriptionNo\\\" | translate }}\\r\\n \\r\\n {{ element.prescriptionNo }}\\r\\n \\r\\n {{ \\\"CreatorName\\\" | translate }}\\r\\n \\r\\n {{ element.creatorName }}\\r\\n \\r\\n {{ \\\"created_date\\\" | translate }}\\r\\n \\r\\n {{ element.createdDate }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n • {{ item }}\\r\\n
\\r\\n
\\r\\n\\r\\n
3\\\"\\r\\n style=\\\"width: 100%; display: flex; justify-content: right\\\">\\r\\n .....\\r\\n
\\r\\n
{{\\\"actions\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport {\r\n MatDatepickerInputEvent,\r\n MatDialog,\r\n MatTableDataSource,\r\n} from \"@angular/material\";\r\nimport { format } from \"date-fns\";\r\nimport { SelectionModel } from \"@angular/cdk/collections\";\r\nimport {\r\n PrescriptionModel,\r\n PrescriptionDownloadModel,\r\n} from \"../prescription.model\";\r\nimport { FilterModel, Metadata } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { ClientsService } from \"../../clients.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { DialogService } from \"src/app/shared/layout/dialog/dialog.service\";\r\nimport { PrescriptionModalComponent } from \"../prescription-modal/prescription-modal.component\";\r\nimport { PrescriptionFaxModalComponent } from \"../prescription-fax-modal/prescription-fax-modal.component\";\r\nimport { PharmacyDialogComponent } from \"src/app/platform/modules/client-portal/pharmacy-dialog/pharmacy-dialog.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport {\r\n debounce,\r\n debounceTime,\r\n distinctUntilChanged,\r\n filter,\r\n mergeMap,\r\n switchMap,\r\n tap,\r\n} from \"rxjs/operators\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { Observable, observable, of, timer } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"app-add-prescription\",\r\n templateUrl: \"./prescription-addprescription.component.html\",\r\n styleUrls: [\"./prescription-addprescription.component.css\"],\r\n})\r\nexport class AddPrescriptionComponent implements OnInit {\r\n allergyData: PrescriptionModel[];\r\n prescriptionListingData: PrescriptionModel[];\r\n prescriptiondownloadmodel = new PrescriptionDownloadModel();\r\n filterModel: FilterModel;\r\n metaData: Metadata;\r\n stringprescriptionIds: string;\r\n actionButtons: Array;\r\n clientId: number;\r\n addPermission: boolean;\r\n header: string = \"Client Prescription\";\r\n selection = new SelectionModel(true, []);\r\n dataSource = new MatTableDataSource();\r\n public prescriptionIds: string[] = [];\r\n displayedColumns: string[] = [\r\n \"select\",\r\n \"prescriptionNo\",\r\n // \"drugName\",\r\n // \"strength\",\r\n // \"directions\",\r\n // \"startDate\",\r\n // \"endDate\",\r\n \"creatorName\",\r\n \"createdDate\",\r\n \"drugNames\",\r\n \"actions\",\r\n ];\r\n @Input(\"showbuttons\") showbuttons = true;\r\n @Input() encryptedPatientId;\r\n @Input() appointmentId: number = 0;\r\n testFormGroup: FormGroup;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private activatedRoute: ActivatedRoute,\r\n private notifier: NotifierService,\r\n private clientsService: ClientsService,\r\n public activityModal: MatDialog,\r\n private dialogService: DialogService,\r\n private commonService: CommonService,\r\n private translate: TranslateService,\r\n private route: Router\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.metaData = new Metadata();\r\n }\r\n\r\n //on inital load\r\n ngOnInit() {\r\n // this.activatedRoute.queryParams.subscribe((params) => {\r\n /// this.clientId =\r\n // params.id == undefined\r\n // ? null\r\n //: this.commonService.encryptValue(params.id, false); //\r\n // });\r\n this.testFormGroup = this.formBuilder.group({\r\n searchKey: \"\",\r\n rangeStartDate: null,\r\n rangeEndDate: null,\r\n });\r\n\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n } else {\r\n let encryptedValue: string = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n\r\n this.clientId = parseInt(encryptedValue, 10);\r\n }\r\n\r\n this.filterModel = new FilterModel();\r\n\r\n this.testFormGroup\r\n .get(\"searchKey\")!\r\n .valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounce((input) => (input.length <= 3 ? timer(3000) : timer(0))),\r\n switchMap((searchTerm) => this.searchapi())\r\n )\r\n .subscribe();\r\n\r\n this.getPrescriptionList(this.filterModel);\r\n this.getUserPermissions();\r\n }\r\n\r\n searchapi(): Observable {\r\n this.getPrescriptionList(this.filterModel);\r\n return of(null);\r\n }\r\n\r\n get f() {\r\n return this.testFormGroup.controls;\r\n }\r\n\r\n //listing of allergies\r\n getPrescriptionList(filterModel) {\r\n this.filterModel.fromDate = this.formatDate(this.f.rangeStartDate.value);\r\n this.filterModel.toDate = this.formatDate(this.f.rangeEndDate.value);\r\n this.filterModel.searchText =\r\n this.f.searchKey.value == null ? \"\" : this.f.searchKey.value;\r\n this.clientsService\r\n .getPrescriptionList(this.clientId, this.filterModel, 0)\r\n .subscribe((response: any) => {\r\n // console.log(response, \"getPrescriptionList\");\r\n if (response.statusCode === 200) {\r\n this.prescriptionListingData = response.data;\r\n this.dataSource.data = this.prescriptionListingData;\r\n this.prescriptionListingData = (response.data || []).map(\r\n (obj: any) => {\r\n obj.createdDate = format(obj.createdDate, \"DD/MM/YYYY\");\r\n // obj.startDate != null\r\n // ? (obj.startDate = format(obj.startDate, \"DD/MM/YYYY\"))\r\n // : null;\r\n // obj.endDate != null\r\n // ? (obj.endDate = format(obj.endDate, \"DD/MM/YYYY\"))\r\n // : null;\r\n // obj.status = obj.isActive ? \"ACTIVE\" : \"INACTIVE\";\r\n // return obj;\r\n }\r\n );\r\n this.metaData = response.meta || new Metadata();\r\n } else {\r\n this.prescriptionListingData = [];\r\n this.dataSource.data = [];\r\n this.metaData = new Metadata();\r\n }\r\n });\r\n }\r\n formatDate(date: Date): string {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n const year = date.getFullYear();\r\n const month = date.getMonth() + 1;\r\n const day = date.getDate();\r\n\r\n const formattedDate = `${year}-${month.toString().padStart(2, \"0\")}-${day\r\n .toString()\r\n .padStart(2, \"0\")}`;\r\n\r\n return formattedDate;\r\n }\r\n\r\n //page load and sorting\r\n onPageOrSortChange(changeState?: any) {\r\n changeState.pageNumber = changeState.pageIndex + 1;\r\n this.setPaginatorModel(\r\n changeState.pageNumber,\r\n this.filterModel.pageSize,\r\n \"\",\r\n \"\",\r\n this.filterModel.searchText\r\n );\r\n this.getPrescriptionList(this.filterModel);\r\n }\r\n\r\n sharePrescriptionToPharmacy() {\r\n if (this.prescriptionIds.length == 0) {\r\n this.notifier.notify(\"error\", \"Please select atleast one medicine\");\r\n } else {\r\n const dialog = this.activityModal.open(PharmacyDialogComponent, {\r\n width: \"150px\",\r\n data: {\r\n prescriptionId: this.prescriptionIds,\r\n patientId: this.clientId,\r\n },\r\n });\r\n }\r\n }\r\n\r\n //table action\r\n onTableActionClick(actionObj?: any) {\r\n const id = actionObj.data && actionObj.data.id;\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"EDIT\":\r\n this.openDialog(id);\r\n break;\r\n case \"DELETE\":\r\n this.deleteDetails(id, this.clientId);\r\n break;\r\n case \"DOWNLOAD\":\r\n this.DownloadPrescription();\r\n break;\r\n case \"FAX\":\r\n this.openfaxDialog(id);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n //open popup\r\n openDialog(id: any) {\r\n if (id != null) {\r\n this.clientsService.getPrescriptionById(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.allergyData = response.data;\r\n if (this.allergyData != null && this.allergyData.length > 0) {\r\n this.createditModel(this.allergyData);\r\n }\r\n }\r\n });\r\n } else {\r\n this.allergyData = new Array();\r\n\r\n this.createModel(this.allergyData);\r\n }\r\n }\r\n\r\n //create modal\r\n createModel(allergyData: PrescriptionModel[]) {\r\n let allergydata = new PrescriptionModel();\r\n allergydata.patientId = this.clientId;\r\n allergydata.appointmentId = this.appointmentId;\r\n allergyData.push(allergydata);\r\n const modalPopup = this.activityModal.open(PrescriptionModalComponent, {\r\n hasBackdrop: true,\r\n data: { allergy: allergyData, refreshGrid: this.refreshGrid.bind(this) },\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result === \"SAVE\") {\r\n this.getPrescriptionList(this.filterModel);\r\n }\r\n });\r\n }\r\n\r\n createditModel(allergyData: PrescriptionModel[]) {\r\n // allergyData[0].patientId = this.clientId;\r\n // allergyData[0].appointmentId = this.appointmentId;\r\n const modalPopup = this.activityModal.open(PrescriptionModalComponent, {\r\n hasBackdrop: true,\r\n data: { allergy: allergyData, refreshGrid: this.refreshGrid.bind(this) },\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result === \"SAVE\") {\r\n this.getPrescriptionList(this.filterModel);\r\n }\r\n });\r\n }\r\n refreshGrid() {\r\n this.getPrescriptionList(this.filterModel);\r\n }\r\n deleteDetails(id: any, clientId: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this prescription?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientsService\r\n .deletePrescription(id, clientId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getPrescriptionList(this.filterModel);\r\n } else if (response.statusCode === 401) {\r\n this.notifier.notify(\"warning\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n searchText: string\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions =\r\n this.clientsService.getUserScreenActionPermissions(\r\n \"CLIENT\",\r\n \"CLIENT_ALLERGIES_LIST\"\r\n );\r\n const {\r\n CLIENT_ALLERGIES_LIST_ADD,\r\n CLIENT_ALLERGIES_LIST_UPDATE,\r\n CLIENT_ALLERGIES_LIST_DELETE,\r\n } = actionPermissions;\r\n if (!CLIENT_ALLERGIES_LIST_UPDATE) {\r\n let spliceIndex = this.actionButtons.findIndex(\r\n (obj) => obj.key == \"edit\"\r\n );\r\n this.actionButtons.splice(spliceIndex, 1);\r\n }\r\n if (!CLIENT_ALLERGIES_LIST_DELETE) {\r\n let spliceIndex = this.actionButtons.findIndex(\r\n (obj) => obj.key == \"delete\"\r\n );\r\n this.actionButtons.splice(spliceIndex, 1);\r\n }\r\n\r\n this.addPermission = CLIENT_ALLERGIES_LIST_ADD || false;\r\n this.addPermission = true;\r\n }\r\n\r\n DownloadPrescription() {\r\n if (this.stringprescriptionIds) {\r\n this.prescriptiondownloadmodel.PrescriptionId =\r\n this.stringprescriptionIds;\r\n this.prescriptiondownloadmodel.patientId = this.clientId;\r\n this.prescriptiondownloadmodel.Issentprescription = false;\r\n this.prescriptiondownloadmodel.IsMedicationDownload = false;\r\n this.clientsService\r\n .DownloadPrescription(this.prescriptiondownloadmodel)\r\n .subscribe((response: any) => {\r\n const files = Array.isArray(response) ? response : [response];\r\n files.forEach((file) => {\r\n const byteArray = new Uint8Array(\r\n atob(file.fileContent)\r\n .split(\"\")\r\n .map((char) => char.charCodeAt(0))\r\n );\r\n const blob = new Blob([byteArray], { type: \"application/pdf\" });\r\n const nav = window.navigator as any;\r\n this.clientsService.downLoadFile(\r\n blob,\r\n \"application/pdf\",\r\n `PrescriptionReport`\r\n );\r\n });\r\n });\r\n } else {\r\n this.notifier.notify(\"warning\", \"Please select Medication\");\r\n }\r\n }\r\n\r\n //open popup\r\n openfaxDialog(id: number) {\r\n if (this.stringprescriptionIds) {\r\n if (id != null && id > 0) {\r\n this.clientsService\r\n .getPrescriptionById(id)\r\n .subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.allergyData = response.data;\r\n this.createFaxModel(this.allergyData);\r\n }\r\n });\r\n } else {\r\n this.allergyData = new Array();\r\n\r\n this.createFaxModel(this.allergyData);\r\n }\r\n } else {\r\n this.notifier.notify(\"warning\", \"Please select Medication\");\r\n }\r\n }\r\n\r\n //create modal\r\n createFaxModel(allergyData: PrescriptionModel[]) {\r\n let allergydata = new PrescriptionModel();\r\n allergydata.patientId = this.clientId;\r\n // allergydata.appointmentId = this.appointmentId;\r\n\r\n allergydata.PrescriptionId = this.stringprescriptionIds;\r\n allergydata.Issentprescription = false;\r\n allergyData.push(allergydata);\r\n\r\n const modalPopup = this.activityModal.open(PrescriptionFaxModalComponent, {\r\n hasBackdrop: true,\r\n data: { allergy: allergyData, refreshGrid: this.refreshGrid.bind(this) },\r\n });\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result === \"SAVE\") {\r\n //this.getPrescriptionList(this.filterModel);\r\n }\r\n });\r\n }\r\n\r\n isAllSelected() {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.dataSource.data.length;\r\n return numSelected === numRows;\r\n }\r\n toggle(event, row) {\r\n let name = row.prescriptionNo;\r\n\r\n if (event.checked) {\r\n if (this.prescriptionIds.indexOf(name) === -1) {\r\n this.prescriptionIds.push(name);\r\n this.selection.select(row);\r\n }\r\n } else {\r\n const index = this.prescriptionIds.indexOf(name);\r\n if (index > -1) {\r\n this.prescriptionIds.splice(index, 1);\r\n this.selection.deselect(row);\r\n }\r\n }\r\n\r\n //console.log(this.prescriptionIds);\r\n this.stringprescriptionIds = this.prescriptionIds.toString();\r\n //console.log(this.stringprescriptionIds);\r\n }\r\n\r\n /** Selects all rows if they are not all selected; otherwise clear selection. */\r\n masterToggle(ev) {\r\n this.isAllSelected()\r\n ? this.selection.clear()\r\n : this.dataSource.data.forEach((row) => {\r\n this.selection.select(row);\r\n });\r\n\r\n this.prescriptionIds = [];\r\n this.dataSource.data.forEach((row) => {\r\n if (this.selection.isSelected(row)) {\r\n this.prescriptionIds.push(row.prescriptionNo);\r\n }\r\n });\r\n //console.log(this.prescriptionIds);\r\n this.stringprescriptionIds = this.prescriptionIds.toString();\r\n //console.log(this.stringprescriptionIds);\r\n }\r\n\r\n applyEndDateFilter(event: MatDatepickerInputEvent) {\r\n const endDate = event.value;\r\n this.f.rangeEndDate.setValue(new Date(event.value));\r\n this.getPrescriptionList(this.filterModel);\r\n }\r\n\r\n applyStartDateFilter(event: MatDatepickerInputEvent) {\r\n const startDate = event.value;\r\n this.f.rangeStartDate.setValue(new Date(event.value));\r\n this.getPrescriptionList(this.filterModel);\r\n }\r\n\r\n clearFilters(): void {\r\n this.testFormGroup.reset({\r\n searchKey: \"\",\r\n rangeStartDate: null,\r\n rangeEndDate: null,\r\n });\r\n this.getPrescriptionList(this.filterModel);\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n

{{headerText}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n 7072154400\\r\\n 8669996776\\r\\n \\r\\n \\r\\n {{'Please select source Fax Number'|translate}} \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{rel.countryName}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_country\\\"|translate}} \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{rel.stateName}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_state\\\"|translate}} \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{rel.cityName}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please_enter_city\\\"|translate}} \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_pharmacy_name\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\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, Output, EventEmitter, Inject } from '@angular/core';\r\n//import { MedicationModel } from '../medication.model';\r\nimport { FormBuilder, FormGroup, FormControl } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { ClientsService } from '../../clients.service';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { ReplaySubject, Subject, of, Observable } from 'rxjs';\r\nimport { filter, tap, takeUntil, debounceTime, map, finalize, delay, catchError } from 'rxjs/operators';\r\nimport { format } from \"date-fns\";\r\nimport { MedicationModel } from '../../medication/medication.model';\r\nimport { PrescriptionModel, PrescriptionFaxModel } from '../prescription.model';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\nclass PharmacyModelData {\r\n \"id\"?: number;\r\n \"pharmacyName\"?: string;\r\n \"value\"?: string;\r\n \"pharmacyAddress\"?: string;\r\n \"pharmacyFaxNumber\"?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-prescriptionfax-modal',\r\n templateUrl: './prescription-fax-modal.component.html',\r\n styleUrls: ['./prescription-fax-modal.component.css']\r\n})\r\nexport class PrescriptionFaxModalComponent implements OnInit {\r\n prescriptionFaxModel: PrescriptionFaxModel;\r\n prescriptionFaxForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = this.translate.instant('Fax Prescription');\r\n masterFrequencyType: any[];\r\n masterPrescriptionType: any[];\r\n patientId: number;\r\n createdBy: number;\r\n createdDate: string;\r\n maxDate = new Date();\r\n masterCountry: any = [];\r\n masterState: any = [];\r\n masterCity: any = [];\r\n masterPharmacy: any = [];\r\n masterPharmacynames: any = [];\r\n\r\n // autocomplete\r\n filterCtrl: FormControl = new FormControl();\r\n public searching: boolean = false;\r\n public filteredServerSideprescription: ReplaySubject = new ReplaySubject(1);\r\n fetchedFilteredServerSideprescription: Array;\r\n selectFilteredServerSideprescription: any = [];\r\n protected _onDestroy = new Subject();\r\n\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n\r\n //construtor\r\n constructor(private formBuilder: FormBuilder, private medicationDialogModalRef: MatDialogRef,\r\n private clientService: ClientsService, @Inject(MAT_DIALOG_DATA) public data: any, private notifier: NotifierService,\r\n private translate: TranslateService,\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.prescriptionFaxModel = data.allergy;\r\n this.refreshGrid.subscribe(data.refreshGrid);\r\n this.patientId = this.prescriptionFaxModel.patientId;\r\n\r\n //header text updation\r\n if (this.prescriptionFaxModel.id != null && this.prescriptionFaxModel.id > 0)\r\n this.headerText = this.translate.instant('Fax Prescription');\r\n else\r\n this.headerText = this.translate.instant('Fax Prescription');\r\n this.patientId = this.prescriptionFaxModel.patientId;\r\n }\r\n\r\n // on initial load\r\n ngOnInit() {\r\n this.prescriptionFaxForm = this.formBuilder.group({\r\n id: [this.prescriptionFaxModel.id],\r\n sourceFaxNumber: [this.prescriptionFaxModel.sourceFaxNumber],\r\n countryID: [this.prescriptionFaxModel.countryID],\r\n stateID: [this.prescriptionFaxModel.stateID],\r\n cityID: [this.prescriptionFaxModel.cityID],\r\n pharmacyID: [this.prescriptionFaxModel.pharmacyID],\r\n pharmacyAddress: [this.prescriptionFaxModel.pharmacyAddress],\r\n pharmacyFaxNumber: [this.prescriptionFaxModel.pharmacyFaxNumber]\r\n\r\n });\r\n this.getMasterData();\r\n\r\n this._filter(\"\").subscribe(filteredMembers => {\r\n\r\n this.fetchedFilteredServerSideprescription = filteredMembers; this.filteredServerSideprescription.next(filteredMembers);\r\n },\r\n error => {\r\n // no errors in our simulated example\r\n // this.searching = false;\r\n // handle error...\r\n });\r\n\r\n this.filterCtrl.valueChanges\r\n .pipe(\r\n filter(search => !!search),\r\n tap(() => this.searching = true),\r\n takeUntil(this._onDestroy),\r\n debounceTime(200),\r\n map(search => {\r\n\r\n // simulate server fetching and filtering data\r\n if (search.length > 2) {\r\n return this._filter(search).pipe(\r\n finalize(() => this.searching = false),\r\n )\r\n } else {\r\n // if no value is present, return null\r\n return of([]);\r\n }\r\n }),\r\n delay(500)\r\n )\r\n .subscribe(filteredMembers => {\r\n this.searching = false;\r\n filteredMembers.subscribe(res => { this.fetchedFilteredServerSideprescription = res; this.filteredServerSideprescription.next(res) });\r\n },\r\n error => {\r\n // no errors in our simulated example\r\n this.searching = false;\r\n // handle error...\r\n });\r\n\r\n\r\n }\r\n\r\n _filter(value: string): Observable {\r\n const filterValue = value.toLowerCase();\r\n return this.clientService\r\n .getMasterPharmacyByFilter(filterValue)\r\n .pipe(\r\n map(\r\n (response: any) => {\r\n if (response.statusCode != 200)\r\n return [];\r\n else\r\n return (response.data || []).map((dObj: any) => {\r\n\r\n const Obj: PharmacyModelData = {\r\n id: dObj.id,\r\n value: `${(dObj.pharmacyName || '')}`,\r\n pharmacyAddress: dObj.pharmacyAddress,\r\n pharmacyFaxNumber: dObj.pharmacyFaxNumber,\r\n }\r\n return Obj;\r\n });\r\n }),\r\n catchError(_ => {\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n get getSlectFilteredServerSideMedication() {\r\n return (this.selectFilteredServerSideprescription || []).filter(x => {\r\n if ((this.fetchedFilteredServerSideprescription || []).findIndex(y => y.id == x.id) > -1)\r\n return false;\r\n else\r\n return true;\r\n })\r\n }\r\n\r\n\r\n //call master data for drop down\r\n getMasterData() {\r\n let data = \"masterCountry,masterState,masterCity,masterPharmacy\";\r\n this.clientService.getMasterData(data).subscribe((response: any) => {\r\n\r\n if (response != null) {\r\n\r\n this.masterCountry = response.masterCountry != null ? response.masterCountry : [];\r\n this.masterState = response.masterState != null ? response.masterState : [];\r\n this.masterCity = response.masterCity != null ? response.masterCity : [];\r\n this.masterPharmacy = response.masterPharmacy != null ? response.masterPharmacy : [];\r\n }\r\n });\r\n }\r\n\r\n // get all the controls\r\n get formControls() { return this.prescriptionFaxForm.controls; }\r\n\r\n // //submit the form\r\n onSubmit(event: any) {\r\n\r\n if (!this.prescriptionFaxForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.prescriptionFaxModel = this.prescriptionFaxForm.value;\r\n this.prescriptionFaxModel.patientId = this.patientId;\r\n this.prescriptionFaxModel.createdBy = this.createdBy;\r\n this.clientService.sendFax(this.prescriptionFaxModel).subscribe((response: any) => {\r\n\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message)\r\n if (clickType == \"Send Fax\")\r\n this.closeDialog('SAVE');\r\n // else if (clickType == \"SaveAddMore\") {\r\n // this.refreshGrid.next();\r\n // this.prescriptionFaxForm.reset();\r\n // //this.medicationDialogModalRef.close('SAVE');\r\n // }\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n });\r\n }\r\n }\r\n\r\n //to close popup\r\n closeDialog(action: string): void {\r\n this.medicationDialogModalRef.close(action);\r\n }\r\n\r\n onprharmacySelect(id) {\r\n\r\n let diagnosisArray = this.fetchedFilteredServerSideprescription || [];\r\n diagnosisArray = [...this.selectFilteredServerSideprescription, ...diagnosisArray];\r\n diagnosisArray = Array.from(new Set(diagnosisArray.map(s => s)));\r\n this.selectFilteredServerSideprescription = diagnosisArray.filter(x => x.id == id);\r\n\r\n this.prescriptionFaxForm.patchValue({\r\n pharmacyAddress: this.selectFilteredServerSideprescription[0].pharmacyAddress,\r\n pharmacyFaxNumber: this.selectFilteredServerSideprescription[0].pharmacyFaxNumber,\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \".medication-box {\\r\\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\\r\\n padding: 16px;\\r\\n margin-bottom: 16px;\\r\\n border-radius: 4px;\\r\\n background-color: white;\\r\\n }\\r\\n \"","module.exports = \"
\\r\\n

{{ headerText }}

\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Med {{ i + 1 }} 

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ option.value }}\\r\\n \\r\\n \\r\\n \\r\\n {{'Please select prescription drugs'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Please enter dose'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ rel.value }}\\r\\n \\r\\n \\r\\n \\r\\n {{'Please select frequency'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Please enter strength'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_start_date'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Please enter end date'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\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, Output, EventEmitter, Inject } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, FormControl, FormArray, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { ClientsService } from \"../../clients.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ReplaySubject, Subject, of, Observable } from \"rxjs\";\r\nimport {\r\n filter,\r\n tap,\r\n takeUntil,\r\n debounceTime,\r\n map,\r\n finalize,\r\n delay,\r\n catchError,\r\n} from \"rxjs/operators\";\r\nimport { format } from \"date-fns\";\r\nimport { MedicationModel } from \"../../medication/medication.model\";\r\nimport { PrescriptionModel } from \"../prescription.model\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { DialogService } from \"src/app/shared/layout/dialog/dialog.service\";\r\n\r\n\r\nclass DrugModelData {\r\n \"id\"?: number;\r\n \"drugName\"?: string;\r\n \"value\"?: string;\r\n}\r\n\r\n@Component({\r\n selector: \"app-prescription-modal\",\r\n templateUrl: \"./prescription-modal.component.html\",\r\n styleUrls: [\"./prescription-modal.component.css\"],\r\n})\r\nexport class PrescriptionModalComponent implements OnInit {\r\n prescriptionModel: PrescriptionModel[];\r\n prescriptionForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = this.translate.instant(\"Add Prescription\");\r\n masterFrequencyType: any[];\r\n masterPrescriptionType: any[];\r\n patientId: number;\r\n createdBy: number;\r\n createdDate: string;\r\n maxDate = new Date();\r\n private isEdit: boolean;\r\n // autocomplete\r\n filterCtrl: FormControl = new FormControl();\r\n public searching: boolean = false;\r\n public filteredServerSideprescription: ReplaySubject =\r\n new ReplaySubject(1);\r\n fetchedFilteredServerSideprescription: Array;\r\n selectFilteredServerSideprescription: Array;\r\n selectstrengthdoseServerSideprescription: Array;\r\n protected _onDestroy = new Subject();\r\n notesControl: FormControl;\r\n PrescriptionNotes: string = '';\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n appointmentId: number = 0;\r\n prescriptionNo: number;\r\n\r\n //construtor\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n\r\n private medicationDialogModalRef: MatDialogRef,\r\n private clientService: ClientsService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private translate: TranslateService,\r\n private dialogService: DialogService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n // console.log(\"reedata\", this.data);\r\n\r\n this.prescriptionModel = data.allergy;\r\n this.refreshGrid.subscribe(data.refreshGrid);\r\n this.patientId = this.prescriptionModel[0].patientId;\r\n\r\n if (this.prescriptionModel[0].id != null && this.prescriptionModel[0].id > 0) {\r\n this.headerText = this.translate.instant(\"Edit Prescription\");\r\n this.isEdit = true;\r\n\r\n } else {\r\n this.headerText = this.translate.instant(\"Add Prescription\");\r\n this.isEdit = false;\r\n }\r\n // this.patientId = this.prescriptionModel.patientId;\r\n // console.log(\"ree\", this.patientId);\r\n\r\n this.createdBy = this.prescriptionModel[0].createdBy;\r\n this.createdDate = this.prescriptionModel[0].createdDate;\r\n\r\n this.appointmentId = this.prescriptionModel[0].appointmentId;\r\n\r\n this.selectFilteredServerSideprescription = this.prescriptionModel[0].id\r\n ? [{ id: this.prescriptionModel[0].id, value: this.prescriptionModel[0].id }]\r\n : [];\r\n\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.prescriptionForm = this.formBuilder.group({\r\n medication: this.formBuilder.array([]),\r\n });\r\n this.notesControl = new FormControl('');\r\n if (this.prescriptionModel[0].id != null && this.prescriptionModel[0].id > 0) {\r\n const medicationArray = this.getPrescriptions();\r\n this.prescriptionNo = this.prescriptionModel[0].prescriptionNo != null ? this.prescriptionModel[0].prescriptionNo : null;\r\n this.PrescriptionNotes = this.prescriptionModel[0].notes != null ? this.prescriptionModel[0].notes : \"\";\r\n this.notesControl.setValue(this.PrescriptionNotes);\r\n\r\n\r\n this.prescriptionModel.forEach(element => {\r\n medicationArray.push(this.createMedicationGroup(element));\r\n });\r\n\r\n }\r\n else {\r\n this.prescriptionNo = null;\r\n this.addMedication();\r\n }\r\n\r\n this.getMasterData();\r\n\r\n this._filter(\"\").subscribe(\r\n (filteredMembers) => {\r\n this.fetchedFilteredServerSideprescription = filteredMembers;\r\n this.filteredServerSideprescription.next(filteredMembers);\r\n },\r\n (error) => {\r\n\r\n }\r\n );\r\n\r\n this.filterCtrl.valueChanges\r\n .pipe(\r\n tap(() => (this.searching = true)),\r\n takeUntil(this._onDestroy),\r\n debounceTime(200),\r\n map((search) => {\r\n // if (search.length > 2 || search.length == 0) {\r\n return this._filter(search).pipe(finalize(() => (this.searching = false)));\r\n // } else {\r\n // return of([]);\r\n // }\r\n }),\r\n delay(500)\r\n )\r\n .subscribe(\r\n (filteredMembers) => {\r\n this.searching = false;\r\n filteredMembers.subscribe((res) => {\r\n this.fetchedFilteredServerSideprescription = res;\r\n this.filteredServerSideprescription.next(res);\r\n });\r\n },\r\n (error) => {\r\n this.searching = false;\r\n\r\n }\r\n );\r\n }\r\n\r\n addMedication() {\r\n const medicationArray = this.getPrescriptions();\r\n medicationArray.push(this.createMedicationGroup());\r\n\r\n }\r\n\r\n createMedicationGroup(prescriptionModel: any = {}): FormGroup {\r\n return this.formBuilder.group({\r\n id: [prescriptionModel.id !== undefined ? prescriptionModel.id : null],\r\n dose: [prescriptionModel.dose !== undefined ? prescriptionModel.dose : null],\r\n endDate: [prescriptionModel.endDate !== undefined ? prescriptionModel.endDate : null],\r\n frequencyID: [prescriptionModel.frequencyID !== undefined ? prescriptionModel.frequencyID : null],\r\n medicine: [prescriptionModel.medicine !== undefined ? prescriptionModel.medicine : null],\r\n startDate: [prescriptionModel.startDate !== undefined ? prescriptionModel.startDate : null],\r\n strength: [prescriptionModel.strength !== undefined ? prescriptionModel.strength : null],\r\n masterMedicationId: [prescriptionModel.masterMedicationId !== undefined ? prescriptionModel.masterMedicationId : null],\r\n duration: [prescriptionModel.duration !== undefined ? prescriptionModel.duration : null],\r\n notes: [prescriptionModel.notes !== undefined ? prescriptionModel.notes : null],\r\n drugID: [prescriptionModel.drugID !== undefined ? prescriptionModel.drugID : null],\r\n directions: [prescriptionModel.directions !== undefined ? prescriptionModel.directions : null],\r\n prescriptionNo: [prescriptionModel.prescriptionNo !== undefined ? prescriptionModel.prescriptionNo : null]\r\n\r\n });\r\n }\r\n\r\n\r\n removeMedication(index: number) {\r\n\r\n const medications = this.getPrescriptions();\r\n const medication = medications.at(index);\r\n if (medication) {\r\n if (this.prescriptionNo != null && medication.value.id != null) {\r\n this.deleteDetails(medication.value.id, this.patientId, index);\r\n }\r\n else {\r\n this.getPrescriptions().removeAt(index);\r\n }\r\n }\r\n }\r\n\r\n getPrescriptions(): FormArray {\r\n return this.prescriptionForm.get('medication') as FormArray;\r\n }\r\n\r\n _filter(value: string): Observable {\r\n // console.log(\"filtervalue\", value)\r\n const filterValue = value.toLowerCase();\r\n return this.clientService.getMasterPrescriptionDrugsByFilter(filterValue).pipe(\r\n map((response: any) => {\r\n if (response.statusCode != 200) return [];\r\n else\r\n return (response.data || []).map((dObj: any) => {\r\n const Obj: DrugModelData = {\r\n id: dObj.id,\r\n value: `${dObj.drugName || \"\"}`,\r\n };\r\n return Obj;\r\n });\r\n }),\r\n catchError((_) => {\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n\r\n deleteDetails(id: any, clientId: number, index?: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this prescription?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n\r\n this.clientService\r\n .deletePrescriptionById(id, clientId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.getPrescriptions().removeAt(index);\r\n this.notifier.notify(\"success\", response.message);\r\n\r\n } else if (response.statusCode === 401) {\r\n this.notifier.notify(\"warning\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n get getSlectFilteredServerSideMedication() {\r\n return (this.selectFilteredServerSideprescription || []).filter((x) => {\r\n if (\r\n (this.fetchedFilteredServerSideprescription || []).findIndex(\r\n (y) => y.id == x.id\r\n ) > -1\r\n )\r\n return false;\r\n else return true;\r\n });\r\n }\r\n\r\n getMasterData() {\r\n let data = \"FREQUENCYTYPE\";\r\n this.clientService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterFrequencyType =\r\n response.masterFrequencyType != null\r\n ? response.masterFrequencyType\r\n : [];\r\n this.masterPrescriptionType =\r\n response.masterPrescriptionDrugs != null\r\n ? response.masterPrescriptionDrugs\r\n : [];\r\n }\r\n });\r\n }\r\n\r\n get formControls() {\r\n return this.prescriptionForm.controls;\r\n }\r\n\r\n getFormGroupControl(index: number, controlName: string) {\r\n return (this.getPrescriptions().at(index) as FormGroup).get(controlName);\r\n }\r\n\r\n // onSubmit(event: any) {\r\n // if (!this.prescriptionForm.invalid) {\r\n // let clickType = event.currentTarget.name;\r\n // this.submitted = true;\r\n // this.prescriptionModel = this.prescriptionForm.value;\r\n // this.prescriptionModel.patientId = this.patientId;\r\n // this.prescriptionModel.createdBy = this.createdBy;\r\n // this.prescriptionModel.createdDate = this.createdDate;\r\n // this.prescriptionModel.appointmentId = this.appointmentId;\r\n // this.prescriptionModel.startDate != null\r\n // ? (this.prescriptionModel.startDate = format(\r\n // this.prescriptionModel.startDate,\r\n // \"YYYY-MM-DD\"\r\n // ))\r\n // : (this.prescriptionModel.startDate = null),\r\n // this.prescriptionModel.endDate != null\r\n // ? (this.prescriptionModel.endDate = format(\r\n // this.prescriptionModel.endDate,\r\n // \"YYYY-MM-DD\"\r\n // ))\r\n // : (this.prescriptionModel.endDate = null),\r\n // this.clientService\r\n // .createPrescription(this.prescriptionModel)\r\n // .subscribe((response: any) => {\r\n // this.submitted = false;\r\n // if (response.statusCode == 200) {\r\n // this.notifier.notify(\"success\", response.message);\r\n // if (clickType == \"Save\") this.closeDialog(\"SAVE\");\r\n // else if (clickType == \"SaveAddMore\") {\r\n // this.refreshGrid.next();\r\n // this.prescriptionForm.reset();\r\n // }\r\n // } else {\r\n // this.notifier.notify(\"error\", response.message);\r\n // }\r\n // });\r\n\r\n // }\r\n // }\r\n\r\n\r\n onSubmit(event: any) {\r\n if (!this.prescriptionForm.invalid && this.getPrescriptions().length > 0) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n\r\n // console.log(\"ree\", this.appointmentId);\r\n this.updatePrescriptionesNotes();\r\n if (this.prescriptionNo != null) {\r\n this.updatePrescriptionNumbers();\r\n }\r\n\r\n const prescriptions = this.prescriptionForm.value.medication.map((med: any) => {\r\n return {\r\n ...med,\r\n patientId: this.patientId,\r\n createdBy: med.id != null ? this.createdBy : null,\r\n createdDate: med.id != null ? this.createdDate : null,\r\n appointmentId: this.appointmentId,\r\n startDate: med.startDate ? format(med.startDate, \"YYYY-MM-DD\") : null,\r\n endDate: med.endDate ? format(med.endDate, \"YYYY-MM-DD\") : null,\r\n\r\n };\r\n });\r\n\r\n\r\n this.clientService.createPrescription(prescriptions).subscribe(\r\n (response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n if (clickType == \"Save\") {\r\n this.closeDialog(\"SAVE\");\r\n } else if (clickType == \"SaveAddMore\") {\r\n this.refreshGrid.next();\r\n this.prescriptionForm.reset();\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n },\r\n (error: any) => {\r\n this.submitted = false;\r\n this.notifier.notify(\"error\", \"Error occurred while saving prescriptions.\");\r\n // console.error(\"Error:\", error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n updatePrescriptionNumbers(): void {\r\n const medications = this.getPrescriptions();\r\n medications.controls.forEach((medControl: FormGroup) => {\r\n const prescriptionNoControl = medControl.get('prescriptionNo');\r\n if (prescriptionNoControl && prescriptionNoControl.value == null) {\r\n prescriptionNoControl.setValue(this.prescriptionNo != null ? this.prescriptionNo : null);\r\n }\r\n });\r\n }\r\n\r\n updatePrescriptionesNotes(): void {\r\n const medications = this.getPrescriptions();\r\n medications.controls.forEach((medControl: FormGroup) => {\r\n const prescriptionNotesControl = medControl.get('notes') as FormControl;\r\n if (prescriptionNotesControl) {\r\n prescriptionNotesControl.setValue(this.notesControl.value);\r\n }\r\n });\r\n }\r\n\r\n\r\n closeDialog(action: string): void {\r\n this.medicationDialogModalRef.close(action);\r\n this.isEdit = false;\r\n }\r\n\r\n ngOnDestroy() {\r\n this._onDestroy.next();\r\n this._onDestroy.complete();\r\n }\r\n}\r\n\r\n","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'prescription_id'|translate}} #{{element.prescriptionId}} {{'Prescription Date'|translate}} {{element.prescriptionDate}} {{'Mode Of Transfer'|translate}} {{element.modeOFTransfer}} {{\\\"actions\\\"|translate}} \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { MatDialog, MatTableDataSource } from \"@angular/material\";\r\nimport { format } from \"date-fns\";\r\nimport { SelectionModel } from \"@angular/cdk/collections\";\r\nimport {\r\n PrescriptionModel,\r\n PrescriptionDownloadModel,\r\n} from \"../prescription.model\";\r\nimport { ClientsService } from \"../../clients.service\";\r\nimport { FilterModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { DialogService } from \"src/app/shared/layout/dialog/dialog.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { PrescriptionFaxModalComponent } from \"../prescription-fax-modal/prescription-fax-modal.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-add-prescription\",\r\n templateUrl: \"./prescription-sentprescription.component.html\",\r\n styleUrls: [\"./prescription-sentprescription.component.css\"],\r\n})\r\nexport class SentPrescriptionComponent implements OnInit {\r\n allergyData: PrescriptionModel;\r\n prescriptionListingData: PrescriptionModel[];\r\n prescriptiondownloadmodel = new PrescriptionDownloadModel();\r\n filterModel: FilterModel;\r\n metaData: any;\r\n stringprescriptionIds: string;\r\n actionButtons: Array;\r\n clientId: number;\r\n addPermission: boolean;\r\n header: string = \"Client Prescription\";\r\n selection = new SelectionModel(true, []);\r\n dataSource = new MatTableDataSource();\r\n public prescriptionIds: string[] = [];\r\n displayedColumns: string[] = [\r\n \"prescriptionId\",\r\n \"prescriptionDate\",\r\n \"modeOFTransfer\",\r\n \"actions\",\r\n ];\r\n @Input() encryptedPatientId;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private clientsService: ClientsService,\r\n public activityModal: MatDialog,\r\n private commonService: CommonService,\r\n translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.metaData = {};\r\n }\r\n\r\n ngOnInit() {\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n } else {\r\n let encryptedValue: string = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n\r\n this.clientId = parseInt(encryptedValue, 10);\r\n }\r\n\r\n //initialize filter model\r\n this.filterModel = new FilterModel();\r\n\r\n //call listing method\r\n this.getSentPrescriptionList(this.filterModel);\r\n this.getUserPermissions();\r\n }\r\n\r\n //listing of sentprescriptions\r\n getSentPrescriptionList(filterModel) {\r\n this.clientsService\r\n .getSentPrescriptionList(this.clientId, this.filterModel)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.prescriptionListingData = response.data;\r\n this.dataSource.data = this.prescriptionListingData;\r\n this.prescriptionListingData = (response.data || []).map(\r\n (obj: any) => {\r\n obj.prescriptionDate = format(obj.prescriptionDate, \"DD/MM/YYYY\");\r\n obj.prescriptionSentDate = format(\r\n obj.prescriptionSentDate,\r\n \"DD/MM/YYYY\"\r\n );\r\n return obj;\r\n }\r\n );\r\n this.metaData = response.meta || {};\r\n } else {\r\n this.prescriptionListingData = [];\r\n this.metaData = {};\r\n }\r\n });\r\n }\r\n\r\n //page load and sorting\r\n onPageOrSortChange(changeState?: any) {\r\n changeState.pageNumber = changeState.pageIndex + 1;\r\n this.setPaginatorModel(\r\n changeState.pageNumber,\r\n this.filterModel.pageSize,\r\n \"\",\r\n \"\",\r\n this.filterModel.searchText\r\n );\r\n this.getSentPrescriptionList(this.filterModel);\r\n }\r\n\r\n //table action\r\n onTableActionClick(actionObj?: any) {\r\n const id = actionObj.data && actionObj.data.id;\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"DOWNLOAD\":\r\n this.DownloadPrescription(id);\r\n break;\r\n case \"FAX\":\r\n this.openfaxDialog(id);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n refreshGrid() {\r\n this.getSentPrescriptionList(this.filterModel);\r\n }\r\n\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n searchText: string\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions =\r\n this.clientsService.getUserScreenActionPermissions(\r\n \"CLIENT\",\r\n \"CLIENT_ALLERGIES_LIST\"\r\n );\r\n const {\r\n CLIENT_ALLERGIES_LIST_ADD,\r\n CLIENT_ALLERGIES_LIST_UPDATE,\r\n CLIENT_ALLERGIES_LIST_DELETE,\r\n } = actionPermissions;\r\n if (!CLIENT_ALLERGIES_LIST_UPDATE) {\r\n let spliceIndex = this.actionButtons.findIndex(\r\n (obj) => obj.key == \"edit\"\r\n );\r\n this.actionButtons.splice(spliceIndex, 1);\r\n }\r\n if (!CLIENT_ALLERGIES_LIST_DELETE) {\r\n let spliceIndex = this.actionButtons.findIndex(\r\n (obj) => obj.key == \"delete\"\r\n );\r\n this.actionButtons.splice(spliceIndex, 1);\r\n }\r\n\r\n this.addPermission = CLIENT_ALLERGIES_LIST_ADD || false;\r\n }\r\n\r\n DownloadPrescription(id: string) {\r\n this.prescriptiondownloadmodel.PrescriptionId = id;\r\n this.prescriptiondownloadmodel.patientId = this.clientId;\r\n this.prescriptiondownloadmodel.Issentprescription = true;\r\n this.clientsService\r\n .DownloadPrescription(this.prescriptiondownloadmodel)\r\n .subscribe((response: any) => {\r\n this.clientsService.downLoadFile(\r\n response,\r\n \"application/pdf\",\r\n `PrescriptionReport`\r\n );\r\n });\r\n }\r\n\r\n //open popup\r\n openfaxDialog(id: number) {\r\n if (id != null && id > 0) {\r\n this.clientsService.getPrescriptionById(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.allergyData = response.data;\r\n this.createFaxModel(this.allergyData);\r\n }\r\n });\r\n } else {\r\n this.allergyData = new PrescriptionModel();\r\n this.createFaxModel(this.allergyData);\r\n }\r\n }\r\n\r\n //create modal\r\n createFaxModel(allergyData: PrescriptionModel) {\r\n allergyData.patientId = this.clientId;\r\n allergyData.Issentprescription = true;\r\n const modalPopup = this.activityModal.open(PrescriptionFaxModalComponent, {\r\n hasBackdrop: true,\r\n data: { allergy: allergyData, refreshGrid: this.refreshGrid.bind(this) },\r\n });\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result === \"SAVE\") {\r\n //this.getPrescriptionList(this.filterModel);\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \".mat-column-select {\\r\\n overflow: initial;\\r\\n}\\r\\n\\r\\n/* .user-block .mat-tab-labels {\\r\\n display: block !important;\\r\\n gap: 15px !important;\\r\\n} */\\r\\n\\r\\n/* \\r\\n::ng-deep .user-block .mat-tab-labels {\\r\\n Your custom styles here\\r\\n display: block !important; Example to change display property\\r\\n} */\\r\\n\\r\\n::ng-deep .mat-tab-list {\\r\\n background-color: white;\\r\\n}\"","module.exports = \"
\\r\\n \\r\\n\\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 {\r\n Component,\r\n OnInit,\r\n ComponentFactoryResolver,\r\n ViewContainerRef,\r\n ViewChild,\r\n ComponentRef,\r\n Input,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AddPrescriptionComponent } from \"./prescription-addprescription/prescription-addprescription.component\";\r\nimport { SentPrescriptionComponent } from \"./prescription-sentprescription/prescription-sentprescription.component\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-prescription\",\r\n templateUrl: \"./prescription.component.html\",\r\n styleUrls: [\"./prescription.component.css\"],\r\n})\r\nexport class PrescriptionComponent implements OnInit {\r\n @Input() encryptedPatientId;\r\n @Input() appointmentId: number = 0;\r\n @ViewChild(\"tabContent\", { read: ViewContainerRef })\r\n tabContent: ViewContainerRef;\r\n timesheetTabs: any;\r\n masterStaffs: Array;\r\n loadingMasterData: boolean = false;\r\n staffId: number;\r\n selectedIndex: number = 0;\r\n clientId: number;\r\n header: string = this.translate.instant(\"Client Prescription\");\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private cfr: ComponentFactoryResolver,\r\n private commonService: CommonService,\r\n private route: Router,\r\n private translate: TranslateService,\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false); //\r\n });\r\n } else {\r\n this.clientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n }\r\n\r\n // if(this.route.url.includes('/web/waiting-room/check-in-soap')){\r\n // this.appointmentId=0;\r\n // }\r\n\r\n this.timesheetTabs =\r\n [\"Add Prescription\", \"Sent Prescription\"];\r\n this.timesheetTabs = this.timesheetTabs.map((tab) => this.translate.instant(tab));\r\n\r\n this.loadChild(this.translate.instant(\"Add Prescription\"));\r\n // this.timesheetTabs = [ \"Sent Prescriptions\"];\r\n // this.loadChild(\"Sent Prescriptions\");\r\n }\r\n // , \"Sent Prescriptions\"\r\n loadComponent(eventType: any): any {\r\n const selectedTab = this.timesheetTabs.find(\r\n (tab) => tab === eventType.tab.textLabel\r\n );\r\n if (selectedTab) {\r\n this.loadChild(selectedTab);\r\n }\r\n }\r\n\r\n loadChild(childName: string) {\r\n let factory: any;\r\n\r\n if (childName === this.translate.instant(\"Add Prescription\")) {\r\n factory = this.cfr.resolveComponentFactory(AddPrescriptionComponent);\r\n } else if (childName === this.translate.instant(\"Sent Prescription\")) {\r\n factory = this.cfr.resolveComponentFactory(SentPrescriptionComponent);\r\n }\r\n\r\n this.tabContent.clear();\r\n\r\n if (childName === this.translate.instant(\"Add Prescription\")) {\r\n let comp: ComponentRef = this.tabContent.createComponent(factory);\r\n comp.instance.showbuttons = true;\r\n comp.instance.encryptedPatientId = this.encryptedPatientId;\r\n comp.instance.appointmentId = this.appointmentId;\r\n } else if (childName === this.translate.instant(\"Sent Prescription\")) {\r\n let comp: ComponentRef = this.tabContent.createComponent(factory);\r\n comp.instance.encryptedPatientId = this.encryptedPatientId;\r\n }\r\n }\r\n\r\n}\r\n","export class PrescriptionModel {\r\n id: number;\r\n patientId: number;\r\n medicine: string;\r\n dose: string;\r\n strength: string;\r\n startDate: string;\r\n endDate: string;\r\n frequencyID: number;\r\n masterMedicationId: number;\r\n duration: string;\r\n notes: string;\r\n drugID: number;\r\n createdBy: number;\r\n createdDate: string;\r\n directions: string;\r\n PrescriptionId: string;\r\n Issentprescription: boolean;\r\n patientName: string;\r\n totalRecords;\r\n appointmentId: number;\r\n prescriptionNo:number;\r\n appointmentDate:string;\r\n drugNames:string;\r\n}\r\n\r\nexport class PrescriptionDistinctModel {\r\n prescriptionNo: string;\r\n createdDate: Date;\r\n appointmentId: number;\r\n createdBy: number;\r\n patientID: number;\r\n creatorName: string;\r\n}\r\n\r\nexport class PrescriptionFaxModel {\r\n id: number;\r\n patientId: number;\r\n sourceFaxNumber: number;\r\n countryID: number;\r\n stateID: number;\r\n cityID: number;\r\n pharmacyID: number;\r\n pharmacyAddress: string;\r\n pharmacyFaxNumber: number;\r\n createdBy: number;\r\n PrescriptionId: string;\r\n Issentprescription: boolean;\r\n}\r\n\r\nexport class PrescriptionDownloadModel {\r\n patientId: number;\r\n PrescriptionId: string;\r\n Issentprescription: boolean;\r\n IsMedicationDownload: any;\r\n pharmacyId: number;\r\n}\r\n","module.exports = \"@media (max-width:480px) {\\r\\n .top-btns button {\\r\\n line-height: 32px !important;\\r\\n height: 38px !important;\\r\\n margin-left: 10px;\\r\\n padding: 0px 8px !important;\\r\\n min-width: auto !important;\\r\\n font-size: 13px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n.readmin-panel .client_detail .row {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.client_detail .text-left {\\r\\n word-break: break-all !important;\\r\\n}\\r\\n\\r\\n/* .clini-infos ul li .direction {\\r\\n color: #17a2b8;\\r\\n cursor: pointer;\\r\\n font-weight: 500;\\r\\n} */\\r\\n\\r\\n@media screen and (max-width:991px) {\\r\\n .profile_blkkkk {\\r\\n margin-bottom: 30px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width:575px) {\\r\\n .profile_sum_client {\\r\\n flex-direction: column;\\r\\n }\\r\\n .personal-dt p {\\r\\n display: flex !important\\r\\n ;\\r\\n padding: 0px 10px;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n margin-bottom: 8px;\\r\\n }\\r\\n .personal-dt p span {\\r\\n font-size: 13px;\\r\\n margin-left: 0;\\r\\n }\\r\\n .client_detail p {\\r\\n padding: 0 5px;\\r\\n float: none;\\r\\n margin-bottom: 8px;\\r\\n }\\r\\n .lastdr h3 {\\r\\n font-size: 13px;\\r\\n margin: 0 0 8px;\\r\\n }\\r\\n .vitald ul li {\\r\\n margin: 8px 0px 0px 0px;\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n

{{'profile_summary'|translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n \\r\\n {{tag.tag}}\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
    • \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.phone||''}}\\r\\n
    • \\r\\n
    • \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.email||''}}\\r\\n
    • \\r\\n \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.address||''}}\\r\\n \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    \\r\\n {{clientHeaderModel.patientBasicHeaderInfo?.primaryProvider||''}}\\r\\n -\\r\\n

    \\r\\n

    {{allergy.allergen||''}}

    \\r\\n

    {{'no_allergies_found'|translate}}

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n 0 &&\\r\\n clientProfileModel.patientInfo[0]\\r\\n \\\" src=\\\"{{ clientProfileModel.patientInfo[0].photoThumbnailPath }}\\\"\\r\\n onerror=\\\"this.src='../../../../../../assets/img/noimage.png';\\\" alt=\\\"profilePic\\\" />\\r\\n
\\r\\n
\\r\\n

\\r\\n {{clientProfileModel.patientInfo.length>0 &&\\r\\n clientProfileModel.patientInfo[0] != undefined\\r\\n ? clientProfileModel.patientInfo[0].name\\r\\n : \\\"\\\"\\r\\n }}\\r\\n

\\r\\n

\\r\\n \\r\\n {{\\r\\n clientProfileModel.patientInfo.length>0 &&\\r\\n clientProfileModel.patientInfo[0] != undefined &&\\r\\n ((clientProfileModel.patientInfo[0].gender|translate) || \\\"\\\")\\r\\n }}\\r\\n

\\r\\n

\\r\\n \\r\\n {{\\r\\n clientProfileModel.patientInfo.length>0 &&\\r\\n clientProfileModel.patientInfo[0] != undefined &&\\r\\n (clientProfileModel.patientInfo[0].age +\\r\\n \\\"\\r\\n yrs\\\" ||\\r\\n \\\"\\\")\\r\\n }}\\r\\n

\\r\\n

\\r\\n \\r\\n {{'national_id_number'|translate}} :\\r\\n {{ clientProfileModel.patientInfo.length>0 &&\\r\\n clientProfileModel.patientInfo[0] != undefined &&\\r\\n (clientProfileModel.patientInfo[0].ssn || \\\"\\\")\\r\\n }}\\r\\n

\\r\\n

\\r\\n \\r\\n {{'mrn'|translate}} ( {{'medical_record_number'|translate}} ) :\\r\\n {{\\r\\n clientProfileModel.patientInfo.length>0 &&\\r\\n clientProfileModel.patientInfo[0] != undefined &&\\r\\n (clientProfileModel.patientInfo[0].mrn || \\\"\\\")\\r\\n }}\\r\\n

\\r\\n

\\r\\n 0\\r\\n ? clientProfileModel.patientInfo[0].isActive\\r\\n : false\\r\\n }}\\\" (change)=\\\"changeStatus($event)\\\">{{'active'|translate}}\\r\\n

\\r\\n

\\r\\n 0\\r\\n ? clientProfileModel.patientInfo[0].isBlock\\r\\n : false\\r\\n }}\\\" (change)=\\\"\\r\\n changeUserStatus($event, clientProfileModel.patientInfo[0])\\r\\n \\\">{{'lock_account'|translate}}\\r\\n

\\r\\n \\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_details'|translate}}

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

\\r\\n \\r\\n {{(clientProfileModel.patientInfo.length>0 &&\\r\\n clientProfileModel.patientInfo[0] != undefined &&\\r\\n (clientProfileModel.patientInfo[0].phone || \\\"\\\") +\\r\\n \\\"(\\\" +\\r\\n (\\\"Mobile\\\" |translate) +\\r\\n \\\")\\\"\\r\\n )}}\\r\\n

\\r\\n

\\r\\n \\r\\n {{\\r\\n (clientProfileModel.patientInfo.length>0 && clientProfileModel.patientInfo[0] != undefined &&\\r\\n clientProfileModel.patientInfo[0].email) ||\\r\\n \\\"\\\"\\r\\n }}\\r\\n

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

\\r\\n \\r\\n {{\\r\\n (clientProfileModel.patientInfo.length>0 && clientProfileModel.patientInfo[0] != undefined &&\\r\\n clientProfileModel.patientInfo[0].address) ||\\r\\n \\\"\\\"\\r\\n }}\\r\\n 0?clientProfileModel.patientInfo[0].address:'')\\\"\\r\\n class=\\\"direction\\\">{{\\\"Get Directions\\\"|translate}}.\\r\\n\\r\\n\\r\\n\\r\\n

\\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'|translate}}\\r\\n

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

{{'upcoming_appointment'|translate}}

\\r\\n
0\\r\\n \\\">\\r\\n
\\r\\n \\r\\n 0 &&\\r\\n clientProfileModel.upcomingAppointmentDetails[0]\\r\\n .staffImageUrl) ||\\r\\n ''\\r\\n }}\\\" onerror=\\\"this.src='../../../../../../assets/img/noimage.png';\\\" alt=\\\"profilePic\\\" />\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{\\r\\n (clientProfileModel.upcomingAppointmentDetails !=\\r\\n undefined &&\\r\\n clientProfileModel.upcomingAppointmentDetails\\r\\n .length > 0 &&\\r\\n clientProfileModel.upcomingAppointmentDetails[0]\\r\\n .upcomingAppointmentStaff) ||\\r\\n \\\"\\\"\\r\\n }}\\r\\n
  • \\r\\n
  • \\r\\n {{\\r\\n clientProfileModel.upcomingAppointmentDetails !=\\r\\n undefined &&\\r\\n clientProfileModel.upcomingAppointmentDetails\\r\\n .length > 0 &&\\r\\n clientProfileModel.upcomingAppointmentDetails[0]\\r\\n .upcomingAppointment | date : \\\"dd/MM/yyyy hh:mm a\\\"\\r\\n }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'no_appointment_found'|translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'last_appointment'|translate}}

\\r\\n
0\\r\\n \\\">\\r\\n
\\r\\n \\r\\n 0 &&\\r\\n clientProfileModel.lastAppointmentDetails[0]\\r\\n .staffImageUrl) ||\\r\\n ''\\r\\n }}\\\" onerror=\\\"this.src='../../../../../../assets/img/noimage.png';\\\" alt=\\\"profilePic\\\" />\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{\\r\\n ((clientProfileModel.lastAppointmentDetails&&\\r\\n clientProfileModel.lastAppointmentDetails.length >\\r\\n 0 )?\\r\\n clientProfileModel.lastAppointmentDetails[0]\\r\\n .lastAppointmentStaff:'')\\r\\n }}\\r\\n
  • \\r\\n
  • \\r\\n {{\\r\\n ( clientProfileModel.lastAppointmentDetails &&\\r\\n clientProfileModel.lastAppointmentDetails.length >\\r\\n 0 )?\\r\\n ( clientProfileModel.lastAppointmentDetails[0]\\r\\n .lastAppointment | date : \\\"dd/MM/yyyy\\\"):''\\r\\n }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'no_appointment_found'|translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{'notes'|translate}}\\r\\n

\\r\\n {{'last_update'|translate}} -\\r\\n {{\\r\\n (clientProfileModel.notes && clientProfileModel.notes.length>0 && clientProfileModel.notes[0] != null &&\\r\\n clientProfileModel.notes[0].createdDate|date:'dd/MM/yyyy') ||\\r\\n \\\"\\\"\\r\\n }}\\r\\n
\\r\\n
\\r\\n

\\r\\n 0)? clientProfileModel.notes[0].patientNotes:'')\\\">\\r\\n

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

\\r\\n {{'vitals'|translate}}\\r\\n

\\r\\n {{'last_update'|translate}} -\\r\\n {{\\r\\n (clientProfileModel.patientVitals && clientProfileModel.patientVitals.length>0&&\\r\\n clientProfileModel.patientVitals[0].vitalDate|date:\\\"dd/MM/yyyy\\\") ||\\r\\n \\\"\\\"\\r\\n }}\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{'heart_beat'|translate}}\\r\\n \\r\\n {{\\r\\n (clientProfileModel.patientVitals && clientProfileModel.patientVitals.length>0 &&\\r\\n clientProfileModel.patientVitals[0].heartRate) ||\\r\\n \\\"\\\"\\r\\n }}\\r\\n \\r\\n
  • \\r\\n
  • \\r\\n {{'blood_pressure'|translate}}\\r\\n \\r\\n {{\\r\\n ((clientProfileModel.patientVitals && clientProfileModel.patientVitals.length>0 &&\\r\\n clientProfileModel.patientVitals[0].bpDiastolic) ||\\r\\n \\\"\\\") +\\r\\n \\\"/\\\" +\\r\\n (( clientProfileModel.patientVitals && clientProfileModel.patientVitals.length>0 &&\\r\\n clientProfileModel.patientVitals[0].bpSystolic) ||\\r\\n \\\"\\\")\\r\\n }}\\r\\n
  • \\r\\n
  • \\r\\n {{'bmi'|translate}}\\r\\n \\r\\n {{\\r\\n (clientProfileModel.patientVitals && clientProfileModel.patientVitals.length>0 &&\\r\\n clientProfileModel.patientVitals[0].bmi) ||\\r\\n \\\"\\\"\\r\\n }}\\r\\n \\r\\n
  • \\r\\n
  • \\r\\n {{'temperature'|translate}}\\r\\n \\r\\n {{\\r\\n ((clientProfileModel.patientVitals && clientProfileModel.patientVitals.length>0 &&\\r\\n clientProfileModel.patientVitals[0].temperature) ||\\r\\n \\\"\\\") + \\\" (°C)\\\"\\r\\n }}\\r\\n \\r\\n
  • \\r\\n
  • \\r\\n {{'height'|translate}}\\r\\n \\r\\n {{\\r\\n ((clientProfileModel.patientVitals && clientProfileModel.patientVitals.length>0 &&\\r\\n clientProfileModel.patientVitals[0].heightIn) ||\\r\\n \\\"\\\") + \\\"Cm\\\"\\r\\n }}\\r\\n \\r\\n
  • \\r\\n
  • \\r\\n {{'weight'|translate}}\\r\\n \\r\\n {{\\r\\n ((clientProfileModel.patientVitals && clientProfileModel.patientVitals.length>0 &&\\r\\n clientProfileModel.patientVitals[0].weightLbs) ||\\r\\n \\\"\\\") + \\\"Kg\\\"\\r\\n }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'tags'|translate}}

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{ tag.tag }}\\r\\n
  • \\r\\n
  • \\r\\n {{\\\"No tags found\\\"|translate}}.\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\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 { ClientsService } from \"../clients.service\";\r\nimport {\r\n ClientProfileModel,\r\n PatientInfo,\r\n PatientMedicalFamilyHistoryModel,\r\n} from \"../client-profile.model\";\r\nimport { FilterModel, ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { EligibilityEnquiryComponent } from \"../eligibility-enquiry/eligibility-enquiry.component\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { ChatHistoryModel } from \"./chat-history.model\";\r\nimport { PatientInsuranceModel } from \"../insurance.model\";\r\nimport { DoctorPatientNotesComponent } from \"../doctor-patient-notes/doctor-patient-notes.component\";\r\nimport { ClientsService as ClientPortalService } from \"../../../client-portal/clients.service\";\r\nimport { ClientHeaderModel } from \"../client-header.model\";\r\nimport * as format from \"date-fns/format\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-profile\",\r\n templateUrl: \"./profile.component.html\",\r\n styleUrls: [\"./profile.component.css\"],\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n clientId: number;\r\n clientProfileModel: ClientProfileModel;\r\n insuranceModel: PatientInsuranceModel;\r\n patientMedicalFamilyHistoryModel: PatientMedicalFamilyHistoryModel;\r\n insuranceColumns: Array;\r\n actionButtons: Array = [];\r\n //chat\r\n userId: number;\r\n chatHistoryData: Array = [];\r\n staffId: number;\r\n clientHeaderModel: ClientHeaderModel;\r\n constructor(\r\n private chatDialogModal: MatDialog,\r\n private activatedRoute: ActivatedRoute,\r\n private clientService: ClientsService,\r\n private router: Router,\r\n private notifier: NotifierService,\r\n private eligibilityDialogModal: MatDialog,\r\n private commonService: CommonService,\r\n private clientPortalService: ClientPortalService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.clientHeaderModel = new ClientHeaderModel();\r\n }\r\n profileTabs: any;\r\n selectedIndex: number = 0;\r\n isPortalActivate: boolean = true;\r\n portalPermission: boolean;\r\n editClientPermission: boolean;\r\n statusPermission: boolean;\r\n lockPermission: boolean;\r\n isDataLoading: boolean;\r\n metaData: any = {};\r\n filterModel: FilterModel;\r\n loaderImage = \"/assets/loader.gif\";\r\n\r\n ngOnInit() {\r\n //chat\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.userId = user.userID;\r\n this.staffId = user.id;\r\n }\r\n });\r\n\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? null\r\n : this.commonService.encryptValue(params.id, false);\r\n this.clientProfileModel = new ClientProfileModel();\r\n // console.log(this.clientId);\r\n this.getClientProfileInfo();\r\n });\r\n // this.profileTabs = [\"Diagnosis\", \"Allergies\", \"Medication\", \"Labs\", \"Family History\"];\r\n this.profileTabs = [\r\n \"Allergies\",\r\n \"Medication\",\r\n \"Family History\",\r\n \"Insurance\",\r\n ];\r\n this.getUserPermissions();\r\n }\r\n getClientHeaderInfo() {\r\n this.clientService\r\n .getClientHeaderInfo(this.clientId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.clientHeaderModel = response.data;\r\n this.clientHeaderModel.patientBasicHeaderInfo != null\r\n ? (this.clientHeaderModel.patientBasicHeaderInfo.dob = format(\r\n this.clientHeaderModel.patientBasicHeaderInfo.dob,\r\n 'DD/MM/YYYY'\r\n ))\r\n : \"\";\r\n const userId =\r\n this.clientHeaderModel.patientBasicHeaderInfo &&\r\n this.clientHeaderModel.patientBasicHeaderInfo.userId;\r\n this.clientService.updateClientNavigations(this.clientId, userId);\r\n }\r\n });\r\n }\r\n\r\n onNavigate() {}\r\n getClientProfileInfo() {\r\n this.isDataLoading = true;\r\n this.clientService\r\n .getClientProfileInfo(this.clientId)\r\n .subscribe((response: ResponseModel) => {\r\n this.isDataLoading = false;\r\n if (response != null && response.statusCode == 200) {\r\n this.clientProfileModel = response.data;\r\n this.getClientHeaderInfo();\r\n this.isPortalActivate =\r\n this.clientProfileModel.patientInfo.length > 0\r\n ? this.clientProfileModel.patientInfo[0].isPortalActivate\r\n : false;\r\n\r\n // console.log(\"susmit\", this.clientProfileModel.patientInfo[0].address);\r\n const userId =\r\n this.clientProfileModel.patientInfo[0] &&\r\n this.clientProfileModel.patientInfo[0].userID;\r\n this.clientService.updateClientNavigations(this.clientId, userId);\r\n if (this.clientProfileModel) {\r\n this.getChatHistory();\r\n this.getDoctorPatientNotes();\r\n }\r\n }\r\n });\r\n }\r\n\r\n editProfile() {\r\n this.router.navigate([\"web/client\"], {\r\n queryParams: {\r\n id:\r\n this.clientId != null\r\n ? this.commonService.encryptValue(this.clientId, true)\r\n : null,\r\n },\r\n });\r\n }\r\n loadComponent(event: any) {\r\n this.selectedIndex = event.index;\r\n switch (this.selectedIndex) {\r\n case 0: {\r\n this.getPatientAllergyList();\r\n break;\r\n }\r\n case 1: {\r\n this.getClientMedication();\r\n break;\r\n }\r\n case 2: {\r\n this.getPatientMedicalFamilyHistoryList();\r\n break;\r\n }\r\n // case 3: {\r\n // this.getPatientAppointmentList();\r\n // break;\r\n // }\r\n case 3: {\r\n this.getPatientInsuranceList();\r\n break;\r\n }\r\n }\r\n }\r\n getPatientInsuranceList() {\r\n this.clientService\r\n .getPatientInsurance(this.clientId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.insuranceModel = response.data.PatientInsurance;\r\n }\r\n });\r\n }\r\n getPatientMedicalFamilyHistoryList() {\r\n this.clientService\r\n .getPatientMedicalFamilyHistoryList(this.clientId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.patientMedicalFamilyHistoryModel = response.data;\r\n // console.log(this.patientMedicalFamilyHistoryModel);\r\n }\r\n });\r\n }\r\n getClientMedication() {\r\n this.clientService\r\n .getMedicationList(this.clientId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.clientProfileModel.patientMedicationModel = response.data;\r\n // console.log(this.clientProfileModel.patientMedicationModel);\r\n }\r\n });\r\n }\r\n getPatientAllergyList() {\r\n this.clientService\r\n .getAllergyLists(this.clientId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.clientProfileModel.patientAllergyModel = response.data;\r\n }\r\n });\r\n }\r\n changeStatus(event: any) {\r\n this.clientService\r\n .updateClientStatus(this.clientId, event.checked)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n } else this.notifier.notify(\"error\", response.message);\r\n });\r\n }\r\n\r\n changeUserStatus(event: any, patientInfo: PatientInfo) {\r\n if (patientInfo != null && patientInfo.userID > 0) {\r\n this.clientService\r\n .updateUserStatus(patientInfo.userID, event.checked)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n } else this.notifier.notify(\"error\", response.message);\r\n });\r\n }\r\n }\r\n addPatientNotes() {\r\n const screenWidth = window.innerWidth;\r\n let modalWidth = \"50%\"; // Default width\r\n if (screenWidth <= 768) {\r\n modalWidth = \"90%\"; // Increase width for mobile screens\r\n }\r\n const modalPopup = this.chatDialogModal.open(DoctorPatientNotesComponent, {\r\n hasBackdrop: true,\r\n width: modalWidth,\r\n \r\n data: { patientId: this.clientId, providerId: this.staffId },\r\n });\r\n modalPopup.afterClosed().subscribe((result) => {\r\n // console.log(\"get added notes in grid \");\r\n this.getDoctorPatientNotes();\r\n });\r\n }\r\n\r\n downloadingCcda: boolean = false;\r\n getPatientCCDA() {\r\n this.downloadingCcda = true;\r\n this.clientService\r\n .getPatientCCDA(this.clientId)\r\n .subscribe((response: any) => {\r\n this.clientService.downloadFile(\r\n response,\r\n \"application/xml\",\r\n \"CCDA.zip\"\r\n );\r\n if (response) this.downloadingCcda = false;\r\n });\r\n }\r\n updatePatientPortalVisibility(value: boolean, patientInfo: PatientInfo) {\r\n if (patientInfo != null && patientInfo.userID > 0) {\r\n this.clientService\r\n .updatePatientPortalVisibility(\r\n this.clientId,\r\n patientInfo.userID,\r\n value == true ? false : true\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.isPortalActivate = value == true ? false : true;\r\n } else this.notifier.notify(\"error\", response.message);\r\n });\r\n }\r\n }\r\n\r\n checkEligibilityModal() {\r\n let dialogModal;\r\n dialogModal = this.eligibilityDialogModal.open(\r\n EligibilityEnquiryComponent,\r\n { data: this.clientId }\r\n );\r\n dialogModal.afterClosed().subscribe((result: string) => {});\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions = this.clientService.getUserScreenActionPermissions(\r\n \"CLIENT\",\r\n \"CLIENT_PROFILE\"\r\n );\r\n const {\r\n CLIENT_PROFILE_PORTAL,\r\n CLIENT_PROFILE_UPDATE,\r\n CLIENT_INSURANCE_CHANGESTATUS,\r\n CLIENT_INSURANCE_CHANGELOCK,\r\n } = actionPermissions;\r\n\r\n this.portalPermission = CLIENT_PROFILE_PORTAL || false;\r\n this.editClientPermission = CLIENT_PROFILE_UPDATE || false;\r\n this.statusPermission = CLIENT_INSURANCE_CHANGESTATUS || false;\r\n this.lockPermission = CLIENT_INSURANCE_CHANGELOCK || false;\r\n }\r\n\r\n //chat\r\n getChatHistory() {\r\n this.clientService\r\n .getChatHistory(\r\n this.userId,\r\n this.clientProfileModel.patientInfo[0].userID\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.chatHistoryData =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n // this.createModal(this.chatHistoryData);\r\n }\r\n });\r\n }\r\n\r\n getDoctorPatientNotes() {\r\n this.clientPortalService\r\n .getDoctorNotes(this.clientId, this.staffId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n if (response.data[0] && response.data[0].providerId == this.staffId) {\r\n this.clientProfileModel.notes = response.data;\r\n } else {\r\n this.clientProfileModel.notes = [];\r\n }\r\n } else {\r\n this.clientProfileModel.notes = [];\r\n }\r\n });\r\n }\r\n getDirection = (address) => {\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n document.body.appendChild(link);\r\n const latitude = this.clientProfileModel.patientAddressesModel[0].latitude;\r\n const longitude = this.clientProfileModel.patientAddressesModel[0].longitude;\r\n const address1 = encodeURIComponent(this.clientProfileModel.patientAddressesModel[0].address1) || '';\r\n if (latitude && longitude) {\r\n // link.href = \"https://www.google.com/maps/place/\" + address + \"@\"+ latitude + \",\" + longitude;\r\n link.href = `https://www.google.com/maps/search/?api=1&query=${address1}&query_place_id=${latitude},${longitude}`;\r\n\r\n //link.href = \"https://www.google.com/maps/place/\" + latitude + \",\" + longitude;\r\n } else {\r\n \r\n link.href = `https://www.google.com/maps/search/?api=1&query=${address1}`; \r\n }\r\n // link.href = \"https://www.google.com/maps/place/\" + address;\r\n link.target = \"_blank\";\r\n link.click();\r\n };\r\n}\r\n","module.exports = \".test_name_block {\\r\\n display: -webkit-box;\\r\\n -webkit-line-clamp: 4;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: normal;\\r\\n max-height: 7em;\\r\\n line-height: 1.5em;\\r\\n}\\r\\n.mat-cell {\\r\\n padding: 10px 5px;\\r\\n color: #01385f;\\r\\n}\\r\\n.show button.btn.viewww {\\r\\n background: transparent;\\r\\n font-size: 14px;\\r\\n /* opacity: 0.5; */\\r\\n font-weight: 500 !important;\\r\\n}\\r\\n.dropdown-toggle::after{\\r\\n content: inherit;\\r\\n}\\r\\n.insurance_block{\\r\\n overflow: visible;\\r\\n}\\r\\n.insurance_block button#dropdownMenuButton {\\r\\n /* background: #17a2b8; */\\r\\n color: white;\\r\\n padding: 0px 10px;\\r\\n background: linear-gradient(90.06deg, #014971 0.32%, #03BECA 100.49%) !important;\\r\\n border: none;\\r\\n}\\r\\n.mat-row:nth-child(even) {\\r\\n /* background-color: #e4fbff; */\\r\\n background-color: #eafcff;\\r\\n /* margin: 10px 0;\\r\\n border-radius: 10px; */\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n }\\r\\n.mat-row .mat-cell {\\r\\n font-weight: 400;\\r\\n }\\r\\n.mat-row {\\r\\n background: white;\\r\\n /* border-radius: 10px; */\\r\\n padding: 0 0 0 10px;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n }\\r\\n.mat-header-row {\\r\\n background: white;\\r\\n padding: 0 0 0 10px;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n}\\r\\n.table-responsive{\\r\\n overflow-x: auto;\\r\\n }\\r\\n.mat-paginator {\\r\\n background-color: inherit;\\r\\n}\\r\\n.mat-header-cell {\\r\\n padding: 5px;\\r\\n font-size: 15px;\\r\\n white-space: nowrap;\\r\\n color :#01385f;\\r\\n}\\r\\n.mat-row , .mat-header-row {\\r\\n align-items: stretch;\\r\\n}\\r\\n.mat-row:nth-child(even) mat-cell{\\r\\nbackground: #eafcff;\\r\\n}\\r\\n.mat-row mat-cell , mat-header-row mat-header-cell{\\r\\n background: white;\\r\\n}\\r\\n.search-button {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border: none;\\r\\n background-image: url(\\\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220%2C0%2C256%2C256%22 width%3D%2230px%22 height%3D%2230px%22%3E%3Cg fill-opacity%3D%220.23922%22 fill%3D%22%23000000%22 fill-rule%3D%22nonzero%22 stroke%3D%22none%22 stroke-width%3D%221%22 stroke-linecap%3D%22butt%22 stroke-linejoin%3D%22miter%22 stroke-miterlimit%3D%2210%22 stroke-dasharray%3D%22%22 stroke-dashoffset%3D%220%22 font-family%3D%22none%22 font-weight%3D%22none%22 font-size%3D%22none%22 text-anchor%3D%22none%22 style%3D%22mix-blend-mode%3A normal%22%3E%3Cg transform%3D%22scale(8.53333%2C8.53333)%22%3E%3Cpath d%3D%22M13%2C3c-5.511%2C0 -10%2C4.489 -10%2C10c0%2C5.511 4.489%2C10 10%2C10c2.39651%2C0 4.59738%2C-0.85101 6.32227%2C-2.26367l5.9707%2C5.9707c0.25082%2C0.26124 0.62327%2C0.36648 0.97371%2C0.27512c0.35044%2C-0.09136 0.62411%2C-0.36503 0.71547%2C-0.71547c0.09136%2C-0.35044 -0.01388%2C-0.72289 -0.27512%2C-0.97371l-5.9707%2C-5.9707c1.41266%2C-1.72488 2.26367%2C-3.92576 2.26367%2C-6.32227c0%2C-5.511 -4.489%2C-10 -10%2C-10zM13%2C5c4.43012%2C0 8%2C3.56988 8%2C8c0%2C4.43012 -3.56988%2C8 -8%2C8c-4.43012%2C0 -8%2C-3.56988 -8%2C-8c0%2C-4.43012 3.56988%2C-8 8%2C-8z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-position: center;\\r\\n background-size: 20px 20px;\\r\\n border-radius: 0 4px 4px 0;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n right: 2px;\\r\\n color: grey;\\r\\n top: 5px;\\r\\n}\\r\\n.pos button{\\r\\n background-color: transparent;\\r\\n}\\r\\n.table-responsive {\\r\\n overflow-x: auto;\\r\\n width: 100%;\\r\\n}\\r\\n.responsive-table {\\r\\n width: 100%;\\r\\n min-width: 100%;\\r\\n}\\r\\n@media screen and (max-width:1600px) {\\r\\n mat-header-cell.radiology_name_blkkk,\\r\\n mat-cell.radiology_name_blkkk {\\r\\n flex: 0 0 150px;\\r\\n }\\r\\n mat-header-cell.radiology_action_blkkk , mat-cell.radiology_action_blkkk{\\r\\n flex: 0 0 80px;\\r\\n }\\r\\n mat-header-cell.radiology_result_blkkk , mat-cell.radiology_result_blkkk{\\r\\n flex: 0 0 100px;\\r\\n }\\r\\n mat-header-cell.radiology_date_blkkk , mat-cell.radiology_date_blkkk{\\r\\n flex: 0 0 120px;\\r\\n }\\r\\n mat-header-cell.radiology_note_blkkk , mat-cell.radiology_note_blkkk{\\r\\n flex: 0 0 70px;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:991px) {\\r\\n .radiology_blkkk {\\r\\n flex-direction: column-reverse;\\r\\n }\\r\\n\\r\\n .radiology_blkkk .col-lg-8,\\r\\n .radiology_blkkk .col-lg-4 {\\r\\n padding: 0;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .radiology_blkkk .col-md-3.col-sm-6 {\\r\\n padding: 0;\\r\\n }\\r\\n .page-title {\\r\\n font-size: 18px;\\r\\n }\\r\\n mat-header-cell.radiology_name_blkkk,\\r\\n mat-cell.radiology_name_blkkk {\\r\\n flex: 0 0 125px;\\r\\n }\\r\\n mat-header-cell.radiology_result_blkkk , mat-cell.radiology_result_blkkk{\\r\\n flex: 0 0 85px;\\r\\n }\\r\\n mat-header-cell.radiology_action_blkkk , mat-cell.radiology_action_blkkk{\\r\\n flex: 0 0 60px;\\r\\n }\\r\\n}\"","module.exports = \"

{{\\\"radiology_refferal\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"radiology_name\\\"|translate}}\\r\\n \\r\\n \\r\\n {{ element.labName }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{\\\"patient_name\\\"|translate}} \\r\\n \\r\\n {{ element.patientName }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{\\\"test_name\\\"|translate}} \\r\\n \\r\\n {{ element.testName }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{\\\"status\\\"|translate}} \\r\\n \\r\\n {{ element.status }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{\\\"notes\\\"|translate}} \\r\\n {{ element.notes }} \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{\\\"collection_date\\\"|translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{ element.testCollectionDate | date : \\\"dd/MM/yyyy\\\" }}\\r\\n \\r\\n ---- \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n QrCode \\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n ---- \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Result QR \\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n ---- \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{\\\"actions\\\"|translate}} \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\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, Input, OnInit } from \"@angular/core\";\r\nimport { Metadata, ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { LabTestDownloadModalComponent } from \"../../lab-test-download-modal/lab-test-download-modal.component\";\r\nimport { AddRadiologyReferralModalComponent } from \"../../add-radiology-referral-modal/add-radiology-referral-modal.component\";\r\nimport {\r\n MatDatepickerInputEvent,\r\n MatDialog,\r\n MatTableDataSource,\r\n} from \"@angular/material\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { ClientsService } from \"../../../client-portal/clients.service\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { QRImageInhanserComponent } from \"src/app/shared/QrCodeScanPage/qrimage-inhanser/qrimage-inhanser.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-radiology-refferral-clients\",\r\n templateUrl: \"./radiology-refferral-clients.component.html\",\r\n styleUrls: [\"./radiology-refferral-clients.component.css\"],\r\n})\r\nexport class RadiologyRefferralClientsComponent implements OnInit {\r\n @Input() appointmentId: number = 0;\r\n @Input() encryptedPatientId;\r\n patientId: number = 0;\r\n searchKey: string = \"\";\r\n public pageSize = 5;\r\n public currentPage = 0;\r\n public totalSize = 100;\r\n actionButtons: Array = [\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n ];\r\n\r\n displayColumns: Array = [\r\n {\r\n displayName: \"radiology_name\",\r\n key: \"labName\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"test_name\",\r\n key: \"testName\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"patient_name\",\r\n key: \"patientName\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"status\",\r\n key: \"status\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"statusReportupload\",\r\n },\r\n {\r\n displayName: \"created_date\",\r\n key: \"createdDate\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"date\",\r\n },\r\n {\r\n displayName: \"notes\",\r\n key: \"notes\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"actions\",\r\n key: \"Actions\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n ];\r\n displayedColumns = [\r\n \"Radiology Name\",\r\n \"Patient Name\",\r\n \"Test Name\",\r\n \"Status\",\r\n \"Notes\",\r\n \"Collection Date\",\r\n // \"Insurance/ Others\",\r\n // \"Referral\",\r\n \"QrCode\",\r\n \"Result QR\",\r\n \"Actions\",\r\n ];\r\n radiologyReferralList: any;\r\n // @ViewChild(MatPaginator) paginator: MatPaginator;\r\n metaData: Metadata;\r\n userId: number = 0;\r\n currentUser: any;\r\n roleId: number = 329; // role id for Radiology\r\n testFormGroup: FormGroup;\r\n isRadiologyClientDetails: boolean;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private dialogModal: MatDialog,\r\n private commonService: CommonService,\r\n private clientService: ClientsService,\r\n private datePipe: DatePipe,\r\n private formBuilder: FormBuilder,\r\n private notifierService: NotifierService,\r\n private translate:TranslateService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.currentLoginUserInfo.subscribe((user) => {\r\n this.currentUser = user;\r\n });\r\n // if (this.encryptedPatientId != undefined) {\r\n // this.patientId = this.commonService.encryptValue(\r\n // this.encryptedPatientId,\r\n // false\r\n // );\r\n // } else {\r\n // this.patientId = 0;\r\n // this.appointmentId = 0;\r\n // }\r\n\r\n if (window.location.href.includes(\"web/radiology/clientprofile\")) {\r\n this.isRadiologyClientDetails = true;\r\n } else {\r\n this.isRadiologyClientDetails = false;\r\n }\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.patientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n } else {\r\n this.patientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n }\r\n this.testFormGroup = this.formBuilder.group({\r\n searchKey: \"\",\r\n rangeStartDate: \"\",\r\n rangeEndDate: \"\",\r\n });\r\n // this.setIntialValues();\r\n this.getAllLabReferrals();\r\n }\r\n\r\n get f() {\r\n return this.testFormGroup.controls;\r\n }\r\n\r\n setIntialValues() {\r\n var date = new Date();\r\n this.f.rangeStartDate.setValue(\r\n new Date(date.getFullYear(), date.getMonth() - 0, 1)\r\n );\r\n this.f.rangeEndDate.setValue(\r\n new Date(date.getFullYear(), date.getMonth() + 1, 0)\r\n );\r\n }\r\n\r\n applyStartDateFilter(event: MatDatepickerInputEvent) {\r\n this.f.rangeStartDate.setValue(new Date(event.value));\r\n this.getAllLabReferrals();\r\n }\r\n\r\n applyEndDateFilter(event: MatDatepickerInputEvent) {\r\n this.f.rangeEndDate.setValue(new Date(event.value));\r\n this.getAllLabReferrals();\r\n }\r\n\r\n onTableActionClick(actionObj: any) {\r\n if (actionObj.action == \"view\") {\r\n this.openTestDownloadModal(actionObj);\r\n }\r\n }\r\n openTestDownloadModal(actionObj: any) {\r\n const modalPopup = this.dialogModal.open(LabTestDownloadModalComponent, {\r\n hasBackdrop: true,\r\n width: \"30%\",\r\n data: actionObj,\r\n });\r\n modalPopup.afterClosed().subscribe((result) => {});\r\n }\r\n createReferral() {\r\n let referralModal;\r\n referralModal = this.dialogModal.open(AddRadiologyReferralModalComponent, {\r\n data: {\r\n id: this.userId,\r\n referralList: this.radiologyReferralList,\r\n patientId: this.patientId,\r\n appointmentId: this.appointmentId,\r\n },\r\n });\r\n referralModal.afterClosed().subscribe((result) => {\r\n this.getAllLabReferrals();\r\n });\r\n }\r\n\r\nReshareRefferal(data:any) {\r\n let referralModal;\r\n referralModal = this.dialogModal.open(AddRadiologyReferralModalComponent, {\r\n data: {\r\n id: this.userId,\r\n // referralList: this.labReferralList,\r\n testIds:data.testIds,\r\n patientId:data.patientId,\r\n notes:data.notes,\r\n labId:data.labId,\r\n appointmentId: this.appointmentId,\r\n },\r\n });\r\n referralModal.afterClosed().subscribe((result) => {\r\n if (result == \"save\") {\r\n this.getAllLabReferrals();\r\n }\r\n });\r\n }\r\n \r\n getAllLabReferrals() {\r\n let fromDate =\r\n this.f.rangeStartDate.value != null && this.f.rangeStartDate.value != \"\"\r\n ? this.datePipe.transform(\r\n new Date(this.f.rangeStartDate.value),\r\n \"MM/dd/yyyy\"\r\n )\r\n : \"\";\r\n let toDate =\r\n this.f.rangeEndDate.value != null && this.f.rangeEndDate.value != \"\"\r\n ? this.datePipe.transform(\r\n new Date(this.f.rangeEndDate.value),\r\n \"MM/dd/yyyy\"\r\n )\r\n : \"\";\r\n let searchKey =\r\n this.f.searchKey.value == null ? \"\" : this.f.searchKey.value;\r\n\r\n this.clientService\r\n .getAllLabReferrals(\r\n this.isRadiologyClientDetails?0:this.currentUser.id,\r\n this.patientId,\r\n \"RADIOLOGY\",\r\n this.appointmentId,\r\n searchKey,\r\n fromDate,\r\n toDate,\r\n this.pageSize,\r\n this.currentPage + 1,\r\n this.isRadiologyClientDetails?this.currentUser.id:0,\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n // this.clientService.getAllLabReferrals(this.currentUser.id, this.roleId, this.appointmentId, this.searchKey, \"\", \"\").subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.radiologyReferralList = new MatTableDataSource(\r\n response.data\r\n );\r\n this.radiologyReferralList = response.data;\r\n this.metaData = response.meta;\r\n this.totalSize =\r\n (response.data && response.data.length > 0) ? response.data[0].totalRecord : 0;\r\n } else {\r\n this.radiologyReferralList = [];\r\n this.totalSize =\r\n (response.data && response.data.length > 0) ? response.data[0].totalRecord : 0;\r\n this.metaData = new Metadata;\r\n }\r\n });\r\n }\r\n\r\n clearFilters() {\r\n this.testFormGroup.reset();\r\n this.getAllLabReferrals();\r\n }\r\n downloadTemplate = (act) => {\r\n let fileName = act.patientName;\r\n this.clientService\r\n .getLabReferralPdfById(act.labReferralId)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = fileURL;\r\n a.download = fileName;\r\n a.click();\r\n a.remove();\r\n\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(file);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n };\r\n viewDocument = (act) => {\r\n // window.open(act.data.url, '_blank')\r\n this.clientService\r\n .getLabReferralPdfById(act.labReferralId)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let newBlob = new Blob([uIntArray], { type: \"application/pdf\" });\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n };\r\n\r\n viewInsuranceDocument(act: any) {\r\n this.clientService\r\n .PatientInsurancePdfByPatientId(this.patientId)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let newBlob = new Blob([uIntArray], { type: \"application/pdf\" });\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n }\r\n downloadInsuranceTemplate(act: any) {\r\n let fileName = act.patientName;\r\n this.clientService\r\n .PatientInsurancePdfByPatientId(this.patientId)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = fileURL;\r\n a.download = fileName;\r\n a.click();\r\n a.remove();\r\n\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(file);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n }\r\n\r\n setPagePaginator = (event: any) => {\r\n // console.log(event);\r\n this.pageSize = event.pageSize;\r\n this.currentPage = event.pageIndex;\r\n this.getAllLabReferrals();\r\n };\r\n\r\n imageInhancer = (element, type) => {\r\n element.type = type;\r\n const modalPopup = this.dialogModal.open(QRImageInhanserComponent, {\r\n hasBackdrop: true,\r\n minWidth: \"0%\",\r\n width: \"20%\",\r\n height: \"40vh\",\r\n data: element,\r\n });\r\n };\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Appointment

\\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-soap-encounter',\r\n templateUrl: './soap-encounter.component.html',\r\n styleUrls: ['./soap-encounter.component.css']\r\n})\r\nexport class SoapEncounterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".soap-note-dialog {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n max-width: 80vw;\\r\\n max-height: 80vh;\\r\\n position: relative;\\r\\n}\\r\\n.soap-note-dialog h3 {\\r\\nbackground: #01385f;\\r\\ncolor: #fff !important;\\r\\nfont-size: 16px !important;\\r\\nfont-weight: 500 !important;\\r\\nline-height: 20px !important;\\r\\npadding: 15px 20px !important;\\r\\ntext-transform: uppercase;\\r\\nmargin: 0px 0px 10px 0px;\\r\\n}\\r\\n.mat-dialog-content {\\r\\n flex: 1;\\r\\n /* overflow: hidden !important; */\\r\\n \\r\\n margin: 0;\\r\\n padding: 24px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n.formio-form-div {\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n overflow-y: scroll;\\r\\n}\"","module.exports = \"\\r\\n
\\r\\n

{{'soap_note_details' | translate}}

\\r\\n
\\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, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-soap-note-view-modal',\r\n templateUrl: './soap-note-view-modal.component.html',\r\n styleUrls: ['./soap-note-view-modal.component.css']\r\n})\r\nexport class SoapNoteViewModalComponent implements OnInit {\r\n\r\n jsonFormData: any = { components: [] };\r\n initialFormValues: any = { data: {} };\r\n formattedTemplateData: string;\r\n templateFormName: string;\r\n\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) { }\r\n\r\n ngOnInit() {\r\n \r\n this.TemplateData();\r\n\r\n }\r\n TemplateData(): void {\r\n \r\n \r\n let formJson = { components: [] },\r\n formData = { data: {} };\r\n try {\r\n formJson = JSON.parse(this.data.templateJson);\r\n formData = JSON.parse(this.data.templateData);\r\n } catch (err) {}\r\n\r\n formJson.components=formJson.components.filter(component => component.type !== 'button');\r\n this.jsonFormData = this.data.templateJson\r\n ? formJson\r\n : this.jsonFormData;\r\n this.templateFormName = this.data.templateName || \"\";\r\n this.initialFormValues = this.data.templateData\r\n ? formData\r\n : this.initialFormValues\r\n \r\n } \r\n\r\n closeDialog(action: string) {\r\n this.dialogModalRef.close(action);\r\n }\r\n}\r\n","module.exports = \".mat-column-select {\\r\\n overflow: initial;\\r\\n\\r\\n}\\r\\n\\r\\n.search_manage_provide {\\r\\n margin-right: 15px;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-tab-list {\\r\\n background: #fff;\\r\\n}\"","module.exports = \"
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'no_doctors/specialists_notes_available'|translate}}

\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{'clear_all'|translate}}\\r\\n \\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 {\r\n Component,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Inject,\r\n Input,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { FormGroup } from \"@angular/forms\";\r\nimport { MAT_DIALOG_DATA, MatDialog } from \"@angular/material\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { FormioOptions } from \"angular-formio\";\r\nimport * as format from \"date-fns/format/index.js\";\r\nimport { Metadata } from \"../../../client-portal/client-profile.model\";\r\nimport { SoapNoteModel } from \"../../../core/modals/common-model\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { StaffClientRequestModel } from \"../../client-list/client-list.model\";\r\nimport { EncounterService } from \"../../encounter/encounter.service\";\r\nimport { DiagnosisModel } from \"../diagnosis/diagnosis.model\";\r\nimport { FilterModel } from \"../medication/medication.model\";\r\nimport { SoapNoteViewModalComponent } from \"../soap-note-view-modal/soap-note-view-modal.component\";\r\n\r\n@Component({\r\n selector: \"app-client-soap-note\",\r\n templateUrl: \"./soap-note.component.html\",\r\n styleUrls: [\"./soap-note.component.css\"],\r\n})\r\nexport class SoapNoteComponent implements OnInit {\r\n @ViewChild(\"tabContent\", { read: ViewContainerRef }) tabContent: ViewContainerRef;\r\n @Input() encryptedPatientId;\r\n\r\n timesheetTabs: any;\r\n encounterId: number;\r\n searchText: string = \"\";\r\n soapNoteId: number;\r\n soapForm: FormGroup;\r\n patientEncounterDiagnosisCodes: DiagnosisModel[];\r\n patientEncounterTemplate: Array;\r\n masterStaffs: Array;\r\n allSoapNotes: any;\r\n loadingMasterData: boolean = false;\r\n public jsonFormData: Object = {\r\n components: [],\r\n };\r\n initialFormValues: Object = {\r\n data: {},\r\n };\r\n formioOptions: FormioOptions = {\r\n disableAlerts: true,\r\n };\r\n staffId: number;\r\n soapNotes: any;\r\n filterModel: FilterModel;\r\n appointmentId: number;\r\n isSoapCompleted: boolean;\r\n isSoap: boolean = false;\r\n selectedIndex: number = 0;\r\n clientId: number;\r\n locationId: number;\r\n patientAppointmentId: number;\r\n staffClientRequestModel: StaffClientRequestModel;\r\n header: string = this.translate.instant(\"Doctor Soap Notes\");\r\n displaySoapNoteColumns: Array = [\r\n {\r\n displayName: \"Patient Name\",\r\n key: \"patientName\",\r\n isSort: true,\r\n },\r\n {\r\n displayName: \"TemplateName\",\r\n key: \"templateName\",\r\n isSort: true,\r\n },\r\n // {\r\n // displayName: \"Objective\",\r\n // key: \"objective\",\r\n // isSort: true,\r\n // },\r\n // {\r\n // displayName: \"Assessment\",\r\n // key: \"assessment\",\r\n // isSort: true,\r\n // },\r\n // {\r\n // displayName: \"Plans\",\r\n // key: \"plans\",\r\n // isSort: true,\r\n // },\r\n // {\r\n // displayName: \"Created Date\",\r\n // key: \"createdDate\",\r\n // isSort: true,\r\n // type:'date'\r\n // },\r\n // ,\r\n {\r\n displayName: \"Actions\",\r\n key: \"Actions\",\r\n isSort: true,\r\n class: \"\",\r\n }\r\n ];\r\n actionButtons: Array = [\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n ];\r\n\r\n metaData: Metadata;\r\n patientId: number;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private cfr: ComponentFactoryResolver,\r\n private commonService: CommonService,\r\n private route: Router,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private encounterService: EncounterService,\r\n private dialogModal: MatDialog,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.appointmentId = data;\r\n this.metaData = new Metadata();\r\n this.filterModel = new FilterModel();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.appointmentId = Number(apptId);\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n\r\n\r\n } else {\r\n this.clientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n }\r\n\r\n //this.staffId=this.currentLoginUserInfoSubject.value.id;\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n // console.log(user.id);\r\n this.locationId = user.currentLocationId;\r\n this.staffId = user.id;\r\n\r\n this.getSoapNotes();\r\n }\r\n });\r\n this.timesheetTabs = [\"Doctor Soap Notes\"];\r\n this.loadChild(\"Doctor Soap Notes\");\r\n }\r\n loadComponent(eventType: any): any {\r\n if (this.clientId) this.loadChild(eventType.tab.textLabel);\r\n }\r\n loadChild(childName: string) {\r\n let factory: any;\r\n // if (childName == \"Soap Note\")\r\n // factory = this.cfr.resolveComponentFactory(ClientSoapNoteComponent);\r\n // let comp: ComponentRef = this.tabContent.createComponent(factory);\r\n }\r\n getSoapNotes = () => {\r\n // console.log(this.filterModel);\r\n // console.log(this.appointmentId);\r\n // console.log(this.clientId);\r\n this.patientId = this.clientId\r\n this.encounterService\r\n .GetAllSoapNotes(this.patientId, this.appointmentId, this.filterModel)\r\n .subscribe((res) => {\r\n if (res != null && res.data != null && res.statusCode == 200) {\r\n // console.log(res);\r\n // this.allSoapNotes = res.data.map((x) => {\r\n // });\r\n this.allSoapNotes = res.data;\r\n this.metaData = res.meta;\r\n this.metaData.pageSizeOptions = [5, 10, 25, 50, 100];\r\n } else {\r\n this.allSoapNotes = [];\r\n this.metaData = null;\r\n }\r\n });\r\n };\r\n // onTableActionClick = (e) => {\r\n // this.route.navigate([\"web/client/profile\"], {\r\n // queryParams: {\r\n // id: this.commonService.encryptValue(this.clientId, true),\r\n // },\r\n // });\r\n // };\r\n\r\n onTableActionClick(actionObj: any) {\r\n ////\r\n if (actionObj.action == \"view\") {\r\n this.openDoctorSoapNoteViewModal(actionObj);\r\n // console.log(\"open pop up here...\");\r\n }\r\n }\r\n\r\n openDoctorSoapNoteViewModal(actionObj: any) {\r\n const modalPopup = this.dialogModal.open(SoapNoteViewModalComponent, {\r\n hasBackdrop: true,\r\n width: \"70%\",\r\n\r\n data: actionObj.data\r\n });\r\n modalPopup.afterClosed().subscribe((result) => {\r\n // console.log(\"closed pop up\");\r\n });\r\n }\r\n\r\n setPaginateorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n searchText: string\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder != undefined ? sortOrder : null;\r\n this.filterModel.sortColumn = sortColumn != undefined ? sortColumn : null;\r\n this.filterModel.searchText = searchText != undefined ? searchText : null;\r\n }\r\n onPageOrSortChange = (changeState?: any) => {\r\n this.setPaginateorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order,\r\n \"\"\r\n );\r\n this.getSoapNotes();\r\n };\r\n applyFilter(searchText: string = \"\") {\r\n // console.log(searchText);\r\n this.setPaginateorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder,\r\n searchText\r\n );\r\n // if (searchText.trim() == \"\" || searchText.trim().length >= 3)\r\n this.getSoapNotes();\r\n }\r\n clearFilters() {\r\n this.searchText = \"\";\r\n this.filterModel.searchText = \"\";\r\n this.setPaginateorModel(\r\n 1,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder,\r\n this.filterModel.searchText\r\n );\r\n this.getSoapNotes();\r\n }\r\n}\r\n","module.exports = \"::ng-deep .custom_form .mat-form-field-infix input.mat-input-element {\\r\\n font-size: 14px;\\r\\n margin-top: -5px !important;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{alcohol.value == 'Former'? ('quited'|translate) : alcohol.value|translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_alcohol_usage_status\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{tobacco.value == 'Former'? ('quited'|translate) : tobacco.value|translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_tobacco_usage_status\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{drugs.value == 'Former'? ('quited'|translate) : drugs.value|translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_drugs_usage_status\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_occupation\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ travel.value|translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_travel_status\\\"|translate}}\\r\\n \\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, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\nimport { SocialHistoryModel } from \"../client.model\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { ClientsService } from \"../clients.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: \"app-social-history\",\r\n templateUrl: \"./social-history.component.html\",\r\n styleUrls: [\"./social-history.component.css\"],\r\n})\r\nexport class SocialHistoryComponent implements OnInit {\r\n @Input() clientId: number;\r\n @Input() appointmentId: number = 0;\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n masterSocialHistory: Array;\r\n masterTravel: Array = [];\r\n socialHistory: SocialHistoryModel;\r\n socialForm: FormGroup;\r\n submitted: boolean = false;\r\n isHistoryShareable: boolean = true;\r\n // clientId: number;\r\n header: string = \"Social History\";\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private formBuilder: FormBuilder,\r\n private clientService: ClientsService,\r\n private notifier: NotifierService,\r\n private commonService: CommonService,\r\n private translate:TranslateService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.masterSocialHistory = [];\r\n this.masterTravel = [];\r\n\r\n this.socialHistory = new SocialHistoryModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.loadingStateSubject.next(true);\r\n // this.activatedRoute.queryParams.subscribe((params) => {\r\n // this.clientId =\r\n // params.id == undefined\r\n // ? null\r\n // : this.commonService.encryptValue(params.id, false);\r\n // });\r\n this.getAppointmentDetails();\r\n\r\n this.clientService\r\n .getMasterData(\"SOCIALHISTORY\")\r\n .subscribe((response: any) => {\r\n // console.log(response);\r\n response.masterSocialHistory.map((ele) => {\r\n if (ele.globalCodeName == \"Current every day\") {\r\n ele.value = \"Daily\";\r\n } else if (ele.globalCodeName == \"Current some day\") {\r\n ele.value = \"Weekly/Occasionally\";\r\n } else if (ele.globalCodeName == \"Current status unknown\") {\r\n ele.value = \"None\";\r\n } else {\r\n }\r\n });\r\n this.masterSocialHistory = response.masterSocialHistory;\r\n\r\n this.masterTravel = JSON.parse(JSON.stringify(response.masterSocialHistory))\r\n this.masterTravel = this.masterTravel.filter(x => x.value != \"Former\");\r\n this.masterTravel.map((ele) => {\r\n if (ele.globalCodeName == \"Daily\") {\r\n ele.value = \"Frequently\";\r\n } else if (ele.globalCodeName == \"Weekly/ Occasionally\") {\r\n ele.value = \"Occasionally\";\r\n } else if (ele.globalCodeName == \"None\") {\r\n ele.value = \"None\";\r\n }\r\n });\r\n });\r\n this.clientService\r\n .getPatientSocialHistory(this.clientId)\r\n .subscribe((response: any) => {\r\n this.socialHistory = response.data;\r\n this.socialForm.patchValue({\r\n ...response.data,\r\n });\r\n });\r\n\r\n this.socialForm = this.formBuilder.group({\r\n alcohalID: [this.socialHistory.alcohalID, Validators.required],\r\n drugID: [this.socialHistory.drugID, Validators.required],\r\n occupation: [this.socialHistory.occupation, Validators.required],\r\n tobaccoID: [this.socialHistory.tobaccoID, Validators.required],\r\n travelID: [this.socialHistory.travelID, Validators.required],\r\n });\r\n this.commonService.loadingStateSubject.next(false);\r\n }\r\n\r\n\r\n getAppointmentDetails() {\r\n this.clientService\r\n .getClientProfileInfo(this.clientId)\r\n .subscribe((responce) => {\r\n this.isHistoryShareable =\r\n responce.data.patientInfo[0].isHistoryShareable;\r\n });\r\n }\r\n\r\n get formControls() {\r\n return this.socialForm.controls;\r\n }\r\n\r\n onSubmit(event: any) {\r\n if (!this.socialForm.invalid) {\r\n this.submitted = true;\r\n\r\n //assign form values\r\n let formValues = this.socialForm.value;\r\n\r\n //assign values\r\n formValues.patientID = this.clientId;\r\n formValues.id = this.socialHistory.id == null ? 0 : this.socialHistory.id;\r\n\r\n //assign form values to socialhistory model\r\n this.socialHistory = formValues;\r\n\r\n //validation check\r\n if (\r\n this.socialHistory.alcohalID == null ||\r\n this.socialHistory.drugID == null ||\r\n this.socialHistory.occupation == null ||\r\n this.socialHistory.tobaccoID == null ||\r\n this.socialHistory.travelID == null\r\n ) {\r\n this.notifier.notify(\"warning\", \"Please select all option\");\r\n } else if (\r\n this.socialHistory.patientID == null ||\r\n this.socialHistory.id == null\r\n ) {\r\n this.notifier.notify(\r\n \"warning\",\r\n \"Something went wrong try after some time!\"\r\n );\r\n } else {\r\n this.clientService\r\n .createSocialHistory(this.socialHistory)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \".del-cont {\\r\\n float: left;\\r\\n}\\r\\n.del-cont>button {\\r\\n background: none;\\r\\n border: 0px;\\r\\n color: #7a7a7a;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n padding: 0;\\r\\n cursor: pointer;\\r\\n margin-top: 12px;\\r\\n}\\r\\n.del-cont i {\\r\\n color: #7a7a7a;\\r\\n float: left;\\r\\n font-size: 15px;\\r\\n padding-right: 5px;\\r\\n position: inherit;\\r\\n}\\r\\n.del-cont button span {\\r\\n float: left;\\r\\n}\\r\\n.del-cont>button:hover, .del-cont>button:hover i {\\r\\n color: #000;\\r\\n}\"","module.exports = \"
\\r\\n

{{ headerText|translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_vital_date'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Height should not be greater than 255'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Weight should not be greater than 999'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Heartrate should not be greater than 200'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'BPSystolic should not be greater than 280'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'BPDiastolic should not be greater than 140'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Pulse should not be greater than 100'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Respiration should not be greater than 100'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Temperature should not be greater than 115'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ error|translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{ submitted ? \\\"Saving...\\\" : ('save'|translate) }}\\r\\n \\r\\n \\r\\n {{ submitted ? \\\"Saving...\\\" : ('save_and_add_more'|translate) }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, Inject, Output, EventEmitter } from '@angular/core';\r\nimport { ClientsService } from '../../clients.service';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { AbstractControl, FormBuilder, FormGroup, ValidationErrors } from '@angular/forms';\r\nimport { VitalModel } from '../vitals.model';\r\nimport { Observable } from 'rxjs';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: 'app-vital-modal',\r\n\r\n templateUrl: './vital-modal.component.html',\r\n styleUrls: ['./vital-modal.component.css']\r\n})\r\nexport class VitalModalComponent implements OnInit {\r\n maxDate = new Date();\r\n patientId: number;\r\n vitalModel: VitalModel;\r\n vitalForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = this.translate.instant('Add Client Vital');\r\n error: string = this.translate.instant('Note : Please fill in at least one or more vital other than the vital date');\r\n appointmentId: number = 0;\r\n //////////////////\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n\r\n constructor(private translate: TranslateService,\r\n private formBuilder: FormBuilder, private vitalDialogModalRef: MatDialogRef, private clientService: ClientsService, @Inject(MAT_DIALOG_DATA) public data: any, private notifier: NotifierService) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n //assign data\r\n this.vitalModel = data.vital;\r\n this.refreshGrid.subscribe(data.refreshGrid);\r\n this.patientId = this.vitalModel.patientID;\r\n this.appointmentId = this.vitalModel.appointmentId;\r\n //update header text\r\n if (this.vitalModel.id != null && this.vitalModel.id > 0)\r\n this.headerText = this.translate.instant('Edit Client Vital');\r\n else\r\n this.headerText = this.translate.instant('Add Client Vital');\r\n }\r\n\r\n ngOnInit() {\r\n this.vitalForm = this.formBuilder.group({\r\n id: [this.vitalModel.id],\r\n patientID: [this.vitalModel.patientID],\r\n bmi: [this.vitalModel.bmi],\r\n bpDiastolic: [this.vitalModel.bpDiastolic,\r\n {\r\n asyncValidators: [this.validateBpdystolic.bind(this)]\r\n }],\r\n bpSystolic: [this.vitalModel.bpSystolic,\r\n {\r\n asyncValidators: [this.validateBpsystolic.bind(this)]\r\n }],\r\n heartRate: [this.vitalModel.heartRate,\r\n {\r\n asyncValidators: [this.validateHeartRate.bind(this)]\r\n }],\r\n heightIn: [this.vitalModel.heightIn,\r\n {\r\n asyncValidators: [this.validateHeight.bind(this)]\r\n }],\r\n pulse: [this.vitalModel.pulse,\r\n {\r\n asyncValidators: [this.validatePulse.bind(this)]\r\n }],\r\n respiration: [this.vitalModel.respiration,\r\n {\r\n asyncValidators: [this.validateRespiration.bind(this)]\r\n }],\r\n temperature: [this.vitalModel.temperature,\r\n {\r\n asyncValidators: [this.validateTemperature.bind(this)]\r\n }],\r\n vitalDate: [this.vitalModel.vitalDate],\r\n weightLbs: [this.vitalModel.weightLbs,\r\n {\r\n asyncValidators: [this.validateWeight.bind(this)]\r\n }\r\n ]\r\n });\r\n }\r\n\r\n //get the form controls on html page\r\n get formControls() { return this.vitalForm.controls; }\r\n\r\n //submit for create update of vitals\r\n onSubmit(event: any) {\r\n if (!this.vitalForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.vitalModel = this.vitalForm.value;\r\n this.vitalModel.patientID = this.patientId;\r\n this.vitalModel.appointmentId = this.appointmentId;\r\n this.clientService.createVital(this.vitalModel).subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message)\r\n if (clickType == \"Save\")\r\n this.closeDialog('save');\r\n else if (clickType == \"SaveAddMore\") {\r\n this.refreshGrid.next();\r\n this.vitalForm.reset();\r\n }\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n });\r\n }\r\n }\r\n get vitalValidation() {\r\n return (!this.formControls.heightIn.value) && (!this.formControls.weightLbs.value) && (!this.formControls.heartRate.value) && (!this.formControls.bpSystolic.value) && (!this.formControls.bpDiastolic.value) && (!this.formControls.pulse.value) && (!this.formControls.respiration.value) && (!this.formControls.temperature.value)\r\n }\r\n //close popup\r\n closeDialog(action: string): void {\r\n this.vitalDialogModalRef.close(action);\r\n }\r\n\r\n validateHeight(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise(resolve => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var height = ctrl.value;\r\n\r\n if (height >= 256) resolve({ height: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n\r\n validateWeight(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise(resolve => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var weight = ctrl.value;\r\n\r\n if (weight >= 1000)\r\n //this.submitted=false,\r\n resolve({ weight: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n\r\n validateHeartRate(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise(resolve => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var heartrate = ctrl.value;\r\n\r\n if (heartrate >= 201) resolve({ heartrate: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n validateBpsystolic(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise(resolve => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var bpsytolic = ctrl.value;\r\n\r\n if (bpsytolic >= 281) resolve({ bpsytolic: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n validateBpdystolic(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise(resolve => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var dystolic = ctrl.value;\r\n\r\n if (dystolic >= 141) resolve({ dystolic: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n validatePulse(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise(resolve => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var pulse = ctrl.value;\r\n\r\n if (pulse >= 101) resolve({ pulse: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n validateRespiration(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise(resolve => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var respiration = ctrl.value;\r\n\r\n if (respiration >= 101) resolve({ respiration: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n validateTemperature(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise(resolve => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var temperature = ctrl.value;\r\n\r\n if (temperature >= 116) resolve({ temperature: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \".gridlist i {\\r\\n cursor: pointer;\\r\\n font-size: 22px;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"add_vitals\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n Patient don't want to share his vitals\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { VitalModel } from \"./vitals.model\";\r\nimport { ClientsService } from \"../clients.service\";\r\nimport { FilterModel } from \"../../../core/modals/common-model\";\r\nimport { debug } from \"util\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { VitalModalComponent } from \"./vital-modal/vital-modal.component\";\r\nimport { DialogService } from \"../../../../../shared/layout/dialog/dialog.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: \"app-vitals\",\r\n templateUrl: \"./vitals.component.html\",\r\n styleUrls: [\"./vitals.component.css\"],\r\n})\r\nexport class VitalsComponent implements OnInit {\r\n @Input() encryptedPatientId;\r\n @Input() encryptedPatientUserId;\r\n @Input() appointmentId: number = 0;\r\n\r\n vitalData: VitalModel;\r\n vitalListingData: VitalModel[];\r\n filterModel: FilterModel;\r\n metaData: any;\r\n inches: any;\r\n feets: any;\r\n displayedColumns: Array;\r\n actionButtons: Array;\r\n clientId: number;\r\n addPermission: boolean;\r\n header: string = this.translate.instant(\"vitals\");\r\n isGrid: boolean = true;\r\n\r\n //Charts\r\n lineChartData: Array = [];\r\n lineChartLabels: Array = [];\r\n lineChartType: string = \"line\";\r\n isHistoryShareable: boolean = true;\r\n\r\n //constructor\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private notifier: NotifierService,\r\n private clientsService: ClientsService,\r\n public activityModal: MatDialog,\r\n private dialogService: DialogService,\r\n private commonService: CommonService,\r\n private translate: TranslateService,\r\n\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.displayedColumns = [\r\n { displayName: \"date\", key: \"vitalDate\", isSort: true, width: \"20%\", type: 'date' },\r\n {\r\n displayName: \"height\",\r\n key: \"displayheight\",\r\n isSort: true,\r\n width: \"10%\",\r\n },\r\n { displayName: \"weight_lbs\", key: \"weightLbs\", width: \"10%\" },\r\n { displayName: \"h_rate\", key: \"heartRate\", width: \"10%\" },\r\n { displayName: \"bmi\", key: \"bmi\", isSort: true, width: \"10%\" },\r\n { displayName: \"bp_h_l\", key: \"displayBP\", width: \"10%\" },\r\n { displayName: \"pulse\", key: \"pulse\", width: \"10%\" },\r\n { displayName: \"resp\", key: \"respiration\", width: \"10%\" },\r\n { displayName: \"temperature\", key: \"temperature\", width: \"10%\" },\r\n { displayName: \"actions\", key: \"Actions\", width: \"10%\" },\r\n ];\r\n this.actionButtons = [\r\n { displayName: \"Edit\", key: \"edit\", class: \"fa fa-pencil\" },\r\n { displayName: \"Delete\", key: \"delete\", class: \"fa fa-times\" },\r\n ];\r\n }\r\n\r\n //on inital load\r\n ngOnInit() {\r\n this.commonService.loadingStateSubject.next(true);\r\n\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n } else {\r\n // console.log(this.appointmentId);\r\n this.clientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n }\r\n // this.activatedRoute.queryParams.subscribe((params) => {\r\n // this.clientId =\r\n // params.id == undefined\r\n // ? null\r\n // : this.commonService.encryptValue(params.id, false);\r\n // });\r\n this.getAppointmentDetails();\r\n\r\n //initialize filter model\r\n // this.filterModel = new FilterModel();\r\n\r\n // //call listing method\r\n // this.getVitalList(this.filterModel,'grid');\r\n this.getUserPermissions();\r\n this.commonService.loadingStateSubject.next(false);\r\n }\r\n\r\n getAppointmentDetails() {\r\n this.clientsService\r\n .getClientProfileInfo(this.clientId)\r\n .subscribe((responce) => {\r\n this.isHistoryShareable =\r\n responce.data.patientInfo[0].isHistoryShareable;\r\n this.filterModel = new FilterModel();\r\n //call listing method\r\n if (this.appointmentId == 0 || this.appointmentId == undefined) {\r\n this.getVitalList(this.filterModel, \"grid\");\r\n } else {\r\n // this.getVitalByAppointmentId(this.clientId);\r\n this.getVitalList(this.filterModel, \"grid\");\r\n }\r\n });\r\n }\r\n\r\n //listing of vitals\r\n getVitalList(filterModel, type: string = \"\") {\r\n this.vitalListingData = [];\r\n this.clientsService\r\n .getVitalList(this.clientId, this.filterModel)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n let result = Array.isArray(response.data);\r\n this.vitalListingData = result\r\n ? response.data\r\n : response.data == null\r\n ? []\r\n : [response.data];\r\n //this.vitalListingData = ([response.data] || []).map((obj: any) => {\r\n this.vitalListingData = this.vitalListingData.map((obj: any) => {\r\n obj.vitalDate = obj.vitalDate\r\n ? obj.vitalDate\r\n : \"-\";\r\n obj.displayheight = obj.heightIn;\r\n //obj.displayheight = obj.heightIn ? this.convertInches(obj.heightIn): \"-\";\r\n obj.displayBP =\r\n obj.bpDiastolic && obj.bpSystolic\r\n ? this.convertBP(obj.bpDiastolic, obj.bpSystolic)\r\n : \"-\";\r\n obj.heartRate = obj.heartRate || \"-\";\r\n obj.weightLbs = obj.weightLbs || \"-\";\r\n obj.bmi = obj.bmi || \"-\";\r\n obj.pulse = obj.pulse || \"-\";\r\n obj.respiration = obj.respiration || \"-\";\r\n obj.temperature = obj.temperature || \"-\";\r\n return obj;\r\n });\r\n this.isGrid = type == \"grid\" ? true : false;\r\n if (type == \"chart\") {\r\n //this.vitalListingData = response.data != null ? response.data : {};\r\n if (this.vitalListingData.length > 0) {\r\n // this.lineChartLabels = this.vitalListingData.map(\r\n // ({ vitalDate }) => format(vitalDate, \"MM/DD/YYYY\")\r\n // );\r\n this.lineChartData = [\r\n {\r\n data: this.vitalListingData.map(({ bmi }) => bmi),\r\n label: \"BMI\",\r\n },\r\n {\r\n data: this.vitalListingData.map(\r\n ({ bpDiastolic }) => bpDiastolic\r\n ),\r\n label: \"Diastolic BP\",\r\n },\r\n {\r\n data: this.vitalListingData.map(\r\n ({ bpSystolic }) => bpSystolic\r\n ),\r\n label: \"Systolic BP\",\r\n },\r\n {\r\n data: this.vitalListingData.map(({ heartRate }) => heartRate),\r\n label: \"Heart Rate\",\r\n },\r\n {\r\n data: this.vitalListingData.map(({ heightIn }) => heightIn),\r\n label: \"Height(In)\",\r\n },\r\n {\r\n data: this.vitalListingData.map(({ pulse }) => pulse),\r\n label: \"Pulse\",\r\n },\r\n {\r\n data: this.vitalListingData.map(\r\n ({ respiration }) => respiration\r\n ),\r\n label: \"Respiration\",\r\n },\r\n {\r\n data: this.vitalListingData.map(\r\n ({ temperature }) => temperature\r\n ),\r\n label: \"Temperature(c)\",\r\n },\r\n {\r\n data: this.vitalListingData.map(({ weightLbs }) => weightLbs),\r\n label: \"Weight(Lb)\",\r\n },\r\n ];\r\n }\r\n }\r\n this.metaData = response.meta;\r\n } else {\r\n this.vitalListingData = [];\r\n this.metaData = {};\r\n }\r\n });\r\n }\r\n\r\n getVitalByAppointmentId(filterModel, type: string = \"grid\") {\r\n this.vitalListingData = [];\r\n this.clientsService\r\n .getVitalByAppointmentId(this.appointmentId)\r\n //.getVitalList(this.clientId, this.filterModel)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n let result = Array.isArray(response.data);\r\n this.vitalListingData = result\r\n ? response.data\r\n : response.data == null || Object.keys(response.data).length === 0\r\n ? []\r\n : [response.data];\r\n //this.vitalListingData = ([response.data] || []).map((obj: any) => {\r\n this.vitalListingData = this.vitalListingData.map((obj: any) => {\r\n obj.vitalDate = obj.vitalDate\r\n ? obj.vitalDate\r\n : \"-\";\r\n obj.displayheight = obj.heightIn;\r\n //obj.heightIn ? this.convertInches(obj.heightIn) : \"-\";\r\n obj.displayBP =\r\n obj.bpDiastolic && obj.bpSystolic\r\n ? this.convertBP(obj.bpDiastolic, obj.bpSystolic)\r\n : \"-\";\r\n obj.heartRate = obj.heartRate || \"-\";\r\n obj.weightLbs = obj.weightLbs || \"-\";\r\n obj.bmi = obj.bmi || \"-\";\r\n obj.pulse = obj.pulse || \"-\";\r\n obj.respiration = obj.respiration || \"-\";\r\n obj.temperature = obj.temperature || \"-\";\r\n return obj;\r\n });\r\n this.isGrid = type == \"grid\" ? true : false;\r\n if (type == \"chart\") {\r\n //this.vitalListingData = response.data != null ? response.data : {};\r\n if (this.vitalListingData.length > 0) {\r\n // this.lineChartLabels = this.vitalListingData.map(\r\n // ({ vitalDate }) => format(vitalDate, \"MM/DD/YYYY\")\r\n // );\r\n this.lineChartData = [\r\n {\r\n data: this.vitalListingData.map(({ bmi }) => bmi),\r\n label: \"BMI\",\r\n },\r\n {\r\n data: this.vitalListingData.map(\r\n ({ bpDiastolic }) => bpDiastolic\r\n ),\r\n label: \"Diastolic BP\",\r\n },\r\n {\r\n data: this.vitalListingData.map(\r\n ({ bpSystolic }) => bpSystolic\r\n ),\r\n label: \"Systolic BP\",\r\n },\r\n {\r\n data: this.vitalListingData.map(({ heartRate }) => heartRate),\r\n label: \"Heart Rate\",\r\n },\r\n {\r\n data: this.vitalListingData.map(({ heightIn }) => heightIn),\r\n label: \"Height(In)\",\r\n },\r\n {\r\n data: this.vitalListingData.map(({ pulse }) => pulse),\r\n label: \"Pulse\",\r\n },\r\n {\r\n data: this.vitalListingData.map(\r\n ({ respiration }) => respiration\r\n ),\r\n label: \"Respiration\",\r\n },\r\n {\r\n data: this.vitalListingData.map(\r\n ({ temperature }) => temperature\r\n ),\r\n label: \"Temperature(c)\",\r\n },\r\n {\r\n data: this.vitalListingData.map(({ weightLbs }) => weightLbs),\r\n label: \"Weight(Lb)\",\r\n },\r\n ];\r\n }\r\n }\r\n this.metaData = response.meta;\r\n } else {\r\n this.vitalListingData = [];\r\n this.metaData = {};\r\n }\r\n });\r\n }\r\n\r\n toggleView(value: string = \"\") {\r\n if (value == \"grid\") {\r\n this.filterModel.pageSize = 5; //This will be a fixed valeu as we need all the parameters\r\n this.getVitalList(this.filterModel, \"grid\");\r\n } else {\r\n this.filterModel.pageSize = 100; //This will be changed later\r\n this.getVitalList(this.filterModel, \"chart\");\r\n }\r\n }\r\n\r\n //page load and sorting\r\n onPageOrSortChange(changeState?: any) {\r\n this.setPaginatorModel(\r\n changeState.pageNumber,\r\n this.filterModel.pageSize,\r\n changeState.sort,\r\n changeState.order,\r\n this.filterModel.searchText\r\n );\r\n this.getVitalList(this.filterModel, \"grid\");\r\n }\r\n\r\n //table action\r\n onTableActionClick(actionObj?: any) {\r\n const id = actionObj.data && actionObj.data.id;\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"EDIT\":\r\n this.openDialog(id);\r\n break;\r\n case \"DELETE\":\r\n this.deleteDetails(id);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n //open popup\r\n openDialog(id: number) {\r\n if (id != null && id > 0) {\r\n this.clientsService.getVitalById(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.vitalData = response.data;\r\n this.createModel(this.vitalData);\r\n }\r\n });\r\n } else {\r\n this.vitalData = new VitalModel();\r\n this.createModel(this.vitalData);\r\n }\r\n }\r\n\r\n //create modal\r\n createModel(vitalData: VitalModel) {\r\n vitalData.patientID = this.clientId;\r\n vitalData.appointmentId = this.appointmentId;\r\n const modalPopup = this.activityModal.open(VitalModalComponent, {\r\n hasBackdrop: true,\r\n data: { vital: vitalData, refreshGrid: this.refreshGrid.bind(this) },\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result === \"save\") {\r\n if (this.appointmentId && this.appointmentId != 0) {\r\n // this.getVitalByAppointmentId(this.appointmentId);\r\n this.getVitalList(\r\n this.filterModel,\r\n this.isGrid == true ? \"grid\" : \"chart\"\r\n );\r\n } else {\r\n this.getVitalList(\r\n this.filterModel,\r\n this.isGrid == true ? \"grid\" : \"chart\"\r\n );\r\n }\r\n }\r\n });\r\n }\r\n refreshGrid() {\r\n this.getVitalList(this.filterModel, this.isGrid == true ? \"grid\" : \"chart\");\r\n }\r\n \r\n\r\n deleteDetails(id: number) {\r\n this.dialogService\r\n .confirm(this.translate.instant(\"are_you_sure_you_want_to_delete_this_vital\"))\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientsService.deleteVital(id).subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getVitalList(this.filterModel, \"grid\");\r\n } else if (response.statusCode === 401) {\r\n this.notifier.notify(\"warning\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n searchText: string\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n }\r\n\r\n convertInches(inches) {\r\n try {\r\n if (inches && inches > 0) {\r\n let feetFromInches = Math.floor(inches / 12); //There are 12 inches in a foot\r\n let inchesRemainder = inches % 12;\r\n let result = feetFromInches + \"'\" + inchesRemainder + '\"';\r\n return result;\r\n } else {\r\n return \"0\";\r\n }\r\n } catch {\r\n return \"0\";\r\n }\r\n }\r\n convertBP(D, S) {\r\n try {\r\n let systolic = \"0\";\r\n let diastolic = \"0\";\r\n if (D && D > 0) {\r\n diastolic = D;\r\n }\r\n if (S && S > 0) {\r\n systolic = S;\r\n }\r\n return S + \"/\" + D;\r\n } catch {\r\n return \"0/0\";\r\n }\r\n }\r\n\r\n getUserPermissions() {\r\n // console.log(\"getUserPermissions method called\")\r\n const actionPermissions =\r\n this.clientsService.getUserScreenActionPermissions(\r\n \"CLIENT\",\r\n \"CLIENT_VITALS_LIST\"\r\n );\r\n const {\r\n CLIENT_VITALS_LIST_ADD,\r\n CLIENT_VITALS_LIST_UPDATE,\r\n CLIENT_VITALS_LIST_DELETE,\r\n } = actionPermissions;\r\n if (!CLIENT_VITALS_LIST_UPDATE) {\r\n let spliceIndex = this.actionButtons.findIndex(\r\n (obj) => obj.key == \"edit\"\r\n );\r\n this.actionButtons.splice(spliceIndex, 1);\r\n }\r\n if (!CLIENT_VITALS_LIST_DELETE) {\r\n let spliceIndex = this.actionButtons.findIndex(\r\n (obj) => obj.key == \"delete\"\r\n );\r\n this.actionButtons.splice(spliceIndex, 1);\r\n }\r\n\r\n this.addPermission = CLIENT_VITALS_LIST_ADD || false;\r\n }\r\n}\r\n","export class VitalModel {\r\nid?: number;\r\npatientID: number;\r\nbpDiastolic: number;\r\nbpSystolic: number;\r\nheightIn: number;\r\nweightLbs: number;\r\nheartRate: number;\r\npulse: number;\r\nrespiration: number;\r\nbmi: number;\r\ntemperature: number;\r\nvitalDate: Date;\r\ntotalRecords: number;\r\n//Custom display keys\r\ndisplayheight:string;\r\ndisplayBP:string;\r\nappointmentId?:number;\r\n}","module.exports = \".remain-unit-circle {\\r\\n color: #fff;\\r\\n border: 1px solid transparent;\\r\\n width: 80px;\\r\\n text-align: center;\\r\\n display: block;\\r\\n border-radius: 30px;\\r\\n font-size: 13px;\\r\\n }\\r\\n \"","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n CLIENT NAME\\r\\n \\r\\n REMAINED UNIT(S)\\r\\n \\r\\n EXPIRY DATE\\r\\n \\r\\n ACTIONS\\r\\n
\\r\\n {{auth.clientName}}\\r\\n \\r\\n {{auth.remainedUnits + ' Unit(s)'}}\\r\\n \\r\\n {{auth.endDate | date:'dd/MM/yyyy'}}\\r\\n \\r\\n \\r\\n
\\r\\n \"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatPaginator, MatSort } from '@angular/material';\r\nimport { DashboardService } from '../dashboard.service';\r\nimport { Metadata, FilterModel, ResponseModel } from '../../../../../super-admin-portal/core/modals/common-model';\r\nimport { AuthorizationModel } from '../dashboard.model';\r\nimport { merge } from 'rxjs';\r\nimport { CommonService } from '../../../core/services';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-auth-list',\r\n templateUrl: './auth-list.component.html',\r\n styleUrls: ['./auth-list.component.css']\r\n})\r\nexport class AuthListComponent implements OnInit {\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n authMeta: Metadata;\r\n authList: Array = [];\r\n authFilterModel: FilterModel;\r\n constructor(\r\n private dashboardService:DashboardService,\r\n private commonService: CommonService,\r\n private route: Router\r\n ) {\r\n this.authMeta = new Metadata();\r\n this.authFilterModel=new FilterModel()\r\n }\r\n ngOnInit() {\r\n this.getAuthListForDashboard();\r\n this.onSortOrPageChanges();\r\n }\r\n getAuthListForDashboard() {\r\n this.dashboardService.getAuthListForDashboard(this.authFilterModel).subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.authList = response.data != null && response.data.length > 0 ? response.data : [];\r\n this.authMeta = response.meta;\r\n }\r\n });\r\n }\r\n\r\n onSortOrPageChanges() {\r\n this.sort.sortChange.subscribe(() => this.paginator.pageIndex = 0);\r\n merge(this.paginator.page)\r\n .subscribe(() => {\r\n const changeState = {\r\n sort: this.sort.active || '',\r\n order: this.sort.direction || '',\r\n pageNumber: (this.paginator.pageIndex + 1)\r\n }\r\n this.setAuthPaginatorModel(changeState.pageNumber, this.authFilterModel.pageSize, changeState.sort, changeState.order);\r\n this.getAuthListForDashboard();\r\n })\r\n }\r\n onAuthTableActionClick(clientId: number) {\r\n this.route.navigate([\"web/client/authorization\"], { queryParams: { id: this.commonService.encryptValue(clientId, true) } });\r\n }\r\n setAuthPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string) {\r\n this.authFilterModel.pageNumber = pageNumber;\r\n this.authFilterModel.pageSize = pageSize;\r\n this.authFilterModel.sortOrder = sortOrder;\r\n this.authFilterModel.sortColumn = sortColumn;\r\n }\r\n}\r\n","module.exports = \".provider-dashbord {\\r\\n /* padding: 20px 10px; */\\r\\n}\\r\\n\\r\\n/* .provider-container p {\\r\\n margin-bottom: 7px;\\r\\n}\\r\\n\\r\\n\\r\\n.blue-box {\\r\\nbackground: linear-gradient(#01385ffc, #17a2b8);\\r\\n border-radius: 15px;\\r\\n padding: 20px;\\r\\n margin-bottom: 25px;\\r\\n min-height: 236px;\\r\\n}\\r\\n\\r\\n.white-box {\\r\\n background: #FFFFFF 0% 0% no-repeat padding-box;\\r\\n border-radius: 15px;\\r\\n opacity: 1;\\r\\n box-shadow: 0px 0px 5px rgb(2 106 136 / 24%);\\r\\n padding: 20px;\\r\\n margin-bottom: 20px;\\r\\n position: relative;\\r\\n min-height: 236px;\\r\\n}\\r\\n\\r\\n.white-box h3 {\\r\\n text-align: left;\\r\\n font-weight: 600;\\r\\n font-size: 16px;\\r\\n color: #313131;\\r\\n margin-bottom: 30px\\r\\n}\\r\\n\\r\\n.care-btn {\\r\\n position: absolute;\\r\\n top: 10px;\\r\\n right: 10px;\\r\\n}\\r\\n\\r\\n.care-btn button {\\r\\n font-size: 14px !important;\\r\\n}\\r\\n\\r\\n.blue-box-inner {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.blue-box-detail .col-md-6 {\\r\\n display: block;\\r\\n transition: ease-in .2s;\\r\\n}\\r\\n\\r\\n.blue-box h3 {\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n color: #fff;\\r\\n margin-bottom: 30px\\r\\n}\\r\\n\\r\\n.blue-box-detail {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.blue-box-detail .lght-txt {\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n color: #FFFFFF;\\r\\n opacity: 0.75;\\r\\n text-transform: capitalize ;\\r\\n}\\r\\n.blue-box-detail .lght-txt:hover {\\r\\nopacity: 1;\\r\\n}\\r\\n\\r\\n.blue-box-detail .white-txt {\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n color: #fff;\\r\\n transition: ease-in .2s;\\r\\n}\\r\\n\\r\\n#main #faq .card {\\r\\n border: 2px solid #01385f !important;\\r\\n border-radius: 20px !important;\\r\\n padding: 0 5px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n#main #faq .card .btn-header-link {\\r\\n display: block;\\r\\n text-align: left;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n color: #01385f;\\r\\n padding: 10px 15px;\\r\\n}\\r\\n\\r\\n#main #faq .card .btn-header-link i {\\r\\n font-size: 16px;\\r\\n padding-right: 5px;\\r\\n}\\r\\n\\r\\n#main #faq .card .btn-header-link:focus {\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n#main #faq .card .btn-header-link:after {\\r\\n content: \\\"\\\\f077\\\";\\r\\n font-family: 'FontAwesome';\\r\\n font-weight: 900;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n#main #faq .card .btn-header-link.collapsed:after {\\r\\n content: \\\"\\\\f078\\\";\\r\\n font-family: 'FontAwesome';\\r\\n}\\r\\n\\r\\n#main #faq .card .collapsing {\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n#main #faq .card .collapse {\\r\\n border: 0;\\r\\n}\\r\\n\\r\\n#main #faq .card .card-body {\\r\\n padding: 10px 0;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n}\\r\\n\\r\\n#main #faq .card .card-body .mat-raised-button {\\r\\n background-color: #17a2b8 !important;\\r\\n border-radius: 5px !important;\\r\\n font-size: 13px !important;\\r\\n padding: 0 7px !important;\\r\\n}\\r\\n\\r\\n.service-blk ul {\\r\\n padding-left: 0;\\r\\n min-height: 152px;\\r\\n overflow: auto;\\r\\n max-height: 280px;\\r\\n}\\r\\n\\r\\n.service-blk ul li {\\r\\n list-style: none;\\r\\n}\\r\\n\\r\\n.service-blk ul li {\\r\\n font-size: 15px;\\r\\n font-weight: 500;\\r\\n color: #707070;\\r\\n border-bottom: 1px solid #efefef;\\r\\n padding: 15px 0;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.service-blk ul li i {\\r\\n color: #01385f;\\r\\n font-size: 20px;\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n.group-table thead tr th,\\r\\ntr.mat-header-row {\\r\\n height: 48px;\\r\\n}\\r\\n\\r\\n.col-md-6 {\\r\\n cursor: pointer;\\r\\n} */\\r\\n\\r\\n/* .iconbox-single {\\r\\nbackground: #fff;\\r\\npadding: 11px 18px;\\r\\nmargin-bottom: 30px;\\r\\nborder-radius: 10px;\\r\\n-webkit-border-radius: 10px;\\r\\n-ms-flex-pack: justify;\\r\\njustify-content: space-between;\\r\\nflex-wrap: wrap;\\r\\nposition: relative;\\r\\ndisplay: flex;\\r\\nalign-items: center;\\r\\njustify-content: center;\\r\\n}\\r\\n.iconbox-single .box-title,\\r\\n.iconbox-single .circle-icon {\\r\\nposition: relative;\\r\\ndisplay: flex;\\r\\nalign-items: center;\\r\\njustify-content: center;\\r\\n}\\r\\n.iconbox-single .circle-icon {\\r\\nwidth: 40px;\\r\\nheight: 40px;\\r\\nmargin-right: 15px;\\r\\nborder-radius: 50%;\\r\\n-webkit-border-radius: 50%;\\r\\n}\\r\\n.iconbox-single .circle-icon .material-icons,\\r\\n.iconbox-single .circle-icon svg,\\r\\n.iconbox-single .circle-icon img {\\r\\ncolor: #2f2660;\\r\\nfont-size: 36px;\\r\\nwidth: 55px;\\r\\nheight: 55px;\\r\\n}\\r\\n.iconbox-single .circle-icon.white-icon .material-icons,\\r\\n.iconbox-single .circle-icon.white-icon svg,\\r\\n.iconbox-single .circle-icon.white-icon img {\\r\\ncolor: #fff;\\r\\n\\r\\n}\\r\\n.iconbox-single p {\\r\\nmargin: 0;\\r\\nfont-weight: 600;\\r\\nfont-size: 22px;\\r\\ncolor: #2f2660;\\r\\n}\\r\\n.iconbox-single p.white-txt{ color:#ffffff;}\\r\\n.iconbox-single h5 {\\r\\nmargin: 0;\\r\\nfont-size: 35px;\\r\\nfont-weight: 500;\\r\\ncolor:#2f2660;\\r\\nwidth: 100%;\\r\\ntext-align: center;\\r\\npadding:15px 15px 5px 15px;\\r\\n}\\r\\n.iconbox-single.white-txt h5 {\\r\\ncolor:#ffffff;\\r\\n}\\r\\n.dashboard-panel > div {\\r\\nheight: 30px;\\r\\n}\\r\\n.dashboard-panel button {\\r\\nwidth: 30px !important;\\r\\nheight: 30px !important;\\r\\npadding: 0px !important;\\r\\nline-height: normal;\\r\\n}\\r\\n.dashboard_body table th {\\r\\nheight: auto !important;\\r\\ncolor: #000 !important;\\r\\nfont-weight: 500 !important;\\r\\nfont-size: 11px !important;\\r\\ntext-transform: uppercase;\\r\\n}\\r\\n.dashboard_body .DivPager {\\r\\npadding: 0px 25px;\\r\\n}\\r\\n.remain-unit-circle {\\r\\ncolor: #fff;\\r\\nborder: 1px solid transparent;\\r\\nwidth: 80px;\\r\\ntext-align: center;\\r\\ndisplay: block;\\r\\nborder-radius: 30px;\\r\\nfont-size: 13px;\\r\\n}\\r\\n.mb-minus-15 {\\r\\nmargin-bottom: -15px;\\r\\n}\\r\\n.update-pwd {\\r\\ndisplay: flex;\\r\\njustify-content: space-between;\\r\\nalign-items: center;\\r\\nmargin-bottom: 15px;\\r\\n}\\r\\n.update-pwd i {\\r\\ncursor: pointer;\\r\\n}\\r\\n.dashboard-box .chart svg {\\r\\nwidth: 100%;\\r\\n}\\r\\n.show-hand{\\r\\ncursor: pointer;\\r\\n}\\r\\n@media (min-width: 992px) and (max-width: 1199px) {\\r\\n.iconbox-single {\\r\\n padding-left: 15px;\\r\\n padding-right: 15px;\\r\\n}\\r\\n.iconbox-single p {\\r\\n font-size: 20px;\\r\\n}\\r\\n.iconbox-single .circle-icon {\\r\\n width: 36px;\\r\\n height: 36px;\\r\\n margin-right: 5px;\\r\\n}\\r\\n.dashboard-box .chart > div {\\r\\n width: 50px !important;\\r\\n}\\r\\n}\\r\\n@media (max-width: 480px) {\\r\\n.dashboard-box .chart > div {\\r\\n width: 60px !important;\\r\\n}\\r\\n.iconbox-single .circle-icon {\\r\\n margin-right: 10px;\\r\\n}\\r\\n}\\r\\n\\r\\n.sticky-table .table-hover tbody tr:hover {\\r\\nbackground-color: transparent;\\r\\n}\\r\\n\\r\\n.no-fixed {\\r\\nwidth: 100%;\\r\\nheight: 100%;\\r\\n}\\r\\n.no-fixed .table {\\r\\ntable-layout: inherit;\\r\\nwidth: 100%;\\r\\n\\r\\nmargin: 0px;\\r\\n}\\r\\n.no-fixed .table tr.mat-header-row th {\\r\\nposition: static !important;\\r\\nwidth: auto;\\r\\n}\\r\\n\\r\\n.bar-dash > div {\\r\\nmin-height: 320px;\\r\\n}\\r\\n\\r\\n\\r\\n*/\\r\\n\\r\\n/* \\r\\n.book-appt-check .mat-radio-button {\\r\\n display: inline-block;\\r\\n} */\\r\\n\\r\\n/* Instant comment */\\r\\n\\r\\n/* .blue-box {\\r\\n box-shadow: 0px 0px 5px rgb(2 106 136 / 62%); \\r\\n}\\r\\nh3 {\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 991px) and (max-width: 1040px) {\\r\\n #main #faq .card .btn-header-link {\\r\\n padding: 10px 0px;\\r\\n }\\r\\n} */\\r\\n\\r\\n.back_img {\\r\\n position: relative;\\r\\nbackground: linear-gradient(90.06deg, #014971 0.32%, #03BECA 100.49%);\\r\\nborder: 1px solid #F0EFFC;\\r\\nborder-radius: 16px;\\r\\nheight: 268px;\\r\\noverflow: hidden;\\r\\n}\\r\\n\\r\\n.back_img .profile{\\r\\n position: absolute;\\r\\n right: -160px;\\r\\n bottom: -120px;\\r\\n}\\r\\n\\r\\n.profile_data {\\r\\n position: absolute;\\r\\n top: 40px;\\r\\n left: 30px;\\r\\n}\\r\\n\\r\\nh3.text_welcome {\\r\\n font-size: 28px;\\r\\n color: #ffffff;\\r\\n font-weight: bold;\\r\\n margin: 0 0 15px 0;\\r\\n}\\r\\n\\r\\np.para {\\r\\n font-size: 14px;\\r\\n font-weight: 300;\\r\\n color: #ffffff;\\r\\n}\\r\\n\\r\\n.filter_blko {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n margin-bottom: 12px;\\r\\n}\\r\\n\\r\\n.consultation_filter {\\r\\n border: 1px solid #f0f0f0;\\r\\n border-radius: 16px;\\r\\n padding: 18px 20px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-expansion-panel {\\r\\n border-radius: 10px;\\r\\n border: 1px solid #def5f6;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-expansion-panel-header {\\r\\n border-radius: 10px 10px 0 0;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-expansion-panel-body {\\r\\n padding: 10px 13px;\\r\\n}\\r\\n\\r\\n/* .icon_plus {\\r\\n font-size: 20px;\\r\\n margin-right: 6px;\\r\\n color: #014971 !important;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n\\r\\n} */\\r\\n\\r\\n::ng-deep .mat-expansion-panel-header-title {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.new {\\r\\n font-size: 18px;\\r\\n font-weight: 400;\\r\\n color: #014971;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\nbutton {\\r\\n background: linear-gradient(to right, #014971 0%, #03beca 100%);\\r\\n font-size: 16px;\\r\\n font-weight: 300 !important;\\r\\n color: white;\\r\\n border: none;\\r\\n border-radius: 10px;\\r\\n padding: 8px 10px;\\r\\n}\\r\\n\\r\\n.buttons {\\r\\n gap: 15px;\\r\\n /* justify-content: center; */\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n/* .flex-column {\\r\\n gap: 20px;\\r\\n} */\\r\\n\\r\\n.filter_blkkk {\\r\\n gap: 20px;\\r\\n}\\r\\n\\r\\n.appointment-details {\\r\\n background-color: #f8fdfd;\\r\\n border-radius: 16px;\\r\\n padding: 30px 32px;\\r\\n /* margin: 30px 0 0 0; */\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n /* height: 100%; */\\r\\n}\\r\\n\\r\\n.head_appointment {\\r\\n margin: 30px 0 20px 0;\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.card_buttons {\\r\\n gap: 20px;\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.circle_block {\\r\\n position: absolute;\\r\\n width: 87px;\\r\\n height: 87px;\\r\\n\\r\\n background: #afdfe1;\\r\\n -webkit-transform: rotate(90deg);\\r\\n transform: rotate(90deg);\\r\\n}\\r\\n\\r\\n.today {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n color: #01385f;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n/* .over-text {\\r\\n position: absolute;\\r\\n top: 16px;\\r\\n left: 13px;\\r\\n margin: auto 0;\\r\\n} */\\r\\n\\r\\n.card-button {\\r\\n position: relative;\\r\\n width: 100%;\\r\\nbox-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15);\\r\\nborder-radius: 16px;\\r\\nheight: 90px;\\r\\ndisplay: flex;\\r\\nalign-items: center;\\r\\npadding: 0 20px;\\r\\noverflow: hidden;\\r\\n}\\r\\n\\r\\n.First_Card_BLK {\\r\\n background: linear-gradient(319.11deg, #AFDFE1 2.11%, #FFFFFF 60.94%);\\r\\n}\\r\\n\\r\\n.First_Card_BLK .over-two {\\r\\n background: rgba(175, 223, 225, 1);\\r\\n}\\r\\n\\r\\n.Second_Card_BLK {\\r\\n background: linear-gradient(319.11deg, #6FB4D6 2.11%, #FFFFFF 60.94%);\\r\\n}\\r\\n\\r\\n.Second_Card_BLK .over-two {\\r\\n background: rgba(111, 180, 214, 1);\\r\\n}\\r\\n\\r\\n.Third_Card_BLK {\\r\\nbackground: linear-gradient(319.11deg, #C4DDA0 2.11%, #FFFFFF 60.94%);\\r\\n}\\r\\n\\r\\n.Third_Card_BLK .over-two {\\r\\n background: rgba(196, 221, 160, 1);\\r\\n }\\r\\n\\r\\n.Fourth_Card_BLK {\\r\\nbackground: linear-gradient(319.11deg, #FFD18B 2.11%, #FFFFFF 60.94%);\\r\\n}\\r\\n\\r\\n.Fourth_Card_BLK .over-two {\\r\\n background: rgba(255, 209, 139, 1);\\r\\n }\\r\\n\\r\\n.total_num {\\r\\n font-size: 20px;\\r\\n font-weight: 500;\\r\\n color: hsl(205, 98%, 19%);\\r\\n}\\r\\n\\r\\n.total_num_blk {\\r\\n position: absolute;\\r\\n right: 20px;\\r\\n top: 20px;\\r\\n}\\r\\n\\r\\n.over-two {\\r\\n position: absolute;\\r\\n top: -19px;\\r\\n right: -19px;\\r\\n height: 87px;\\r\\n width: 87px;\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n/* .appointment_img img {\\r\\n max-width: 170px;\\r\\n} */\\r\\n\\r\\n.provider-dashbord , .dashboard_block_first {\\r\\n gap: 30px;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-card:not([class*=\\\"mat-elevation-z\\\"]) {\\r\\n box-shadow: none !important;\\r\\n}\\r\\n\\r\\n.appointment_calender {\\r\\n display: flex;\\r\\n /* Use flexbox */\\r\\n flex-direction: column;\\r\\n /* Arrange children vertically */\\r\\n height: 100%;\\r\\n /* Extend to full height of parent */\\r\\n}\\r\\n\\r\\n.calendar-block {\\r\\n border: 1px solid #f0f0f0;\\r\\n border-radius: 16px;\\r\\n padding: 35px 45px;\\r\\n text-align: center;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n overflow-y: auto;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.fa-phone,\\r\\n.fa-plus {\\r\\n background: #01385f;\\r\\n color: white !important;\\r\\n border-radius: 50%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n padding: 5px;\\r\\n width: 20px;\\r\\n height: 20px;\\r\\n font-size: 12px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\nh2.title_calender {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\np.title_desc {\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n/* ::ng-deep\\r\\n td.mat-calendar-body-cell.mat-calendar-body-active\\r\\n .mat-calendar-body-cell-content.mat-calendar-body-today {\\r\\n border: none !important;\\r\\n background: linear-gradient(to right, #014971 0%, #03beca 100%);\\r\\n color: white;\\r\\n border-radius: 100%;\\r\\n} */\\r\\n\\r\\n::ng-deep\\r\\n td.mat-calendar-body-cell.mat-calendar-body-active\\r\\n .mat-calendar-body-cell-content.mat-calendar-body-selected {\\r\\n border: none !important;\\r\\n background: linear-gradient(to right, #014971 0%, #03beca 100%) !important;\\r\\n color: white !important;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-calendar-controls {\\r\\n display: inherit !important;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n::ng-deep.mat-calendar-body-selected {\\r\\n border: none !important;\\r\\n background: linear-gradient(to right, #014971 0%, #03beca 100%) !important;\\r\\n color: white !important;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n::ng-deep button.mat-calendar-previous-button.mat-icon-button {\\r\\n position: absolute;\\r\\n top: -2px;\\r\\n left: 10px;\\r\\n color: #014971;\\r\\n}\\r\\n\\r\\n::ng-deep button.mat-calendar-next-button.mat-icon-button {\\r\\n position: absolute;\\r\\n top: -2px;\\r\\n right: 10px;\\r\\n color: #014971;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-calendar-arrow {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n::ng-deep span.mat-button-wrapper {\\r\\n font-size: 16px;\\r\\n /* color: #014971; */\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n::ng-deep td.mat-calendar-body-label {\\r\\n opacity: 0;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-calendar-table-header th {\\r\\n font-size: 13px !important;\\r\\n font-weight: 500;\\r\\n color: #014971;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-calendar-body-cell-content {\\r\\n font-size: 16px !important;\\r\\n color: #014971;\\r\\n}\\r\\n\\r\\n.schedule_appointment {\\r\\n padding: 10px 10px 10px 19px;\\r\\n box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.15);\\r\\n border-radius: 8px;\\r\\n border-left: 9px solid #c4dda0;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.sche_time {\\r\\n margin-bottom: 8px;\\r\\n color: #014971;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\nh2.doctor_name {\\r\\n font-size: 16px;\\r\\n font-weight: 700;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\np.para_desc {\\r\\n font-size: 12px;\\r\\n margin: 0;\\r\\n color: #014971;\\r\\n}\\r\\n\\r\\n.schedule_appointment.two {\\r\\n border-left: 9px solid #ffd18b;\\r\\n}\\r\\n\\r\\n.schedule_appointment.three {\\r\\n border-left: 9px solid #6fb4d6;\\r\\n}\\r\\n\\r\\n.detailed_appointment {\\r\\n padding: 30px;\\r\\n border: 1px solid #f0f0f0;\\r\\n border-radius: 16px;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-tab-labels {\\r\\n display: flex;\\r\\n justify-content: space-between !important;\\r\\n}\\r\\n\\r\\nimg.user {\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n/* .profile_patient {\\r\\n display: flex;\\r\\n gap: 22px;\\r\\n align-items: center;\\r\\n height: 100%;\\r\\n vertical-align: top;\\r\\n} */\\r\\n\\r\\nh3.tile_approve {\\r\\n margin: 30px 0 20px 0;\\r\\n font-size: 20px;\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\nh3.appointment_title {\\r\\n margin-bottom: 30px;\\r\\n font-size: 20px;\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-tab-header {\\r\\n background: white !important;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-tab-label-content {\\r\\n font-size: 20px !important;\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.profile_patient p,\\r\\ntd p {\\r\\n color: #9a9ea5;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.name_patient {\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.button_text {\\r\\n color: #014971 !important;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-tab-body-wrapper {\\r\\n background: #f8fdfd !important;\\r\\n padding: 0 27px;\\r\\n border-radius: 20px;\\r\\n}\\r\\n\\r\\ntr:hover td {\\r\\n background-color: #17a2b8 !important;\\r\\n}\\r\\n\\r\\ntr:hover td h4,\\r\\ntr:hover td p,\\r\\ntr:hover td p.button_text {\\r\\n color: white !important;\\r\\n}\\r\\n\\r\\ntr:nth-child(even) {\\r\\n background-color: #eafcff;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n}\\r\\n\\r\\n.tr {\\r\\n background: white;\\r\\n padding: 0 0 0 10px;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n}\\r\\n\\r\\n/* .appointment_img{\\r\\n background-image: url(../../../../../assets/img/today.svg);\\r\\n background-repeat: no-repeat;\\r\\n background-size: 100% 100%;\\r\\n} */\\r\\n\\r\\n.card.one {\\r\\n background: linear-gradient(319.11deg, #afdfe1 2.11%, #ffffff 60.94%);\\r\\n box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15);\\r\\n border-radius: 16px;\\r\\n}\\r\\n\\r\\n.circle_block {\\r\\n background-image: url;\\r\\n}\\r\\n\\r\\n.post {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n/* .appoint-btns{\\r\\n min-width: 170px;\\r\\n box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n.appoint-btns:hover{\\r\\n box-shadow: none;\\r\\n}\\r\\n.appoint-btns:focus{\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n::ng-deep .date-with-dot {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n::ng-deep .date-with-dot:after {\\r\\n background-color: #ee380a;\\r\\n border-radius: 50%;\\r\\n bottom: 4px;\\r\\n content: '';\\r\\n height: 3px;\\r\\n left: 50%;\\r\\n position: absolute;\\r\\n -webkit-transform: translateX(-50%);\\r\\n transform: translateX(-50%);\\r\\n width: 3px;\\r\\n}\\r\\n\\r\\n/* ::ng-deep .mat-calendar-body-cell{\\r\\n border-color: red;\\r\\n} */\\r\\n\\r\\n@media screen and (max-width:1700px) {\\r\\n /* .card-button {\\r\\n width: 23%;\\r\\n } */\\r\\n\\r\\n /* .appointment_img img {\\r\\n max-width: inherit;\\r\\n } */\\r\\n .total_num_blk {\\r\\n right: 20px;\\r\\n top: 14px;\\r\\n}\\r\\n.over-two {\\r\\n top: -30px;\\r\\n right: -30px;\\r\\n}\\r\\n.calendar-block {\\r\\n padding: 15px;\\r\\n}\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 1440px) {\\r\\n\\r\\n\\r\\n h2.title_calender {\\r\\n font-size: 18px;\\r\\n }\\r\\n\\r\\n p.title_desc {\\r\\n font-size: 10px;\\r\\n margin: 0;\\r\\n }\\r\\n\\r\\n ::ng-deep button.mat-calendar-previous-button.mat-icon-button {\\r\\n left: 30px;\\r\\n }\\r\\n\\r\\n ::ng-deep button.mat-calendar-next-button.mat-icon-button {\\r\\n right: 30px;\\r\\n }\\r\\n\\r\\n ::ng-deep span.mat-button-wrapper {\\r\\n font-size: 13px;\\r\\n }\\r\\n\\r\\n ::ng-deep .mat-calendar-body-cell-content {\\r\\n font-size: 13px !important;\\r\\n }\\r\\n\\r\\n .sche_time {\\r\\n font-size: 12px;\\r\\n }\\r\\n\\r\\n h2.doctor_name {\\r\\n font-size: 14px;\\r\\n }\\r\\n\\r\\n p.para_desc {\\r\\n font-size: 9px;\\r\\n }\\r\\n\\r\\n .filter_blko {\\r\\n font-size: 18px;\\r\\n }\\r\\n\\r\\n .new {\\r\\n font-size: 14px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 1200px) and (max-width : 1366px) {\\r\\n.card-button {\\r\\n padding: 0 5px;\\r\\n}\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 1251px) {\\r\\n\\r\\n ::ng-deep button.mat-calendar-previous-button.mat-icon-button {\\r\\n left: 10px;\\r\\n }\\r\\n\\r\\n ::ng-deep button.mat-calendar-next-button.mat-icon-button {\\r\\n right: 10px;\\r\\n }\\r\\n\\r\\n ::ng-deep .mat-expansion-panel-header {\\r\\n height: 40px !important;\\r\\n }\\r\\n\\r\\n .new {\\r\\n font-size: 11px;\\r\\n }\\r\\n\\r\\n button {\\r\\n font-size: 13px;\\r\\n padding: 5px 6px;\\r\\n }\\r\\n\\r\\n .name_patient {\\r\\n font-size: 16px;\\r\\n }\\r\\n\\r\\n h3.tile_approve {\\r\\n margin: 30px 0 20px 0;\\r\\n font-size: 16px;\\r\\n font-weight: 700;\\r\\n }\\r\\n\\r\\n h3.text_welcome {\\r\\n font-size: 20px;\\r\\n margin: 0 0 11px 0;\\r\\n }\\r\\n\\r\\n p.para {\\r\\n font-size: 11px;\\r\\n font-weight: 300;\\r\\n }\\r\\n\\r\\n .profile_data {\\r\\n top: 18px;\\r\\n left: 20px;\\r\\n }\\r\\n\\r\\n ::ng-deep .mat-tab-label-content {\\r\\n font-size: 17px !important;\\r\\n font-weight: 400;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 1199px) {\\r\\n .dashord_pannel_one {\\r\\n gap: 30px;\\r\\n }\\r\\n .appointment-details {\\r\\n padding: 20px;\\r\\n }\\r\\n .detailed_appointment {\\r\\n padding: 20px;\\r\\n }\\r\\n ::ng-deep .mat-tab-body-wrapper {\\r\\n padding: 0 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 1000px) {\\r\\n .filter_blko {\\r\\n font-size: 12px;\\r\\n }\\r\\n\\r\\n ::ng-deep .mat-expansion-panel-header {\\r\\n height: 22px !important;\\r\\n padding: 0 12px;\\r\\n }\\r\\n\\r\\n .fa-phone,\\r\\n .fa-plus {\\r\\n width: 13px;\\r\\n height: 13px;\\r\\n font-size: 8px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width:992px) {\\r\\n .back_img .profile{\\r\\n right: -110px;\\r\\n bottom: -100px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 768px) {\\r\\n ::ng-deep .mat-tab-label-content {\\r\\n font-size: 13px !important;\\r\\n font-weight: 400;\\r\\n }\\r\\n h3.appointment_title {\\r\\n margin-bottom: 15px;\\r\\n font-size: 18px;\\r\\n font-weight: 700;\\r\\n}\\r\\n.head_appointment {\\r\\n margin: 20px 0 10px 0;\\r\\n font-size: 18px;\\r\\n}\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 767px) {\\r\\n p.para {\\r\\n font-size: 8px;\\r\\n margin: 0;\\r\\n }\\r\\n .name_patient {\\r\\n font-size: 12px;\\r\\n }\\r\\n button {\\r\\n font-size: 10px;\\r\\n }\\r\\n .dashord_pannel {\\r\\n gap: 20px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width:576px) {\\r\\n .dashord_pannel_one {\\r\\n gap: 20px;\\r\\n }\\r\\n .provider-dashbord , .dashboard_block_first {\\r\\n gap: 20px;\\r\\n }\\r\\n ::ng-deep .mat-tab-label-content {\\r\\n font-size: 11px !important;\\r\\n }\\r\\n h3.text_welcome {\\r\\n font-size: 18px;\\r\\n margin: 0 0 5px 0;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 529px) {\\r\\n .card_buttons {\\r\\n justify-content: center !important;\\r\\n }\\r\\n /* .appointment_img img {\\r\\n max-width: inherit !important;\\r\\n } */\\r\\n h2.head_appointment {\\r\\n text-align: center;\\r\\n }\\r\\n /* .calendar-block {\\r\\n margin-top: 30px;\\r\\n } */\\r\\n .appointment-details {\\r\\n margin: inherit !important;\\r\\n }\\r\\n /* .detailed_appointment {\\r\\n margin-top: 30px;\\r\\n} */\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 498px) {\\r\\n /* .head_appointment {\\r\\n font-size: 18px;\\r\\n } */\\r\\n h3.tile_approve {\\r\\n font-size: 13px;\\r\\n }\\r\\n}\\r\\n\\r\\n.clickable {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n@media screen and (max-width:450px) {\\r\\n .back_img .profile{\\r\\n right: -110px;\\r\\n bottom: -89px;\\r\\n }\\r\\n .back_img {\\r\\n height: 220px;\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

\\r\\n {{\\\"Welcome back\\\"| translate}} 👋
Dr. {{ staffProfile.firstName }}\\r\\n {{ staffProfile.lastName }}\\r\\n

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

{{\\\"Consultation Filter\\\"|translate}}

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

{{ \\\"new\\\" | translate }}

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

{{ \\\"follow_up\\\" | translate }}

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

\\r\\n \\r\\n {{\\\"upcoming_online_appointment\\\" | translate}}\\r\\n

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

\\r\\n {{ \\\"today\\\" | translate }}
{{\\r\\n \\\"appointment\\\" | translate\\r\\n }}\\r\\n

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

\\r\\n {{ dashboardData.todayAppointmentsOnline }}\\r\\n

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

{{ \\\"this_week\\\" | translate }}

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

\\r\\n {{ dashboardData.thisWeekAppointmentsOnline }}\\r\\n

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

{{ \\\"this_month\\\" | translate }}

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

\\r\\n {{ dashboardData.thisMonthAppointmentsOnline }}\\r\\n

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

\\r\\n {{ \\\"total\\\" | translate }}
{{\\r\\n \\\"appointment\\\" | translate\\r\\n }}\\r\\n

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

\\r\\n {{ dashboardData.totalAppointmentsOnline }}\\r\\n

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

\\r\\n \\r\\n {{\\\"upcoming_face_to_face_appointment\\\"| translate}}\\r\\n

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

\\r\\n {{ \\\"today\\\" | translate }}
{{\\r\\n \\\"appointment\\\" | translate\\r\\n }}\\r\\n

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

\\r\\n {{ dashboardData.todayAppointmentsFaceToFace }}\\r\\n

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

{{ \\\"this_week\\\" | translate }}

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

\\r\\n {{ dashboardData.thisWeekAppointmentsFaceToFace }}\\r\\n

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

{{ \\\"this_month\\\" | translate }}

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

\\r\\n {{ dashboardData.thisMonthAppointmentsFaceToFace }}\\r\\n

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

\\r\\n {{ \\\"total\\\" | translate }}
{{\\r\\n \\\"appointment\\\" | translate\\r\\n }}\\r\\n

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

\\r\\n {{ dashboardData.totalAppointmentsFaceToFace }}\\r\\n

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

{{ \\\"my_appointments\\\" | translate }}

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
0;\\r\\n else noAppointments\\r\\n \\\">\\r\\n
\\r\\n

\\r\\n {{ appointment.startDateTime | date : \\\"shortTime\\\" }} -\\r\\n {{ appointment.endDateTime | date : \\\"shortTime\\\" }}\\r\\n

\\r\\n

{{ appointment.fullName }}

\\r\\n

\\r\\n {{ appointment.appointmentType }} &\\r\\n {{ appointment.appointmentMode }}\\r\\n

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

{{\\\"No Appointments\\\"|translate}}

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

\\r\\n {{ \\\"appointment_details\\\" | translate }}\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { SchedulingRoutingModule } from \"./../../scheduling/scheduling-routing.module\";\r\nimport { Component, OnInit, ViewChild, AfterViewInit } from \"@angular/core\";\r\nimport { DashboardService } from \"./dashboard.service\";\r\nimport {\r\n FilterModel,\r\n ResponseModel,\r\n} from \"../../../../super-admin-portal/core/modals/common-model\";\r\nimport {\r\n EncounterModel,\r\n AuthorizationModel,\r\n DashboardModel,\r\n ClientStatusChartModel,\r\n} from \"./dashboard.model\";\r\nimport { Metadata } from \"../../core/modals/common-model\";\r\nimport { NavigationExtras, Router } from \"@angular/router\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { merge, Subscription, Subject } from \"rxjs\";\r\n\r\nimport { MatCalendar, MatDialog, MatPaginator, MatSort } from \"@angular/material\";\r\nimport { addDays, format, isSameDay, isSameMonth } from \"date-fns\";\r\nimport { AuthenticationService } from \"../../../../super-admin-portal/auth/auth.service\";\r\nimport { LoginUser } from \"../../core/modals/loginUser.modal\";\r\nimport { SchedulerService } from \"../../scheduling/scheduler/scheduler.service\";\r\nimport { UsersService } from \"../users/users.service\";\r\nimport { StaffProfileModel } from \"../users/users.model\";\r\nimport { UrgentCareListingdialogComponent } from \"src/app/shared/urgentcarelisting-dialog/urgentcarelisting-dialog.component\";\r\nimport { RefundFilterModel } from \"../../core/modals/common-model\";\r\nimport { PaymentService } from \"./../../agency-portal/Payments/payment.service\";\r\nimport { CalendarDayViewHourSegmentComponent } from \"angular-calendar/modules/day/calendar-day-view-hour-segment.component\";\r\nimport { ProviderMsgComponent } from \"../provider-msg/provider-msg.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { MailboxService } from \"../../mailing/mailbox.service\";\r\nimport { MessageCountModel } from \"../../mailing/mailbox.model\";\r\nimport { AppointmentGraphService } from \"src/app/shared/appointment-graph/appointment-graph.service\";\r\n@Component({\r\n selector: \"app-dashboard\",\r\n templateUrl: \"./dashboard.component.html\",\r\n styleUrls: [\"./dashboard.component.css\"],\r\n providers: [DatePipe],\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n encFilterModel: FilterModel;\r\n filterModel: RefundFilterModel;\r\n encounterList: Array = [];\r\n dashboardData: DashboardModel;\r\n clientStatusChartData: Array = [];\r\n encMeta: Metadata;\r\n subscription: Subscription;\r\n isAuth: boolean = true;\r\n refund: any = 0;\r\n currentDateRefund: any = 0;\r\n currentMonthRefund: any = 0;\r\n lastMonthRefund: any = 0;\r\n status: boolean = false;\r\n passwordExpiryColorCode: string = \"\";\r\n passwordExpiryMessage: string = \"\";\r\n showMessage: boolean = true;\r\n messageCounts: any;\r\n accessToken = \"YOUR_ACCESS_TOKEN\";\r\n message: Subject = new Subject();\r\n pendingAppointmentMeta: Metadata;\r\n cancelledAppointmentMeta: Metadata;\r\n tentativeAppointmentMeta: Metadata;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n curDate: any;\r\n aprovedAppointmentsDisplayedColumns: Array;\r\n aprovedAppointmentsActionButtons: Array;\r\n pendingDisplayedColumns: Array;\r\n pendingActionButtons: Array;\r\n cancelledDisplayedColumns: Array;\r\n cancelledActionButtons: Array;\r\n pendingAptfilterModel: FilterModel;\r\n cancelledAptfilterModel: FilterModel;\r\n pendingPatientAppointment: Array = [];\r\n cancelledPatientAppointment: Array = [];\r\n selectedIndex: number = 0;\r\n //Charts\r\n lineChartData: Array = [\r\n { data: [], label: \"\" },\r\n { data: [], label: \"\" },\r\n ];\r\n lineChartLabels: Array = [];\r\n lineChartType: string = \"line\";\r\n headerText: string = \"Authorization\";\r\n userId: string;\r\n staffId: number;\r\n urgentcareapptid: number;\r\n showurgentcarebtn: boolean = false;\r\n staffProfile: StaffProfileModel;\r\n allAppointmentsList: Array = [];\r\n demoappointmentlist:Array=[];\r\n //allAppointmentsMeta: Metadata;\r\n allAppointmentsMeta: Metadata = new Metadata();\r\n selectedDate: Date = new Date();\r\n startDateTimes: any[]=[];\r\n initialized: boolean;\r\n currentMonth: number = this.selectedDate.getMonth();\r\n currentYear: number = this.selectedDate.getFullYear();\r\n @ViewChild(MatCalendar) calendar!: MatCalendar;\r\n constructor(\r\n private dashoboardService: DashboardService,\r\n private mailboxService: MailboxService,\r\n private datePipe: DatePipe,\r\n private route: Router,\r\n private paymentService: PaymentService,\r\n private commonService: CommonService,\r\n private schedulerService: SchedulerService,\r\n private userService: UsersService,\r\n private dialogModal: MatDialog,\r\n private translate: TranslateService,\r\n private appointmentGraphService: AppointmentGraphService,\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.encFilterModel = new FilterModel();\r\n this.filterModel = new RefundFilterModel();\r\n this.encMeta = new Metadata();\r\n this.dashboardData = new DashboardModel();\r\n this.staffProfile = new StaffProfileModel();\r\n // this.encDisplayedColumns = [\r\n // { displayName: 'Practitioner', key: 'staffName', class: '', width: '20%' },\r\n // { displayName: 'Client Name', key: 'clientName', class: '', width: '20%' },\r\n // { displayName: 'Day', key: 'day', width: '10%' },\r\n // { displayName: 'DOS', key: 'dateOfService', width: '20%', type: 'date' },\r\n // { displayName: 'Status', key: 'status', width: '20%' },\r\n // { displayName: 'Actions', key: 'Actions', width: '10%' }\r\n // ];\r\n // this.encActionButtons = [\r\n // { displayName: 'View', key: 'view', class: 'fa fa-eye' }\r\n // ];\r\n this.pendingAptfilterModel = new FilterModel();\r\n this.cancelledAptfilterModel = new FilterModel();\r\n this.pendingDisplayedColumns = [\r\n {\r\n displayName: \"Care Manager\",\r\n key: \"staffName\",\r\n width: \"110px\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"Member Name\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true,\r\n },\r\n { displayName: \"Appt. Type\", key: \"appointmentType\", width: \"80px\" },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"250px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\",\r\n },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"80px\", sticky: true },\r\n ];\r\n this.pendingActionButtons = [\r\n { displayName: \"Approve\", key: \"approve\", class: \"fa fa-check\" },\r\n { displayName: \"Cancel\", key: \"cancel\", class: \"fa fa-ban\" },\r\n ];\r\n\r\n this.cancelledDisplayedColumns = [\r\n {\r\n displayName: \"Care Manager\",\r\n key: \"staffName\",\r\n width: \"100px\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"Member Name\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true,\r\n },\r\n { displayName: \"Appt. Type\", key: \"appointmentType\", width: \"80px\" },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"200px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\",\r\n },\r\n { displayName: \"Cancel Type\", kefy: \"cancelType\", width: \"140px\" },\r\n { displayName: \"Cancel Reason\", key: \"cancelReason\", width: \"150px\" },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"60px\", sticky: true },\r\n ];\r\n this.cancelledActionButtons = [];\r\n\r\n this.aprovedAppointmentsDisplayedColumns = [\r\n {\r\n displayName: \"Practitioner\",\r\n key: \"staffName\",\r\n class: \"\",\r\n width: \"20%\",\r\n },\r\n {\r\n displayName: \"Client Name\",\r\n key: \"clientName\",\r\n class: \"\",\r\n width: \"20%\",\r\n },\r\n { displayName: \"Day\", key: \"day\", width: \"10%\" },\r\n { displayName: \"DOS\", key: \"dateOfService\", width: \"20%\", type: \"date\" },\r\n { displayName: \"Status\", key: \"status\", width: \"20%\" },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"10%\" },\r\n ];\r\n this.aprovedAppointmentsActionButtons = [];\r\n }\r\n\r\n ngOnInit() {\r\n let isProviderApproved = this.dashoboardService.getIsProviderApproved()\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n // console.log(\"staffid dsdsadas:\", user.data)\r\n this.staffId = user.data.id;\r\n this.userId = user.data.userID;\r\n if (isProviderApproved == false) {\r\n this.OpenWarningMsg(user.data);\r\n }\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"PROVIDER\") {\r\n this.getLastUrgentCareCallStatus();\r\n }\r\n }\r\n });\r\n this.setPaginatorModel();\r\n this.getPayments(this.filterModel);\r\n this.getEncounterListForDashboard();\r\n this.getDashboardBasicInfo();\r\n this.getPasswordExpiryMessage();\r\n this.getStaffProfileData();\r\n this.getPendignPatientAppointmentList();\r\n this.getCancelledPatientAppointmentList();\r\n this.getAllPatientAppointmentList();\r\n \r\n\r\n// const currentDate = new Date();\r\n// console.log(\"currentdateyearmonth\",currentDate.getFullYear(),currentDate.getFullYear() )\r\n// const firstDayOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1);\r\n// const lastDayOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0);\r\n\r\n// console.log(\"FirstDate:\", format(firstDayOfMonth, 'MM/DD/YYYY'));\r\n// console.log(\"LastDate:\", format(lastDayOfMonth, 'MM/DD/YYYY'));\r\n \r\n// let first = format(firstDayOfMonth, 'MM/DD/YYYY');\r\n// let last = format(lastDayOfMonth, 'MM/DD/YYYY')\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // setTimeout(() => this.addDotsToAppointmentDates(), 100);\r\n\r\n \r\n setTimeout(()=> this.calendar.stateChanges.subscribe(() => {\r\n if (this.calendar.activeDate.getMonth() !== this.currentMonth || \r\n this.calendar.activeDate.getFullYear() !== this.currentYear) {\r\n this.currentMonth = this.calendar.activeDate.getMonth();\r\n this.currentYear = this.calendar.activeDate.getFullYear();\r\n //console.log(\"This current Month\",this.currentMonth , this.currentYear )\r\n this.allAppointmentsList = [];\r\n this.loadAppointmentsForCurrentMonth(null);\r\n }\r\n }),2000\r\n );\r\n\r\n \r\n setTimeout(()=>this.loadAppointmentsForCurrentMonth(new Date()),1000);\r\n }\r\n\r\n \r\n loadAppointmentsForCurrentMonth(currentDate:any): void {\r\n\r\n const startDate = new Date(this.currentYear, this.currentMonth, 1);\r\n const endDate = new Date(this.currentYear, this.currentMonth + 1, 0);\r\n const formatAddedOneDayEndDate = new Date(this.currentYear, this.currentMonth , endDate.getDate() + 1);\r\n // console.log(\"loading loading\")\r\n const formattedStartDate = format(startDate, 'MM/DD/YYYY');\r\n const formattedEndDate = format(formatAddedOneDayEndDate , 'MM/DD/YYYY');\r\n \r\n this.fetchAppointments(formattedStartDate, formattedEndDate);\r\n }\r\n \r\n\r\n addDotsToAppointmentDates(): void {\r\n setTimeout(() => {\r\n const elements = document.getElementsByClassName('mat-calendar-body-cell');\r\n const appointmentSet = new Set(this.startDateTimes.map(date => \r\n `${date.getFullYear()}-${date.getMonth()}-${date.getDate()}`\r\n ));\r\n\r\n Array.from(elements).forEach((element: Element) => {\r\n const dateText = element.textContent.trim();\r\n if (!dateText || !dateText.match(/^\\d+$/)) return;\r\n\r\n const formattedDateKey = `${this.currentYear}-${this.currentMonth}-${parseInt(dateText)}`;\r\n\r\n if (appointmentSet.has(formattedDateKey)) {\r\n element.classList.add('date-with-dot');\r\n } else {\r\n element.classList.remove('date-with-dot');\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n fetchAppointments(startDate: string, endDate: string): void {\r\n const filters = {\r\n pageNumber: 1,\r\n pageSize: 200,\r\n fromDate: startDate,\r\n toDate: endDate\r\n };\r\n\r\n this.appointmentGraphService.getAcceptedOrApprovedAppointmentListForRedDot(filters)\r\n .subscribe(response => {\r\n if (response && response.statusCode === 200) {\r\n // console.log(\"red dot appointments\", response)\r\n this.startDateTimes = [];\r\n this.startDateTimes = (response.data || []).map(appointment => this.convertToLocalTime(appointment.startDateTime));\r\n // console.log(\"This.startime\", this.startDateTimes);\r\n // console.log(\"COnvert local time \", (response.data || []).map(appointment => this.convertToLocalTime(appointment.startDateTime)));\r\n this.addDotsToAppointmentDates();\r\n } else {\r\n this.startDateTimes = [];\r\n }\r\n }, error => {\r\n console.error('Error fetching appointments:', error);\r\n this.startDateTimes = [];\r\n });\r\n }\r\n\r\n\r\n\r\n convertToLocalTime(utcDateTime: string): Date {\r\n return new Date(utcDateTime + \"Z\"); // Automatically converts to user's local time zone\r\n }\r\n\r\n OpenWarningMsg = (userData) => {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(ProviderMsgComponent, {\r\n hasBackdrop: true,\r\n width: \"45%\",\r\n data: userData\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n this.dashoboardService.setIsProviderApproved(true);\r\n });\r\n };\r\n getPayments(filterModel: RefundFilterModel) {\r\n this.paymentService\r\n .getAppointmentRefunds(filterModel)\r\n .subscribe((response: any) => {\r\n if (response != null && response.statusCode == 302) {\r\n //////;\r\n var refund = 0;\r\n var currentDateRefund = 0;\r\n var lastMonthRefund = 0;\r\n var currentMonthRefund = 0;\r\n var date = new Date();\r\n var curDate = format(new Date(), 'DD/MM/YYYY');\r\n var firstDay = format(\r\n new Date(date.getFullYear(), date.getMonth(), 1),\r\n 'DD/MM/YYYY'\r\n );\r\n var lastDay = format(\r\n new Date(date.getFullYear(), date.getMonth() + 1, 0),\r\n 'DD/MM/YYYY'\r\n );\r\n var PreMonthLastDay = format(\r\n new Date(date.getFullYear(), date.getMonth(), 0),\r\n 'DD/MM/YYYY'\r\n );\r\n var PreMonthFirstDay = format(\r\n new Date(\r\n date.getFullYear() - (date.getMonth() > 0 ? 0 : 1),\r\n (date.getMonth() - 1 + 12) % 12,\r\n 1\r\n ),\r\n 'DD/MM/YYYY'\r\n );\r\n response.data.forEach((a) => (this.refund += a.netAmount));\r\n response.data.forEach(function (item: any) {\r\n if (format(item.startDateTime,'DD/MM/YYYY') == curDate) {\r\n currentDateRefund += item.netAmount;\r\n }\r\n });\r\n response.data.forEach(function (item: any) {\r\n if (\r\n format(item.startDateTime,'DD/MM/YYYY') >= firstDay &&\r\n format(item.startDateTime,'DD/MM/YYYY') <= lastDay\r\n ) {\r\n currentMonthRefund += item.netAmount;\r\n }\r\n });\r\n response.data.forEach(function (item: any) {\r\n if (\r\n format(item.startDateTime, \"MM/DD/YYYY\") >= PreMonthFirstDay &&\r\n format(item.startDateTime, \"MM/DD/YYYY\") <= PreMonthLastDay\r\n ) {\r\n lastMonthRefund += item.netAmount;\r\n }\r\n });\r\n\r\n this.refund = refund;\r\n this.lastMonthRefund = lastMonthRefund;\r\n this.currentMonthRefund = currentMonthRefund;\r\n }\r\n });\r\n }\r\n\r\n gotoscheduler(month: any, appttype: any, apptmode: any) {\r\n this.route.navigate([\"/web/manage-users/availability\"], {\r\n // queryParams: {\r\n // calendermonth: month,\r\n // appttype: appttype,\r\n // apptmode: apptmode,\r\n // },\r\n });\r\n }\r\n gotopayments() {\r\n this.route.navigate([\"/web/payment/payment-history\"]);\r\n }\r\n\r\n gotoschedulermonth(month: any) {\r\n this.route.navigate([\"/web/manage-users/availability\"], {\r\n queryParams: { calendermonth: month },\r\n });\r\n }\r\n gotoschedulertoday(currentdayview: any) {\r\n this.route.navigate([\"/web/manage-users/availability\"], {\r\n queryParams: { currentdayview: currentdayview },\r\n });\r\n }\r\n gotoschedulerTotal() {\r\n this.route.navigate([\"/web/manage-users/availability\"]);\r\n }\r\n\r\n gotopaymentslastmonth(monthstatus: any) {\r\n this.route.navigate([\"/web/payment/payment-history\"], {\r\n queryParams: { monthstatus: monthstatus },\r\n });\r\n }\r\n gotopendingApproval() {\r\n this.route.navigate([\"/web/my-appointments\"],{ queryParams: { status: 'Pending' } });\r\n }\r\n gotoTodaysAppt(): void {\r\n const today = new Date();\r\n const formattedDate = today.toISOString().split('T')[0];\r\n\r\n this.route.navigate(['/web/my-appointments'], {\r\n queryParams: {\r\n fromDate: formattedDate,\r\n toDate: formattedDate\r\n }\r\n });\r\n }\r\n gotomyClient() {\r\n this.route.navigate([\"/web/clientlist\"]);\r\n }\r\n gotowaitingRoom(id: number) {\r\n this.route.navigate(['/web/waiting-room'], {queryParams: { id: id }});\r\n }\r\n \r\n gotomyProfile(){\r\n this.route.navigate([\"/web/manage-users/user-profile\"]);\r\n }\r\n\r\n hideMessageClick() {\r\n this.showMessage = false;\r\n }\r\n changeWidget(value: string = \"\") {\r\n if (value == \"authorization\") {\r\n this.isAuth = true;\r\n this.headerText = \"Authorization\";\r\n } else if (value == \"clientstatus\") {\r\n this.getClientStatusChart();\r\n }\r\n }\r\n\r\n onTabChanged(event: any) {\r\n this.selectedIndex = event.value;\r\n if (event.index == 0) {\r\n // this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n this.getEncounterListForDashboard();\r\n } else if (event.index == 1) {\r\n this.getPendignPatientAppointmentList();\r\n } else if (event.index == 2) {\r\n this.getCancelledPatientAppointmentList();\r\n }\r\n // else if (event.index == 3) {\r\n // } else if (event.index == 4) {\r\n // this.getTentativePatientAppointmentList();\r\n // }\r\n }\r\n\r\n getEncounterListForDashboard() {\r\n this.dashoboardService\r\n .getEncounterListForDashboard(this.encFilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.encounterList =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.encMeta = response.meta;\r\n this.encMeta.pageSizeOptions = [5, 10, 25, 50, 100];\r\n }\r\n });\r\n }\r\n\r\ngetPendignPatientAppointmentList() {\r\n this.dashoboardService\r\n .getPendingPatientAppointment(this.pendingAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.pendingPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.pendingAppointmentMeta = response.meta;\r\n \r\n this.commonService.setPendingAppointment(this.pendingAppointmentMeta.totalRecords.toString());\r\n localStorage.setItem(\"pendingAppointment\", this.pendingAppointmentMeta.totalRecords.toString());\r\n } else {\r\n this.pendingPatientAppointment = [];\r\n this.pendingAppointmentMeta = null;\r\n \r\n localStorage.setItem(\"pendingAppointment\", '0');\r\n }\r\n });\r\n \r\n this.mailboxService\r\n .getMessageCount(true)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.messageCounts =\r\n response.data == null ? new MessageCountModel() : response.data;\r\n this.commonService.setInboxCount(this.messageCounts.inboxCount.toString());\r\n localStorage.setItem(\"messageCount\", this.messageCounts.inboxCount.toString());\r\n }\r\n else{\r\n this.messageCounts =0;\r\n localStorage.setItem(\"messageCount\", '0');\r\n \r\n }});\r\n \r\n }\r\n\r\n\r\n\r\n // async getPendignPatientAppointmentList() {\r\n // try {\r\n // const pendingPatientResponse: ResponseModel = await this.dashoboardService\r\n // .getPendingPatientAppointment(this.pendingAptfilterModel)\r\n // .toPromise();\r\n\r\n // if (pendingPatientResponse && pendingPatientResponse.statusCode === 200) {\r\n // this.pendingPatientAppointment =\r\n // pendingPatientResponse.data && pendingPatientResponse.data.length > 0\r\n // ? pendingPatientResponse.data\r\n // : [];\r\n // this.pendingAppointmentMeta = pendingPatientResponse.meta;\r\n\r\n // this.commonService.setPendingAppointment(this.pendingAppointmentMeta.totalRecords.toString());\r\n // } else {\r\n // this.pendingPatientAppointment = [];\r\n // this.pendingAppointmentMeta = null;\r\n // }\r\n\r\n // const messageCountResponse: ResponseModel = await this.mailboxService\r\n // .getMessageCount(true)\r\n // .toPromise();\r\n\r\n // if (messageCountResponse && messageCountResponse.statusCode === 200) {\r\n // this.messageCounts =\r\n // messageCountResponse.data == null\r\n // ? new MessageCountModel()\r\n // : messageCountResponse.data;\r\n\r\n // this.commonService.setInboxCount(this.messageCounts.inboxCount.toString());\r\n // } else {\r\n // // this.messageCounts = new MessageCountModel();\r\n // // localStorage.setItem('messageCount', '0');\r\n // // this.commonService.setInboxCount('0');\r\n // }\r\n // } catch (error) {\r\n // console.error('Error fetching data:', error);\r\n // this.pendingPatientAppointment = [];\r\n // this.pendingAppointmentMeta = null;\r\n // this.messageCounts = new MessageCountModel();\r\n // localStorage.setItem('messageCount', '0');\r\n // }\r\n // }\r\n\r\n\r\n getLastUrgentCareCallStatus() {\r\n //////;\r\n this.schedulerService\r\n .getLastUrgentCareCallStatus(this.userId)\r\n .subscribe((response) => {\r\n if (response.statusCode === 200) {\r\n if (response.data != undefined) {\r\n this.urgentcareapptid = response.data.id;\r\n //this.hasPreviousNewMeeting = response.data ? true : false;\r\n this.showurgentcarebtn = true;\r\n } else {\r\n this.showurgentcarebtn = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n Redirect() {\r\n this.route.navigate([\"/web/encounter/soap\"], {\r\n queryParams: {\r\n apptId: this.urgentcareapptid,\r\n encId: 0,\r\n },\r\n });\r\n }\r\n\r\n onPendingPageOrSortChange(changeState?: any) {\r\n this.setPendingPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getPendignPatientAppointmentList();\r\n }\r\n onCancelledPageOrSortChange(changeState?: any) {\r\n this.setCancelledPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getCancelledPatientAppointmentList();\r\n }\r\n setPendingPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.pendingAptfilterModel.pageNumber = pageNumber;\r\n this.pendingAptfilterModel.pageSize = pageSize;\r\n this.pendingAptfilterModel.sortOrder = sortOrder;\r\n this.pendingAptfilterModel.sortColumn = sortColumn;\r\n }\r\n setCancelledPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.cancelledAptfilterModel.pageNumber = pageNumber;\r\n this.cancelledAptfilterModel.pageSize = pageSize;\r\n this.cancelledAptfilterModel.sortOrder = sortOrder;\r\n this.cancelledAptfilterModel.sortColumn = sortColumn;\r\n }\r\n getCancelledPatientAppointmentList() {\r\n this.dashoboardService\r\n .getCancelledPatientAppointment(this.cancelledAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.cancelledPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.cancelledAppointmentMeta = response.meta;\r\n } else {\r\n this.cancelledPatientAppointment = [];\r\n this.cancelledAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n getPasswordExpiryMessage() {\r\n this.subscription = this.commonService.loginUser.subscribe(\r\n (user: LoginUser) => {\r\n if (user.passwordExpiryStatus) {\r\n this.passwordExpiryColorCode = user.passwordExpiryStatus.colorCode;\r\n this.passwordExpiryMessage = user.passwordExpiryStatus.message;\r\n this.status = user.passwordExpiryStatus.status;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getDashboardBasicInfo() {\r\n this.dashoboardService\r\n .getDashboardBasicInfo()\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.dashboardData =\r\n response.data != null ? response.data : new DashboardModel();\r\n }\r\n });\r\n // var onlineAppointments = this.allAppointmentsList.filter(function(appointment) {\r\n // return appointment.appointmentMode === \"online\";\r\n // });\r\n // var onlineAppointmentsCount = onlineAppointments.length;\r\n\r\n }\r\n getClientStatusChart() {\r\n this.dashoboardService\r\n .getClientStatusChart()\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.isAuth = false;\r\n this.headerText = \"Client Status\";\r\n this.clientStatusChartData =\r\n response.data != null\r\n ? response.data\r\n : new ClientStatusChartModel();\r\n if (this.clientStatusChartData.length > 0) {\r\n this.lineChartLabels = this.clientStatusChartData.map(\r\n ({ registeredDate }) => format(registeredDate, \"MM/DD/YYYY\")\r\n );\r\n this.lineChartData = [\r\n {\r\n data: this.clientStatusChartData.map(({ active }) => active),\r\n label: \"Active\",\r\n },\r\n {\r\n data: this.clientStatusChartData.map(\r\n ({ inactive }) => inactive\r\n ),\r\n label: \"Inactive\",\r\n },\r\n ];\r\n }\r\n }\r\n });\r\n }\r\n onEncPageOrSortChange(changeState?: any) {\r\n this.setEncPaginatorModel(\r\n changeState.pageNumber,\r\n this.encFilterModel.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getEncounterListForDashboard();\r\n }\r\n\r\n onEncTableActionClick(actionObj?: any) {\r\n const id = actionObj.data && actionObj.data.id;\r\n const name = actionObj.data && actionObj.data.name,\r\n appointmentId = actionObj.data && actionObj.data.patientAppointmentId,\r\n patientEncounterId = actionObj.data && actionObj.data.id,\r\n isBillableEncounter =\r\n actionObj.data && actionObj.data.isBillableEncounter;\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"VIEW\":\r\n const redirectUrl = isBillableEncounter\r\n ? \"/web/waiting-room/\"\r\n : \"/web/encounter/non-billable-soap\";\r\n if (isBillableEncounter) {\r\n this.route.navigate([\"/web/waiting-room/\" + appointmentId]);\r\n } else {\r\n this.route.navigate([redirectUrl], {\r\n queryParams: {\r\n apptId: appointmentId,\r\n encId: patientEncounterId,\r\n },\r\n });\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n onDateSelected(event: any): void {\r\n this.selectedDate = event;\r\n console.log(\"this.selectedDate\", this.selectedDate);\r\n this.getAllPatientAppointmentList();\r\n }\r\n\r\n getAllPatientAppointmentList(pageNumber: number = 1, pageSize: number = 100) {\r\n const formattedDate = format(new Date(this.selectedDate), 'MM/DD/YYYY');\r\n const filters = {\r\n pageNumber,\r\n pageSize,\r\n fromDate: formattedDate ,\r\n toDate:formattedDate\r\n };\r\n this.appointmentGraphService\r\n .getAcceptedOrApprovedAppointmentListForDashBoard(filters)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.allAppointmentsList =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.allAppointmentsList = (this.allAppointmentsList || []).map(\r\n (x) => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n (y) => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n (y) => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\"),\r\n });\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n return x;\r\n }\r\n );\r\n this.filterAppointmentsByDate();\r\n // this.allAppointmentsMeta = response.meta as Metadata; \r\n // this.allAppointmentsMeta.pageSizeOptions = [5, 10, 25, 50, 100]; \r\n } else {\r\n this.allAppointmentsList = [];\r\n }\r\n },\r\n (error: any) => {\r\n // console.error('Error fetching appointments:', error);\r\n this.allAppointmentsList = []; \r\n }\r\n ); \r\n }\r\n private filterAppointmentsByDate(): void {\r\n const formattedDate = format(this.selectedDate, 'MM/DD/YYYY');\r\n this.allAppointmentsList = this.allAppointmentsList.filter(appointment =>\r\n isSameDay(new Date(appointment.startDateTime), new Date(formattedDate))\r\n );\r\n }\r\n \r\n\r\n setEncPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.encFilterModel.pageNumber = pageNumber;\r\n this.encFilterModel.pageSize = pageSize;\r\n this.encFilterModel.sortOrder = sortOrder;\r\n this.encFilterModel.sortColumn = sortColumn;\r\n }\r\n\r\n getStaffProfileData() {\r\n \r\n this.userService\r\n .getStaffProfileData(this.staffId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null) {\r\n this.staffProfile = response.data;\r\n \r\n }\r\n });\r\n }\r\n\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(UrgentCareListingdialogComponent, {\r\n hasBackdrop: true,\r\n width: \"60%\",\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n //\r\n if (result != null && result != \"close\") {\r\n }\r\n //this.show=true;\r\n });\r\n }\r\n setPaginatorModel() {\r\n this.filterModel.pageNumber = 1;\r\n this.filterModel.pageSize = 1000;\r\n this.filterModel.sortOrder = \"\";\r\n this.filterModel.sortColumn = \"\";\r\n this.filterModel.PatientName = \"\";\r\n this.filterModel.RefundDate = \"\";\r\n this.filterModel.AppDate = \"\";\r\n }\r\n}\r\n","export class EncounterModel {\r\n id: number;\r\n clientId: number;\r\n staffName: string;\r\n clientName: string;\r\n patientAppointmentId: number;\r\n day: string;\r\n dateOfService: string;\r\n status: string;\r\n totalRecords: number;\r\n isBillableEncounter: boolean;\r\n locationName: string;\r\n serviceType: string;\r\n billableEncounterColorCode: string;\r\n}\r\n\r\nexport class AuthorizationModel {\r\n authorizationId: number;\r\n clientId: number;\r\n clientName: string;\r\n endDate: string;\r\n remainedUnits: string;\r\n totalRecords: number;\r\n warningColorCode: string;\r\n style: string = \"\";\r\n}\r\n\r\nexport class DashboardModel {\r\n organizationTotalClients: number;\r\n onlineUser: number;\r\n organizationTotalRevenu: any;\r\n totalAppointments: any;\r\n todayAppointments: any;\r\n appointmentNetRevenue: number;\r\n appointmentTotalRevenue:any;\r\n todayAppointmentsCount:any;\r\n totalAppointmentsCount:any;\r\n todaysAppointmentsAmount:any;\r\n previousMonthAppointmentsAmount:any;\r\n totalAppointmentsAmount:any;\r\n todayAppointmentsOnline : any;\r\n todayAppointmentsFaceToFace:any;\r\n thisWeekAppointmentsOnline:any;\r\n thisWeekAppointmentsFaceToFace:any;\r\n thisMonthAppointmentsOnline:any;\r\n thisMonthAppointmentsFaceToFace:any;\r\n totalAppointmentsOnline:any;\r\n totalAppointmentsFaceToFace:any; \r\n}\r\n\r\nexport class ClientStatusChartModel {\r\n registeredDate: string;\r\n active: number;\r\n inactive: number;\r\n activeClients: number;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { isatty } from \"tty\";\r\nimport { FilterModel } from \"../../../../super-admin-portal/core/modals/common-model\";\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DashboardService {\r\n private getEncounterListForDashboardURL = 'AdminDashboard/GetOrganizationEncounter';\r\n private getAuthListForDashboardURL = 'AdminDashboard/GetOrganizationAuthorization';\r\n private getAdminDashboardDataURL=\"AdminDashboard/GetAdminDashboardData\";\r\n private getClientStatusChartURL=\"AdminDashboard/GetClientStatusChart\";\r\n private getDashboardBasicInfoURL=\"AdminDashboard/GetDashboardBasicInfo\";\r\n private getPendingPatientAppointmentURL = 'api/PatientAppointments/GetPendingAppointmentList';\r\n private getCancelledPatientAppointmentURL = 'api/PatientAppointments/GetCancelledAppointmentList';\r\n isProviderApproved;\r\n\r\n\r\n constructor(private commonService: CommonService) {\r\n }\r\n\r\n getEncounterListForDashboard(filterModel:FilterModel)\r\n {\r\n let url=this.getEncounterListForDashboardURL+\"?pageNumber=\"+filterModel.pageNumber+\"&pageSize=\"+filterModel.pageSize;\r\n return this.commonService.getAll(url,{});\r\n }\r\n\r\n getAuthListForDashboard(filterModel:FilterModel)\r\n {\r\n let url=this.getAuthListForDashboardURL+\"?pageNumber=\"+filterModel.pageNumber+\"&pageSize=\"+filterModel.pageSize;\r\n return this.commonService.getAll(url,{});\r\n }\r\n getAdminDashboardData()\r\n {\r\n return this.commonService.getAll(this.getAdminDashboardDataURL,{});\r\n }\r\n getClientStatusChart()\r\n {\r\n return this.commonService.getAll(this.getClientStatusChartURL,{});\r\n }\r\n getDashboardBasicInfo()\r\n {\r\n return this.commonService.getAll(this.getDashboardBasicInfoURL,{});\r\n }\r\n getPendingPatientAppointment(filterModel: FilterModel) {\r\n const URL = this.getPendingPatientAppointmentURL + '?pageNumber=' + filterModel.pageNumber + '&pageSize=' + filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n getCancelledPatientAppointment(filterModel: FilterModel) {\r\n const URL = this.getCancelledPatientAppointmentURL + '?pageNumber=' + filterModel.pageNumber + '&pageSize=' + filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n\r\n setIsProviderApproved=(status)=>{\r\n this.isProviderApproved=status\r\n }\r\n getIsProviderApproved=()=>{\r\n return this.isProviderApproved\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{rel.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select a diagnosis\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{rel.value}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter valid date\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter valid date\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { DiagnosisService } from \"./../diagnosis.service\";\r\nimport { Component, OnInit, EventEmitter, Output, Inject } from \"@angular/core\";\r\n\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\nimport { DiagnosisModel } from \"src/app/platform/modules/agency-portal/clients/diagnosis/diagnosis.model\";\r\n\r\n@Component({\r\n selector: \"app-diagnosis-modal\",\r\n templateUrl: \"./diagnosis-modal.component.html\",\r\n styleUrls: [\"./diagnosis-modal.component.css\"]\r\n})\r\nexport class DiagnosisModalComponent implements OnInit {\r\n statusList: any[];\r\n diagnosisModel: DiagnosisModel;\r\n diagnosisForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = \"Add Diagnosis\";\r\n masterICD: any[];\r\n patientId: number;\r\n maxDate = new Date();\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private diagnosisDialogModalRef: MatDialogRef,\r\n private diagnosisService: DiagnosisService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService\r\n ) {\r\n this.diagnosisModel = data.diagnosis;\r\n this.refreshGrid.subscribe(data.refreshGrid);\r\n\r\n if (this.diagnosisModel.id != null && this.diagnosisModel.id > 0)\r\n this.headerText = \"Edit Diagnosis\";\r\n else this.headerText = \"Add Diagnosis\";\r\n\r\n this.patientId = this.diagnosisModel.patientID;\r\n\r\n this.statusList = [\r\n { id: true, value: \"Active\" },\r\n { id: false, value: \"Inactive\" }\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n this.diagnosisForm = this.formBuilder.group({\r\n id: [this.diagnosisModel.id],\r\n icdid: [this.diagnosisModel.icdid],\r\n isActive: [this.diagnosisModel.isActive],\r\n diagnosisDate: [this.diagnosisModel.diagnosisDate],\r\n resolveDate: [this.diagnosisModel.resolveDate]\r\n });\r\n this.getMasterData();\r\n this.formControlValueChanged();\r\n }\r\n\r\n get formControls() {\r\n return this.diagnosisForm.controls;\r\n }\r\n onSubmit(event: any) {\r\n if (!this.diagnosisForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.diagnosisModel = this.diagnosisForm.value;\r\n this.diagnosisModel.patientID = this.patientId;\r\n this.diagnosisModel.resolveDate = this.diagnosisModel.isActive\r\n ? null\r\n : this.diagnosisModel.resolveDate;\r\n this.diagnosisService\r\n .createDiagnosis(this.diagnosisModel)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n if (clickType == \"Save\") this.closeDialog(\"save\");\r\n else if (clickType == \"SaveAddMore\") {\r\n this.refreshGrid.next();\r\n this.diagnosisForm.reset();\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n formControlValueChanged() {\r\n const resolveDateControl = this.diagnosisForm.get(\"resolveDate\");\r\n this.diagnosisForm.get(\"isActive\").valueChanges.subscribe((mode: any) => {\r\n if (mode == false) {\r\n resolveDateControl.setValidators([Validators.required]);\r\n } else {\r\n resolveDateControl.clearValidators();\r\n }\r\n resolveDateControl.updateValueAndValidity();\r\n });\r\n }\r\n closeDialog(action: string): void {\r\n this.diagnosisDialogModalRef.close(action);\r\n }\r\n\r\n getMasterData() {\r\n let data = \"MASTERICD\";\r\n this.diagnosisService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterICD = response.masterICD != null ? response.masterICD : [];\r\n }\r\n });\r\n }\r\n}\r\n","import { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { DiagnosisModel } from \"./../../clients/diagnosis/diagnosis.model\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DiagnosisService {\r\n private createDiagnosisURL = \"PatientsDiagnosis/SavePatientDiagnosis\";\r\n private getMasterDataByNameURL = \"api/MasterData/MasterDataByName\";\r\n private getSoapNotePatientDiagnosisListURL = \"patient-encounter/GetPatientDiagnosisDetails/\";\r\n private getDiagnosisByIdURL = \"PatientsDiagnosis/GetDiagnosisById\";\r\n private deleteDiagnosisURL = \"PatientsDiagnosis/DeleteDiagnosis\";\r\n constructor(private commonService: CommonService) {}\r\n createDiagnosis(data: DiagnosisModel) {\r\n return this.commonService.post(this.createDiagnosisURL, data);\r\n }\r\n getMasterData(value: string = \"\") {\r\n return this.commonService.post(this.getMasterDataByNameURL, {\r\n masterdata: value\r\n });\r\n }\r\n getSoapNoteDiagnosisList(clientId: number) {\r\n // let url=this.getDiagnosisListURL+\"?PatientId=\"+clientId;\r\n return this.commonService.getAll(\r\n this.getSoapNotePatientDiagnosisListURL + clientId,\r\n {}\r\n );\r\n }\r\n getDiagnosisById(id: number) {\r\n return this.commonService.getById(\r\n this.getDiagnosisByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deleteDiagnosis(id: number) {\r\n return this.commonService.post(this.deleteDiagnosisURL + \"?id=\" + id, {});\r\n }\r\n}\r\n","import { ThankYouComponent } from \"./thank-you/thank-you.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { SoapComponent } from \"./soap/soap.component\";\r\nimport { NonBillableSoapComponent } from \"./non-billable-soap/non-billable-soap.component\";\r\nimport { VideoCallComponent } from \"./video-call/video-call.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"soap\",\r\n component: SoapComponent\r\n },\r\n {\r\n path: \"non-billable-soap\",\r\n component: NonBillableSoapComponent\r\n },\r\n {\r\n path: \"video-call\",\r\n component: VideoCallComponent\r\n },\r\n {\r\n path: \"thank-you\",\r\n component: ThankYouComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class EncounterRoutingModule {}\r\n","import { SharedModule } from \"./../../../../shared/shared.module\";\r\nimport { DiagnosisService } from \"./diagnosis/diagnosis.service\";\r\n//import { DiagnosisModalComponent } from \"./../clients/diagnosis/diagnosis-modal/diagnosis-modal.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SoapComponent } from \"./soap/soap.component\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport {\r\n MatInputModule,\r\n MatButtonModule,\r\n MatOptionModule,\r\n MatSelectModule,\r\n MAT_DIALOG_DEFAULT_OPTIONS,\r\n MatDialogModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatDatepickerModule,\r\n MatCardModule\r\n} from \"@angular/material\";\r\nimport { EncounterRoutingModule } from \"./encounter-routing.module\";\r\nimport { EncounterService } from \"./encounter.service\";\r\nimport { SignaturePadModule } from \"angular2-signaturepad\";\r\nimport { SignDialogComponent } from \"./sign-dialog/sign-dialog.component\";\r\nimport { NonBillableSoapComponent } from \"./non-billable-soap/non-billable-soap.component\";\r\nimport { VideoChatComponent } from \"./video-chat/video-chat.component\";\r\nimport { PublisherComponent } from \"./video-chat/publisher/publisher.component\";\r\nimport { SubscriberComponent } from \"./video-chat/subscriber/subscriber.component\";\r\nimport { VideoCallComponent } from \"./video-call/video-call.component\";\r\nimport { FormioModule } from \"angular-formio\";\r\nimport { TemplateFormComponent } from \"./template-form/template-form.component\";\r\nimport { ResizableModule } from \"angular-resizable-element\";\r\nimport { DragAndDropModule } from \"angular-draggable-droppable\";\r\n//import { SocketIoModule, SocketIoConfig } from \"ngx-socket-io\";\r\n//import { MeanVideoComponent } from \"src/app/platform/modules/agency-portal/encounter/mean-video/mean-video.component\";\r\n//import { ChatService } from \"src/app/platform/modules/agency-portal/encounter/mean-video/chat.service\";\r\nimport { ScrollbarModule } from \"ngx-scrollbar\";\r\nimport { DiagnosisModalComponent } from \"./diagnosis/diagnosis-modal/diagnosis-modal.component\";\r\nimport { AddServiceCodeModalComponent } from \"src/app/platform/modules/agency-portal/encounter/service-code-modal/add-service-code-modal.component\";\r\nimport { ThankYouComponent } from \"./thank-you/thank-you.component\";\r\nimport { VideoButtonComponent } from './video-chat/video-button/video-button.component';\r\nimport { PatientEncounterNotesModalComponent } from \"./patientencounternotes-modal/patientencounternotes.component\";\r\nimport { ClientsModule } from \"../clients/clients.module\";\r\nimport { AngularEditorModule } from \"@kolkov/angular-editor\";\r\nimport { VideoCallInvitationComponent } from './video-call-invitation/video-call-invitation.component';\r\nimport { TemplatePopupComponent } from \"../template/template-popup/template-popup.component\";\r\nimport { AgencyPortalModule } from \"../agency-portal.module\";\r\n//import { DiagnosisModelComponent } from \"./diagnosis/diagnosis-model/diagnosis-model.component\";\r\n// const config: SocketIoConfig = {\r\n// url: \"https://turn.stagingsdei.com:5187\",\r\n// options: {}\r\n// };\r\n//import { DndModule } from 'ngx-drag-drop';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormioModule,\r\n EncounterRoutingModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatOptionModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n AgencyPortalModule,\r\n ClientsModule,\r\n SignaturePadModule,\r\n MatDatepickerModule,\r\n ResizableModule,\r\n DragAndDropModule,\r\n //SocketIoModule.forRoot(config),\r\n ScrollbarModule,\r\n // DndModule,\r\n SharedModule,\r\n MatCardModule,\r\n AngularEditorModule,\r\n ],\r\n declarations: [\r\n SoapComponent,\r\n SignDialogComponent,\r\n NonBillableSoapComponent,\r\n VideoChatComponent,\r\n PublisherComponent,\r\n SubscriberComponent,\r\n VideoCallComponent,\r\n TemplateFormComponent,\r\n DiagnosisModalComponent,\r\n AddServiceCodeModalComponent,\r\n ThankYouComponent,\r\n VideoButtonComponent,\r\n //MeanVideoComponent,\r\n PatientEncounterNotesModalComponent,\r\n VideoCallInvitationComponent\r\n ],\r\n providers: [\r\n EncounterService,\r\n DiagnosisService,\r\n //ChatService,\r\n\r\n {\r\n provide: MAT_DIALOG_DEFAULT_OPTIONS,\r\n useValue: {\r\n hasBackdrop: true,\r\n disableClose: true,\r\n minWidth: \"55%\",\r\n maxWidth: \"90%\"\r\n }\r\n }\r\n ],\r\n entryComponents: [\r\n SignDialogComponent,\r\n TemplateFormComponent,\r\n DiagnosisModalComponent,\r\n AddServiceCodeModalComponent,\r\n PatientEncounterNotesModalComponent,\r\n VideoCallInvitationComponent,\r\n TemplatePopupComponent\r\n ],\r\n exports: [PublisherComponent, SubscriberComponent, SoapComponent,\r\n SignDialogComponent,\r\n NonBillableSoapComponent,VideoCallComponent,\r\n TemplateFormComponent,\r\n DiagnosisModalComponent,\r\n AddServiceCodeModalComponent,\r\n ThankYouComponent,\r\n VideoButtonComponent,\r\n //MeanVideoComponent,\r\n PatientEncounterNotesModalComponent]\r\n})\r\nexport class EncounterModule {}\r\n","import { Injectable, ElementRef } from \"@angular/core\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { Observable, BehaviorSubject } from \"rxjs\";\r\nimport { PatientEncounterCheckInNotesModel, PatientEncounterNotesModel } from \"../clients/diagnosis/diagnosis.model\";\r\nimport { FilterModel } from \"../clients/medication/medication.model\";\r\n\r\nconst getQueryParamsFromObject = (filterModal: object): string => {\r\n let queryParams = \"\";\r\n let index = 0;\r\n for (const key of Object.keys(filterModal)) {\r\n if (index === 0) queryParams += `?${key}=${filterModal[key]}`;\r\n else queryParams += `&${key}=${filterModal[key]}`;\r\n\r\n index++;\r\n }\r\n return queryParams;\r\n};\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class EncounterService {\r\n private changeSOAPPanelStateSubject = new BehaviorSubject({});\r\n public SOAPPanelData = this.changeSOAPPanelStateSubject.asObservable();\r\n\r\n getMasterDataURL = \"api/MasterData/MasterDataByName\";\r\n getPatientEncounterDetailsURL =\r\n \"patient-encounter/GetPatientEncounterDetails\";\r\n getNonBillableEncounterDetailsURL =\r\n \"patient-encounter/GetPatientNonBillableEncounterDetails\";\r\n getAppConfigurationsURL = \"AppConfigurations/GetAppConfigurations\";\r\n //savePatientEncounterURL = \"patient-encounter/SavePatientEncounter\";\r\n savePatientEncounterURL = \"patient-encounter/SavePatientEncounters\";\r\n savePatientAppointmentEncountersURL = \"patient-encounter/SavePatientAppointmentEncounters\";\r\n updatePatientEncounterURL = \"patient-encounter/UpdatePatientEncounter\";\r\n\r\n getPatientEncounterNotesURL = \"patient-encounter/GetPatientEncounterNotes\";\r\n getPatientEncounterCheckInNotesURL = \"patient-encounter/GetPatientEncounterCheckInNotes\";\r\n getPatientEncounterCheckInNotesByAppointmentId = \"patient-encounter/GetPatientEncounterCheckInNotesByAppointmentId\"\r\n GetDetailsSoapNotesUrl = \"patient-encounter/GetDetailsSoapNotes\";\r\n GetDetailsSoapNotesByPatientIdUrl = \"patient-encounter/GetDetailsSoapNotesByPatientId\";\r\n GetAllSoapNotesUrl = \"patient-encounter/GetAllSoapNotes\";\r\n saveNonBillableEncounterURL =\r\n \"patient-encounter/SavePatientNonBillableEncounter\";\r\n saveEncounterSignatureURL = \"patient-encounter/SaveEncounterSignature\";\r\n createClaimURL = \"Claim/CreateClaim\";\r\n private getClientHeaderInfoURL = \"Patients/GetPatientHeaderInfo\";\r\n getTelehealthSessionURL =\r\n \"api/Telehealth/GetTelehealthSession?appointmentId=\";\r\n getMasterTemplatesURL = \"MasterTemplates/GetMasterTemplates\";\r\n GetMasterTemplateListByProviderURL=\"MasterTemplates/GetMasterTemplateListByProvider?\";\r\n GetTemplateByIdURL = \"patient-encounter/GetPatientEncounterTemplateData\";\r\n SaveTemplateDataURL = \"patient-encounter/SaveEncounterTemplateData\";\r\n private getPreviousEncountersURL = \"patient-encounter/GetPreviousEncounters\";\r\n private getPreviousEncountersDataURL =\r\n \"patient-encounter/GetPreviousEncountersData\";\r\n private checkServiceCodeAvailabilityURL =\r\n \"patient-encounter/CheckServiceCodeAvailability\";\r\n getTelehealthSessionForInvitedAppointmentIdURL =\r\n \"api/Telehealth/GetTelehealthSessionByInvitedAppointmentId?appointmentId=\";\r\n private savePatientEncounterNotesURL =\r\n \"patient-encounter/SavePatientEncounterNotes\";\r\n private getCheckInNotesByAppointmentIDURL =\"patient-encounter/GetCheckInNotesByAppointmentID\";\r\n private savePatientEncounterCheckInNotesURL =\r\n \"patient-encounter/SavePatientEncounterCheckInNotes\";\r\n private getMasterICD = \"MasterICDs/GetMasterICD\";\r\n private SavePatientDiagnosisUrl = \"PatientsDiagnosis/SavePatientDiagnosis\"\r\n private GetDiagnosisUrl = \"PatientsDiagnosis/GetDiagnosis\"\r\n private getEndSessionValidateDataURL = \"patient-encounter/GetEndSessionValidateData\";\r\n private getIcdCodesUrl = \"patient-encounter/GetIcdCodes\";\r\n private SOAPPanel: ElementRef;\r\n constructor(private commonService: CommonService) { }\r\n\r\n getEndSessionValidateData(patientId: number, staffId: number, appId: number) {\r\n return this.commonService.get(`${this.getEndSessionValidateDataURL}?patientId=${patientId}&staffId=${staffId}&appId=${appId}`);\r\n }\r\n\r\n getIcdCodes(patientId: number, staffId: number, appId: number){\r\n return this.commonService.get(`${this.getIcdCodesUrl}?patientId=${patientId}&staffId=${staffId}&appId=${appId}`);\r\n }\r\n getMasterICDOnSearch(data, pageSize): Observable {\r\n return this.commonService.get(\r\n this.getMasterICD + \"?searchText=\" + data + \"&pageSize=\" + pageSize\r\n );\r\n }\r\n getPatientDiagnosis(id): Observable {\r\n return this.commonService.get(\r\n this.GetDiagnosisUrl + \"?patientId=\" + id\r\n );\r\n }\r\n getCheckInNotesByAppointmentID(id):Observable{\r\n return this.commonService.get(this.getCheckInNotesByAppointmentIDURL +\"?appointmentId=\" + id);\r\n }\r\n savePatientIcd(postData: any) {\r\n return this.commonService.post(\r\n this.SavePatientDiagnosisUrl, postData\r\n );\r\n }\r\n\r\n changeSOAPPanelData(\r\n changedState: boolean,\r\n extraParams: any,\r\n isSaved: boolean = false\r\n ) {\r\n this.changeSOAPPanelStateSubject.next({\r\n changedState,\r\n ...extraParams,\r\n isSaved,\r\n });\r\n }\r\n get SOAPPanelRef() {\r\n return this.SOAPPanel;\r\n }\r\n CheckServiceCodeAvailability(\r\n patientAppointmentId: number,\r\n serviceCodeId: string\r\n ) {\r\n const queryParams = `?patientAppointmentId=${patientAppointmentId}&serviceCodeId=${serviceCodeId}`;\r\n return this.commonService.post(\r\n this.checkServiceCodeAvailabilityURL + queryParams,\r\n {}\r\n );\r\n }\r\n public setClientPanel(clientPanel: ElementRef) {\r\n this.SOAPPanel = clientPanel;\r\n }\r\n getMasterData(masterData: any): Observable {\r\n return this.commonService.post(this.getMasterDataURL, masterData);\r\n }\r\n\r\n GetPatientEncounterDetails(apptId: number, encId: number, isAdmin: boolean) {\r\n const queryParams = `/${apptId}/${encId}?isAdmin=${isAdmin}`;\r\n return this.commonService.getAll(\r\n this.getPatientEncounterDetailsURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getNonBillableEncounterDetails(\r\n apptId: number,\r\n encId: number,\r\n isAdmin: boolean\r\n ) {\r\n const queryParams = `/${apptId}/${encId}?isAdmin=${isAdmin}`;\r\n return this.commonService.getAll(\r\n this.getNonBillableEncounterDetailsURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getAppConfigurations() {\r\n return this.commonService.getAll(this.getAppConfigurationsURL, {});\r\n }\r\n\r\n SavePatientEncounter(postData: any, isAdmin: boolean) {\r\n //////;\r\n const queryParams = `?isAdmin=${isAdmin}`;\r\n return this.commonService.post(\r\n this.savePatientEncounterURL + queryParams,\r\n postData\r\n );\r\n }\r\n SavePatientAppointmentEncounters(postData: any, isAdmin: boolean) {\r\n //////;\r\n const queryParams = `?isAdmin=${isAdmin}`;\r\n return this.commonService.post(\r\n this.savePatientAppointmentEncountersURL + queryParams,\r\n postData\r\n );\r\n }\r\n updatePatientEncounter(postData: any) {\r\n //////;\r\n return this.commonService.post(this.updatePatientEncounterURL, postData);\r\n }\r\n\r\n saveNonBillableEncounter(postData: any, isAdmin: boolean) {\r\n const queryParams = `?isAdmin=${isAdmin}`;\r\n return this.commonService.post(\r\n this.saveNonBillableEncounterURL + queryParams,\r\n postData\r\n );\r\n }\r\n\r\n saveEncounterSignature(postData: any) {\r\n return this.commonService.post(this.saveEncounterSignatureURL, postData);\r\n }\r\n\r\n createClaim(encounterId: number, isAdmin: boolean) {\r\n const queryParams = `?patientEncounterId=${encounterId}&isAdmin=${isAdmin}`;\r\n return this.commonService.post(this.createClaimURL + queryParams, {});\r\n }\r\n\r\n getClientHeaderInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getClientHeaderInfoURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n getTelehealthSession(appointmentId: number) {\r\n // console.log(\"12 Gettelehealthsesson called from encounter service \");\r\n //const queryParams = getQueryParamsFromObject(filters);\r\n return this.commonService.getAll(\r\n `${this.getTelehealthSessionURL}${appointmentId}`,\r\n {}\r\n );\r\n }\r\n getTelehealthSessionForInvitedAppointmentId(appointmentId: number) {\r\n //const queryParams = getQueryParamsFromObject(filters);\r\n return this.commonService.getAll(\r\n `${this.getTelehealthSessionForInvitedAppointmentIdURL}${appointmentId}`,\r\n {}\r\n );\r\n }\r\n\r\n getMasterTemplates(appointmentId: number) {\r\n return this.commonService.getAll(`${this.getMasterTemplatesURL}?PatientAppointmentID=${appointmentId}`, {});\r\n }\r\n\r\n GetMasterTemplateListByProvider(AppointmentId:any){\r\n \r\n return this.commonService.getAll(`${this.GetMasterTemplateListByProviderURL}AppointmentId=${AppointmentId}`, {});\r\n}\r\n\r\n getTemplateForm(appointmentId: number, templateId: number) {\r\n const queryParams = `?appointmentId=${appointmentId}&masterTemplateId=${templateId}`;\r\n return this.commonService.getById(\r\n this.GetTemplateByIdURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n saveTemplateData(postData: any) {\r\n return this.commonService.post(this.SaveTemplateDataURL, postData);\r\n }\r\n getPreviousEncounters(patientId: number, fromDate: string, toDate: string) {\r\n let url =\r\n this.getPreviousEncountersURL +\r\n \"?patientId=\" +\r\n patientId +\r\n \"&fromDate=\" +\r\n fromDate +\r\n \"&toDate=\" +\r\n toDate;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getPreviousEncountersData(previousEncounterId: number) {\r\n //////;\r\n let url =\r\n this.getPreviousEncountersDataURL +\r\n \"?previousEncounterId=\" +\r\n previousEncounterId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n savePatientEncounterNotes(data: PatientEncounterNotesModel) {\r\n return this.commonService.post(this.savePatientEncounterNotesURL, data);\r\n }\r\n\r\n savePatientEncounterCheckInNotes(data: PatientEncounterCheckInNotesModel) {\r\n return this.commonService.post(this.savePatientEncounterCheckInNotesURL, data);\r\n }\r\n\r\n GetPatientEncounterNotes(apptId: number) {\r\n const queryParams = `/${apptId}`;\r\n\r\n return this.commonService.getAll(\r\n this.getPatientEncounterNotesURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n GetPatientEncounterCheckInNotes(apptId: number) {\r\n const queryParams = `/${apptId}`;\r\n\r\n return this.commonService.getAll(\r\n this.getPatientEncounterCheckInNotesURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n GetPatientEncounterCheckInNotesByAppointmentId(apptId: number){\r\n const queryParams = `/${apptId}`;\r\n return this.commonService.getAll(\r\n this.getPatientEncounterCheckInNotesByAppointmentId + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n\r\n GetDetailsSoapNotes(apptId: number) {\r\n const queryParams = `/${apptId}`;\r\n\r\n return this.commonService.getAll(\r\n this.GetDetailsSoapNotesUrl + queryParams,\r\n {}\r\n );\r\n }\r\n GetSoapNotesByPatientId(patientId: number) {\r\n const queryParams = `/${patientId}`;\r\n\r\n return this.commonService.getAll(\r\n this.GetDetailsSoapNotesByPatientIdUrl + queryParams,\r\n {}\r\n );\r\n }\r\n GetAllSoapNotes(\r\n patientId: number,\r\n patientAppointmentId:number,\r\n filterModal: FilterModel\r\n ) {\r\n \r\n let url =\r\n this.GetAllSoapNotesUrl +\r\n \"?patientId=\" +\r\n patientId +\r\n \"&PatientAppointmentId=\" +\r\n patientAppointmentId +\r\n \"&pageNumber=\" +\r\n filterModal.pageNumber +\r\n \"&pageSize=\" +\r\n filterModal.pageSize +\r\n \"&sortColumn=\" +\r\n filterModal.sortColumn +\r\n \"&sortOrder=\" +\r\n filterModal.sortOrder +\r\n \"&searchText=\" +\r\n filterModal.searchText;\r\n return this.commonService.getAll(url, {});\r\n }\r\n}\r\n","module.exports = \"/*Soap Page*/\\r\\n.soap_detail.detail_wd {\\r\\n background: #D6E0F2;\\r\\n border-radius: 10px;\\r\\n margin-bottom: 30px;\\r\\n padding: 15px;\\r\\n display: flex;\\r\\n}\\r\\n.soap_detail.detail_wd .img-sec {\\r\\n width: 15%;\\r\\n}\\r\\n.soap_detail.detail_wd .detail-cont {\\r\\n width: 85%;\\r\\n}\\r\\n.soap_detail.detail_wd .img-sec img {\\r\\n width: 60%;\\r\\n margin: 5px;\\r\\n}\\r\\n.soap_detail.detail_wd .detail_sec label {\\r\\n font-size: 16px;\\r\\n}\\r\\n.soap_detail.detail_wd .detail_sec p {\\r\\n font-size: 14px;\\r\\n color: #000000;\\r\\n opacity: 0.75;\\r\\n}\\r\\n.button_style {\\r\\n display: flex;\\r\\n justify-content: end;\\r\\n gap: 12px;\\r\\n}\\r\\n.readmin-panel .row {\\r\\n /* padding: 10px 0 !important; */\\r\\n /* margin: 0 !important; */\\r\\n /* align-items: center; */\\r\\n}\\r\\n.soap_detail label {\\r\\n color: #000000;\\r\\n font-weight: 500;\\r\\n font-size: 12px;\\r\\n display: block;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n.soap_detail p {\\r\\n color: #000;\\r\\n font-weight: 600;\\r\\n font-size: 16px;\\r\\n}\\r\\n.soap_content {\\r\\n float: right;\\r\\n}\\r\\n.soapmodal_btn {\\r\\n margin-top: 7px;\\r\\n}\\r\\n.readmin-panel {\\r\\n padding: 0;\\r\\n}\\r\\n.sign h3 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n.sign h3>span {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n color: #7a7a7a;\\r\\n}\\r\\n.sign p,\\r\\n.sign p>span {\\r\\n font-size: 12px;\\r\\n margin: 3px 0px 0px;\\r\\n color: #7a7a7a;\\r\\n}\\r\\n.sign {\\r\\n border: 1px solid #eceeef;\\r\\n padding: 10px;\\r\\n overflow: hidden;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n.sign img {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.readmin-panel {\\r\\n width: 100%;\\r\\n display: inline-block;\\r\\n}\\r\\n.custom_form .head-filter {\\r\\n font-size: 18px;\\r\\n}\\r\\n.custom_form.filter_rate_blkkk {\\r\\n box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.2);\\r\\n border-radius: 10px;\\r\\n margin: 10px 10px 0 10px;\\r\\n border: 1px solid #CDCDCD;\\r\\n}\\r\\n.custom_form div#headingOne {\\r\\n border-bottom: 1px solid #D9D9D9;\\r\\n background-color: white;\\r\\n border-radius: 10px;\\r\\n padding: .75rem 1.25rem;\\r\\n margin-bottom: 0;\\r\\n border-left: 1px solid #D9D9D9;\\r\\n border-right: 1px solid #D9D9D9\\r\\n}\\r\\n.custom_form i.fa.fa-caret-down {\\r\\n font-size: 20px;\\r\\n color: #17a2b8;\\r\\n}\\r\\n.card-body.filter_blk {\\r\\n background-color: white;\\r\\n border-radius: 0 0 10px 10px;\\r\\n border: none;\\r\\n box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.2);\\r\\n padding: 25px 16px !important;\\r\\n}\\r\\n.block_visit .mat-form-field {\\r\\n width: 100px !important;\\r\\n}\\r\\n.block_visit table.mat-table .mat-header-row {\\r\\n background-color: #01385f !important;\\r\\n}\\r\\n.block_visit table.mat-table button.mat-sort-header-button {\\r\\n color: #ffffff !important;\\r\\n}\\r\\n@media (max-width: 1199px) {\\r\\n\\r\\n /*soap page*/\\r\\n .soap_detail b {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n@media (max-width: 767px) {\\r\\n\\r\\n /*Soap Page*/\\r\\n .soap_detail p {\\r\\n width: 50%;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .custom_form .head-filter {\\r\\n font-size: 14px;\\r\\n }\\r\\n}\\r\\n@media(max-width: 480px) {\\r\\n\\r\\n /*Soap Note*/\\r\\n .detail_wd p,\\r\\n .soap_detail p {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(1) button {\\r\\n background: #4140AF !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(2) button {\\r\\n background: #0080BC !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(3) button {\\r\\n background: #D8666F !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(4) button {\\r\\n background: #4E6CDB !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(5) button {\\r\\n background: #099C77 !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(6) button {\\r\\n background: #C39403 !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(7) button {\\r\\n background: #009CCF !important;\\r\\n}\\r\\n.client_profile .clientbox .client_detail label {\\r\\n font-size: 12px;\\r\\n font-weight: 700;\\r\\n}\\r\\n.client_profile .clientbox .client_detail button {\\r\\n background: #4140AF;\\r\\n color: #fff;\\r\\n width: 100%;\\r\\n}\\r\\n.client_detail div .user_pic {\\r\\n width: 80px;\\r\\n}\\r\\n.client_profile .clientbox .client_detail button span {\\r\\n width: 100%;\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n align-items: center;\\r\\n}\\r\\n.client_profile .clientbox .client_detail button span img {\\r\\n width: 20px;\\r\\n font-size: 16px;\\r\\n}\\r\\napp-data-table {\\r\\n width: 100%;\\r\\n}\\r\\n.patient-notes {\\r\\n padding: 5px;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

{{'Visit Details'|translate}}

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

{{ clientHeaderModel.patientBasicHeaderInfo.name|titlecase }}

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n \\r\\n {{ tag.tag }}\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
    • \\r\\n \\r\\n {{ clientHeaderModel.patientBasicHeaderInfo.phone || \\\"\\\" }}\\r\\n
    • \\r\\n
    • \\r\\n \\r\\n {{ clientHeaderModel.patientBasicHeaderInfo.email || \\\"\\\" }}\\r\\n
    • \\r\\n
    • \\r\\n \\r\\n {{ clientHeaderModel.patientBasicHeaderInfo.address || \\\"\\\" }}\\r\\n
    • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    \\r\\n \\r\\n {{ clientHeaderModel.patientBasicHeaderInfo.primaryProvider || \\\"\\\" }}\\r\\n \\r\\n -\\r\\n

    \\r\\n

    \\r\\n {{ allergy.allergen || \\\"\\\" }}\\r\\n

    \\r\\n

    \\r\\n No allergies found\\r\\n

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{'Vital'|translate}}\\r\\n

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

\\r\\n {{'Lab Referral'|translate}}\\r\\n

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

\\r\\n {{'Radiology Referral'|translate}}\\r\\n

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

\\r\\n {{'Assessment Questions'|translate}}\\r\\n

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

\\r\\n {{'medication'|translate}}\\r\\n

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

\\r\\n {{'Prescription'|translate}}\\r\\n

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

\\r\\n {{'immunization'|translate}}\\r\\n

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

\\r\\n {{'SOAP And Plan information'|translate}}\\r\\n

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

\\r\\n {{'Patient Plan'|translate}}\\r\\n

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

\\r\\n {{'Patient Notes'|translate}}\\r\\n

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

{{'signature'|translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

\\r\\n {{ employeeSign.name }}\\r\\n ({{'Employee'|translate}})\\r\\n

\\r\\n

{{'date'|translate}} :{{ employeeSign.date }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

\\r\\n {{ patientSign.name }}\\r\\n ({{'Client'|translate}})\\r\\n

\\r\\n

{{'date'|translate}} :{{ patientSign.date }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

\\r\\n {{ guardianSign.name }}\\r\\n ({{'Guardian'|translate}})\\r\\n

\\r\\n

{{'date'|translate}} :{{ guardianSign.date }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { format } from 'date-fns';\r\nimport { MatDialog, MatTableDataSource } from '@angular/material';\r\nimport { Metadata, ResponseModel } from 'src/app/platform/modules/core/modals/common-model';\r\nimport { SignDialogComponent } from 'src/app/platform/modules/agency-portal/encounter/sign-dialog/sign-dialog.component';\r\nimport { ClientHeaderModel } from 'src/app/platform/modules/agency-portal/clients/client-header.model';\r\nimport { ClientsService } from 'src/app/platform/modules/agency-portal/clients/clients.service';\r\nimport { EncounterService } from 'src/app/platform/modules/agency-portal/encounter/encounter.service';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { FilterModel, MedicationModel } from 'src/app/platform/modules/agency-portal/clients/medication/medication.model';\r\nimport { PrescriptionModel } from 'src/app/platform/modules/agency-portal/clients/prescription/prescription.model';\r\nimport { VitalModel } from 'src/app/platform/modules/agency-portal/clients/vitals/vitals.model';\r\nimport { ImmunizationModel } from 'src/app/platform/modules/agency-portal/clients/immunization/immunization.model';\r\nimport { FormioOptions } from 'angular-formio';\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\nimport { SoapNoteViewModalComponent } from 'src/app/platform/modules/agency-portal/clients/soap-note-view-modal/soap-note-view-modal.component';\r\nimport { LabTestDownloadModalComponent } from '../../lab-test-download-modal/lab-test-download-modal.component';\r\nimport { RadiologyReferralModalComponent } from 'src/app/shared/radiology-referral-modal/radiology-referral-modal.component';\r\nimport { TemplatePopupComponent } from '../../template/template-popup/template-popup.component';\r\n\r\nclass signModal {\r\n id: number = 0;\r\n bytes: string = null;\r\n date: string = null;\r\n name: string = null;\r\n}\r\n\r\n@Component({\r\n selector: 'app-non-billable-soap',\r\n templateUrl: './non-billable-soap.component.html',\r\n styleUrls: ['./non-billable-soap.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class NonBillableSoapComponent implements OnInit {\r\n soapForm: FormGroup;\r\n previousEncounterId: number;\r\n templateFormId: number = null;\r\n displayedColumns: Array;\r\n public jsonFormData: Object = {\r\n components: [],\r\n };\r\n initialFormValues: Object = {\r\n data: {},\r\n };\r\n formioOptions: FormioOptions = {\r\n disableAlerts: true,\r\n };\r\n tempDataId: number;\r\n appointmentId: any;\r\n encounterId: number;\r\n soapNoteId: number;\r\n submitted: boolean;\r\n submittedSign: boolean;\r\n appConfiguration: Array;\r\n patientAppointmentDetails: any;\r\n immunizationList: Array = [];\r\n soapNotes: any;\r\n encounterSignature: Array;\r\n staffDetails: any;\r\n appointmentStartTime: string;\r\n appointmentEndTime: string;\r\n patientSign: signModal = new signModal();\r\n employeeSign: signModal = new signModal();\r\n guardianSign: signModal = new signModal();\r\n isGuardianSigned: boolean;\r\n isClientSigned: boolean;\r\n isEmployeeSigned: boolean;\r\n isAllSigned: boolean;\r\n isSoapCompleted: boolean;\r\n vitalData: VitalModel;\r\n metaData: any;\r\n PatientEncounterCheckInNotes: any;\r\n isProvider: boolean = true;\r\n displaySoapNoteColumns: Array = [\r\n {\r\n displayName: \"patient_name\",\r\n key: \"patientName\",\r\n isSort: true,\r\n },\r\n {\r\n displayName: \"template_name\",\r\n key: \"templateName\",\r\n isSort: true,\r\n },\r\n\r\n {\r\n displayName: \"actions\",\r\n key: \"Actions\",\r\n isSort: true,\r\n class: \"\",\r\n }\r\n ];\r\n actionButtons: Array = [\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n ];\r\n displayColumnsImmunization: Array = [\r\n {\r\n displayName: \"VAcccine Name\",\r\n key: \"vaccineName\",\r\n isSort: false,\r\n class: \"\"\r\n },\r\n {\r\n displayName: \"administration_date\",\r\n key: \"administeredDate\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"date\",\r\n },\r\n {\r\n displayName: \"route_of_administration\",\r\n key: \"routeOfAdministration\",\r\n isSort: false,\r\n class: \"\"\r\n },\r\n {\r\n displayName: \"Administration Site\",\r\n key: \"administrationSite\",\r\n isSort: false,\r\n class: \"\"\r\n }, {\r\n displayName: \"notes\",\r\n key: \"conceptName\",\r\n isSort: false,\r\n class: \"\"\r\n },\r\n {\r\n displayName: \"Rejection Immunization\",\r\n key: \"rejectedImmunization\",\r\n isSort: false,\r\n class: \"\"\r\n }, {\r\n displayName: \"Rejection Reason Note\",\r\n key: \"rejectionReasonNote\",\r\n isSort: false,\r\n class: \"\"\r\n }\r\n ]\r\n displayColumnsLab: Array = [\r\n {\r\n displayName: \"lab_name\",\r\n key: \"labName\",\r\n isSort: false,\r\n class: \"\"\r\n },\r\n {\r\n displayName: \"test_name\",\r\n key: \"testName\",\r\n isSort: false,\r\n class: \"\"\r\n }, {\r\n displayName: \"patient_name\",\r\n key: \"patientName\",\r\n isSort: false,\r\n class: \"\"\r\n },\r\n {\r\n displayName: \"status\",\r\n key: \"status\",\r\n isSort: false,\r\n class: \"\"\r\n }, {\r\n displayName: \"notes\",\r\n key: \"notes\",\r\n isSort: false,\r\n class: \"\"\r\n }\r\n ,\r\n {\r\n displayName: \"actions\",\r\n key: \"Actions\",\r\n isSort: true,\r\n class: \"\",\r\n }\r\n ];\r\n actionButtonsRadio: Array = [\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n ];\r\n metaDataLab: any;\r\n metaDataRadio: any;\r\n actionButtonsLab: Array = [\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n ];\r\n displayColumnsMedication: Array = [\r\n {\r\n displayName: \"medicine_name\",\r\n key: \"medicine\",\r\n isSort: false,\r\n class: \"\"\r\n },\r\n {\r\n displayName: \"dose\",\r\n key: \"dose\",\r\n isSort: false,\r\n class: \"\"\r\n }, {\r\n displayName: \"Start Date\",\r\n key: \"startDate\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"date\",\r\n },\r\n {\r\n displayName: \"End Date\",\r\n key: \"endDate\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"date\",\r\n }, {\r\n displayName: \"Strength\",\r\n key: \"strength\",\r\n isSort: false,\r\n class: \"\"\r\n }\r\n ];\r\n // displayColumnsPrescription: Array = [\r\n // {\r\n // displayName: \"Drug Name\",\r\n // key: \"drugName\",\r\n // isSort: false,\r\n // class: \"\"\r\n // },\r\n // {\r\n // displayName: \"Strength\",\r\n // key: \"strength\",\r\n // isSort: false,\r\n // class: \"\"\r\n // }, {\r\n // displayName: \"Directions\",\r\n // key: \"directions\",\r\n // isSort: false,\r\n // class: \"\"\r\n // },\r\n // {\r\n // displayName: \"Start Date \",\r\n // key: \"startDate\",\r\n // isSort: false,\r\n // class: \"\",\r\n // type: \"date\",\r\n // }, {\r\n // displayName: \"End date\",\r\n // key: \"endDate\",\r\n // isSort: false,\r\n // class: \"\",\r\n // type: \"date\",\r\n // }\r\n // ]\r\n\r\n displayColumnsPrescription: Array = [\r\n // {\r\n // displayName: \"Drug Name\",\r\n // key: \"drugName\",\r\n // isSort: false,\r\n // class: \"\"\r\n // },\r\n // {\r\n // displayName: \"Strength\",\r\n // key: \"strength\",\r\n // isSort: false,\r\n // class: \"\"\r\n // }, {\r\n // displayName: \"Directions\",\r\n // key: \"directions\",\r\n // isSort: false,\r\n // class: \"\"\r\n // },\r\n // {\r\n // displayName: \"Start Date \",\r\n // key: \"startDate\",\r\n // isSort: false,\r\n // class: \"\",\r\n // type: \"date\",\r\n // }, {\r\n // displayName: \"End date\",\r\n // key: \"endDate\",\r\n // isSort: false,\r\n // class: \"\",\r\n // type: \"date\",\r\n // }\r\n {\r\n displayName: \"Prescription No\",\r\n key: \"prescriptionNo\",\r\n isSort: false,\r\n class: \"\"\r\n },\r\n {\r\n displayName: \"Creator Name\",\r\n key: \"creatorName\",\r\n isSort: false,\r\n class: \"\"\r\n },\r\n {\r\n displayName: \"created_date\",\r\n key: \"createdDate\",\r\n isSort: false,\r\n // type:\"date\",\r\n class: \"\"\r\n },\r\n {\r\n displayName: \"drug_name\",\r\n key: \"drugNames\",\r\n type: \"splitstring\",\r\n isSort: false,\r\n class: \"\"\r\n },\r\n // CreatorName,\r\n // CreatedDate,\r\n // drugNames,\r\n\r\n // {\r\n // displayName: \"actions\",\r\n // key: \"Actions\",\r\n // class: \"\",\r\n // },\r\n ]\r\n\r\n\r\n displayColumnsRadio: Array = [\r\n {\r\n displayName: \"radiology_name\",\r\n key: \"labName\",\r\n isSort: false,\r\n class: \"\"\r\n },\r\n {\r\n displayName: \"test_name\",\r\n key: \"testName\",\r\n isSort: false,\r\n class: \"\"\r\n }, {\r\n displayName: \"patient_name\",\r\n key: \"patientName\",\r\n isSort: false,\r\n class: \"\"\r\n },\r\n {\r\n displayName: \"status\",\r\n key: \"status\",\r\n isSort: false,\r\n class: \"\"\r\n }, {\r\n displayName: \"notes\",\r\n key: \"notes\",\r\n isSort: false,\r\n class: \"\"\r\n }\r\n ,\r\n {\r\n displayName: \"actions\",\r\n key: \"Actions\",\r\n isSort: true,\r\n class: \"\",\r\n }\r\n ];\r\n labReferralList: Array = [];\r\n dataSourcePre = new MatTableDataSource();\r\n displayedColumnsPre: string[] = [\r\n \"drugName\",\r\n \"strength\",\r\n \"directions\",\r\n \"startDate\",\r\n \"endDate\",\r\n ];\r\n\r\n metaDataPre: any;\r\n radiologyReferralList: Array = [];\r\n medicationList: Array = [];\r\n // client header info\r\n clientHeaderModel: ClientHeaderModel;\r\n PatientEncounterDetails: any;\r\n PatientEncounterNotes: any;\r\n filterModelSoap: FilterModel = new FilterModel();\r\n filterModelVital: FilterModel = new FilterModel();\r\n filterModelLab: FilterModel = new FilterModel();\r\n filterModelRadio: FilterModel = new FilterModel();\r\n filterModelPres: FilterModel = new FilterModel();\r\n filterModelQA: FilterModel = new FilterModel();\r\n filterModelImmun: FilterModel = new FilterModel();\r\n filterModelMed: FilterModel = new FilterModel();\r\n prescriptionListingData: PrescriptionModel[];\r\n vitalListingData: VitalModel[];\r\n questionAnswers: Array = [];\r\n displayColumnsQuestions: Array = [\r\n {\r\n displayName: \"question\",\r\n key: \"questionText\",\r\n isSort: false,\r\n class: \"\"\r\n },\r\n {\r\n displayName: \"answer\",\r\n key: \"answer\",\r\n isSort: false,\r\n class: \"\"\r\n }\r\n\r\n ];\r\n isAdmin: boolean;\r\n patientId: any;\r\n allSoapNotes: any;\r\n clientId: any;\r\n patientID: any;\r\n appointmentDate: string;\r\n metaDataVital: any;\r\n metaDataQA: Metadata;\r\n metaDataMedication: Metadata;\r\n metaDataImmuniz: Metadata;\r\n metaDataSoap: Metadata;\r\n constructor(\r\n private signDailog: MatDialog,\r\n private dialogModal: MatDialog,\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private encounterService: EncounterService,\r\n private notifierService: NotifierService,\r\n private commonService: CommonService,\r\n private clientService: ClientsService,\r\n\r\n ) {\r\n this.submitted = false;\r\n this.metaDataPre = {};\r\n this.submittedSign = false;\r\n this.soapNoteId = 0;\r\n this.appConfiguration = [];\r\n this.patientAppointmentDetails = null;\r\n this.soapNotes = null;\r\n this.encounterSignature = [];\r\n this.staffDetails = null;\r\n this.appointmentStartTime = null;\r\n this.appointmentEndTime = null;\r\n this.isGuardianSigned = false;\r\n this.isClientSigned = false;\r\n this.isEmployeeSigned = false;\r\n this.isAllSigned = false;\r\n this.isSoapCompleted = false;\r\n\r\n this.clientHeaderModel = new ClientHeaderModel();\r\n\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n\r\n //this.appointmentId = activatedRoute.snapshot.params.apptId\r\n // this.encounterId = params.encId == undefined ? 0 : parseInt(params.encId);\r\n // this.getNonBillableEncounterDetails();\r\n // this.GetPatientEncounterDetails();\r\n // this.getSelectedPreviousEncountersData();\r\n // this.GetPatientEncounterNotes();\r\n // this.GetPatientEncounterCheckInNotes();\r\n // this.getSoapNotes();\r\n this.displayedColumns = [\r\n { displayName: \"date\", key: \"vitalDate\", isSort: true, width: \"20%\", type: \"date\" },\r\n {\r\n displayName: \"Height_cm\",\r\n key: \"heightIn\",\r\n isSort: true,\r\n width: \"10%\",\r\n },\r\n { displayName: \"weight(Kg)\", key: \"weightLbs\" },\r\n { displayName: \"h_rate\", key: \"heartRate\" },\r\n { displayName: \"bmi\", key: \"bmi\", isSort: true },\r\n { displayName: \"bp_h_l\", key: \"bpDiastolic\" },\r\n { displayName: \"pulse\", key: \"pulse\" },\r\n { displayName: \"resp\", key: \"respiration\" },\r\n { displayName: \"temp(C)\", key: \"temperature\" },\r\n ];\r\n\r\n\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n // console.log(\"user\", user);\r\n if (user.userRoles && user.userRoles.roleName == 'ADMIN') {\r\n this.isAdmin = true;\r\n }\r\n }\r\n });\r\n /// \r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.appointmentId = params.apptId\r\n this.patientID = params.patId\r\n });\r\n // this.getNonBillableEncounterDetails();\r\n // this.GetPatientEncounterDetails();\r\n this.getSelectedPreviousEncountersData();\r\n this.GetPatientEncounterNotes();\r\n this.GetPatientEncounterCheckInNotes();\r\n\r\n\r\n this.soapForm = this.formBuilder.group({\r\n 'nonBillableNotes': [''],\r\n });\r\n this.getAppConfigurations();\r\n this.getVitalByAppointmentId();\r\n this.getAllRadiologyReferrals();\r\n this.getMedicationByAppointmentId();\r\n this.getAllLabReferrals();\r\n this.getAssesmentQueAnsByApptId();\r\n\r\n\r\n this.getImmunizationList();\r\n this.getSoapNotes();\r\n this.getPrescriptionList()\r\n }\r\n\r\n onTableActionClickLab(actionObj: any) {\r\n if (actionObj.action == \"view\") {\r\n // console.log(actionObj);\r\n\r\n this.openTestDownloadModal(actionObj);\r\n // console.log(\"open pop up here...\");\r\n }\r\n }\r\n\r\n onTableActionRadiologyClickLab(actionObj: any) {\r\n if (actionObj.action == \"view\") {\r\n // console.log(actionObj);\r\n\r\n this.openTestDownloadRadioModal(actionObj);\r\n // console.log(\"open pop up here...\");\r\n }\r\n }\r\n\r\n openTestDownloadRadioModal(actionObj: any) {\r\n const modalPopup = this.dialogModal.open(RadiologyReferralModalComponent, {\r\n hasBackdrop: true,\r\n width: \"30%\",\r\n data: actionObj.data\r\n });\r\n modalPopup.afterClosed().subscribe((result) => {\r\n // console.log(\"closed pop up\");\r\n });\r\n }\r\n\r\n\r\n openTestDownloadModal(actionObj: any) {\r\n const modalPopup = this.dialogModal.open(LabTestDownloadModalComponent, {\r\n hasBackdrop: true,\r\n width: \"30%\",\r\n data: actionObj.data\r\n });\r\n modalPopup.afterClosed().subscribe((result) => {\r\n // console.log(\"closed pop up\");\r\n });\r\n }\r\n\r\n // getPrescriptionList() {\r\n // this.filterModel = new FilterModel();\r\n // //this.appointmentId = 0;\r\n // this.clientService\r\n // // .getPrescriptionList(this.patientAppointmentDetails.patientID, this.filterModel, this.appointmentId)\r\n // .getPrescriptionByAppointmentIdList(this.patientAppointmentDetails.patientID, this.filterModel, this.appointmentId)\r\n // .subscribe((response: any) => {\r\n // if (response.statusCode === 200) {\r\n // this.prescriptionListingData = response.data;\r\n // this.dataSourcePre.data = this.prescriptionListingData;\r\n // this.prescriptionListingData = (response.data || []).map(\r\n // (obj: any) => {\r\n // obj.createdDate = format(obj.createdDate, \"MM/DD/YYYY\");\r\n // obj.startDate != null ? obj.startDate = format(obj.startDate, \"MM/DD/YYYY\") : null;\r\n // obj.endDate != null ? obj.endDate = format(obj.endDate, \"MM/DD/YYYY\") : null;\r\n // obj.status = obj.isActive ? \"ACTIVE\" : \"INACTIVE\";\r\n // return obj;\r\n // }\r\n // );\r\n // this.metaDataPre = response.meta || {};\r\n // } else {\r\n // this.prescriptionListingData = [];\r\n // this.metaDataPre = {};\r\n // }\r\n // });\r\n // }\r\n\r\n getPrescriptionList() {\r\n this.clientService\r\n .getPrescriptionList(this.patientID, this.filterModelPres, this.appointmentId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.prescriptionListingData = (response.data || []).map(\r\n (obj: any) => {\r\n obj.createdDate = format(obj.createdDate, \"DD/MM/YYYY\");\r\n // obj.startDate = format(obj.startDate, \"MM/DD/YYYY\");\r\n // obj.endDate = format(obj.endDate, \"MM/DD/YYYY\");\r\n // obj.status = obj.isActive ? \"ACTIVE\" : \"INACTIVE\";\r\n return obj;\r\n }\r\n );\r\n\r\n this.dataSourcePre.data = this.prescriptionListingData;\r\n this.metaDataPre = response.meta || new Metadata();\r\n } else {\r\n this.prescriptionListingData = [];\r\n this.dataSourcePre.data = [];\r\n this.metaDataPre = new Metadata();\r\n }\r\n this.metaDataPre.pageSizeOptions = [5, 10, 25, 50, 100]\r\n });\r\n }\r\n getAllRadiologyReferrals() {\r\n let roleId: number = 329;\r\n this.clientService.getAllLabReferralsByAppointmentId(roleId, this.appointmentId, this.filterModelRadio).subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.radiologyReferralList = response.data;\r\n this.metaDataRadio = response.meta;\r\n } else {\r\n this.radiologyReferralList = [];\r\n this.metaDataRadio = new Metadata();\r\n }\r\n this.metaDataRadio.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n\r\n getMedicationByAppointmentId() {\r\n this.clientService.getmedicationByAppointmentId(this.appointmentId, this.filterModelMed).subscribe((response: any) => {\r\n if (response.statusCode == 200) {\r\n this.medicationList = response.data;\r\n this.metaDataMedication = response.meta;\r\n } else {\r\n this.radiologyReferralList = [];\r\n this.metaDataMedication = new Metadata();\r\n }\r\n this.metaDataMedication.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n\r\n getAllLabReferrals() {\r\n let roleId: number = 325;\r\n this.clientService.getAllLabReferralsByAppointmentId(roleId, this.appointmentId, this.filterModelLab).subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.labReferralList = response.data;\r\n this.metaDataLab = response.meta;\r\n } else {\r\n this.labReferralList = [];\r\n this.metaDataLab = new Metadata();\r\n }\r\n this.metaDataLab.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n\r\n getImmunizationList() {\r\n this.clientService\r\n .getImmunizationByAppointmentIdList(this.patientID, this.appointmentId, this.filterModelImmun)\r\n .subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.immunizationList = response.data;\r\n this.metaDataImmuniz = response.meta;\r\n } else {\r\n this.immunizationList = [];\r\n this.metaDataImmuniz = new Metadata();\r\n }\r\n this.metaDataImmuniz.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n\r\n getVitalByAppointmentId() {\r\n this.clientService.getVitalByAppointmentId(this.appointmentId, this.filterModelVital).subscribe((response: any) => {\r\n if (response != null) {\r\n this.vitalData =\r\n response.data != null\r\n ? response.data\r\n : [];\r\n this.vitalListingData = [];\r\n this.metaDataVital = response.meta;\r\n response.data.forEach(element => {\r\n this.vitalListingData.push(element);\r\n });\r\n } else {\r\n this.metaDataVital = new Metadata();\r\n }\r\n this.metaDataVital.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n get formControls() {\r\n return this.soapForm.controls;\r\n }\r\n\r\n onBackClick() {\r\n // this.router.navigate(['/web/client/clientencounter']);\r\n // this.location.back();\r\n window.history.back();\r\n }\r\n\r\n // onNavigate(url: string) {\r\n // const clientId = this.patientAppointmentDetails && this.patientAppointmentDetails.patientID;\r\n // if (clientId)\r\n // this.router.navigate([url], { queryParams: { id: this.commonService.encryptValue(clientId, true) } });\r\n // }\r\n\r\n checkIsRequiredSigned() {\r\n let employee_signRequired = false,\r\n client_signRequired = false,\r\n guardian_signRequired = false;\r\n if (this.appConfiguration && this.appConfiguration.length) {\r\n this.appConfiguration.forEach((Obj) => {\r\n if (Obj.configType === 1) {\r\n switch (Obj.key) {\r\n case 'CLINICIAN_SIGN':\r\n employee_signRequired = (Obj.value.toString().toLowerCase() === 'true');\r\n break;\r\n case 'PATIENT_SIGN':\r\n client_signRequired = (Obj.value.toString().toLowerCase() === 'true');\r\n break;\r\n case 'GUARDIAN_SIGN':\r\n guardian_signRequired = (Obj.value.toString().toLowerCase() === 'true');\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n let employee_Signed = true, client_signed = true, guardian_signed = true;\r\n if (employee_signRequired) {\r\n if (this.isEmployeeSigned) {\r\n employee_Signed = true;\r\n } else {\r\n employee_Signed = false;\r\n }\r\n }\r\n if (client_signRequired) {\r\n if (this.isClientSigned) {\r\n client_signed = true;\r\n } else {\r\n client_signed = false;\r\n }\r\n }\r\n if (guardian_signRequired) {\r\n if (this.isGuardianSigned) {\r\n guardian_signed = true;\r\n } else {\r\n guardian_signed = false;\r\n }\r\n }\r\n // finally check if all required are signed ...\r\n if (employee_Signed && client_signed && guardian_signed) {\r\n this.isAllSigned = true;\r\n } else {\r\n this.isAllSigned = false;\r\n }\r\n }\r\n\r\n openSignDialog() {\r\n const staffsList = [{\r\n id: this.staffDetails && this.staffDetails.staffId,\r\n value: this.staffDetails && this.staffDetails.staffName,\r\n }]\r\n const clientDetails = {\r\n id: this.patientAppointmentDetails && this.patientAppointmentDetails.patientID,\r\n value: this.patientAppointmentDetails && this.patientAppointmentDetails.patientName\r\n }\r\n const modalPopup = this.signDailog.open(SignDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffsList,\r\n clientDetails,\r\n SignatoryLists: ['Employee']\r\n }\r\n });\r\n\r\n modalPopup.afterClosed().subscribe(result => {\r\n if (result) {\r\n switch ((result.Signatory || '').toUpperCase()) {\r\n case 'EMPLOYEE':\r\n this.employeeSign = {\r\n ...this.employeeSign,\r\n date: format(new Date(), 'YYYY-MM-DDTHH:mm:ss'),\r\n name: result.name,\r\n bytes: (result.bytes || '').split(',')[1]\r\n }\r\n this.isEmployeeSigned = true;\r\n break;\r\n case 'CLIENT':\r\n this.patientSign = {\r\n ...this.patientSign,\r\n date: format(new Date(), 'YYYY-MM-DDTHH:mm:ss'),\r\n name: result.name,\r\n bytes: (result.bytes || '').split(',')[1]\r\n }\r\n this.isClientSigned = true;\r\n break;\r\n case 'GUARDIAN':\r\n this.guardianSign = {\r\n ...this.guardianSign,\r\n date: format(new Date(), 'YYYY-MM-DDTHH:mm:ss'),\r\n name: result.name,\r\n bytes: (result.bytes || '').split(',')[1]\r\n }\r\n this.isGuardianSigned = true;\r\n break;\r\n }\r\n this.checkIsRequiredSigned();\r\n }\r\n });\r\n }\r\n\r\n\r\n onSubmitTemplate(event: any) {\r\n\r\n const jsonData = {\r\n id: this.tempDataId,\r\n templateData: JSON.stringify(event),\r\n };\r\n let postData: Array = [];\r\n postData.push(jsonData);\r\n\r\n this.onSubmit(postData);\r\n }\r\n onSubmit(formioData: any) {\r\n if (this.soapForm.invalid) {\r\n return null;\r\n }\r\n\r\n const postData = {\r\n PatientEncounterTemplate: formioData,\r\n };\r\n this.savePatientEncounter(postData);\r\n }\r\n savePatientEncounter(postData: any, isAdmin: boolean = false) {\r\n\r\n this.encounterService\r\n .updatePatientEncounter(postData)\r\n .subscribe((response) => {\r\n\r\n if (response.statusCode == 200) {\r\n this.notifierService.notify(\"success\", response.message);\r\n\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n getSoapNotes = () => {\r\n this.encounterService\r\n .GetAllSoapNotes(this.patientID, this.appointmentId, this.filterModelSoap)\r\n .subscribe((res) => {\r\n if (res != null && res.data != null && res.statusCode == 200) {\r\n this.allSoapNotes = res.data;\r\n this.metaDataSoap = res.meta;\r\n } else {\r\n this.allSoapNotes = [];\r\n this.metaDataSoap = new Metadata();\r\n }\r\n this.metaDataSoap.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n };\r\n\r\n onTableActionClickSoap(actionObj: any) {\r\n if (actionObj.action == \"view\") {\r\n this.openDoctorSoapNoteViewModal(actionObj);\r\n }\r\n }\r\n openDoctorSoapNoteViewModal(actionObj: any) {\r\n const modalPopup = this.dialogModal.open(SoapNoteViewModalComponent, {\r\n hasBackdrop: true,\r\n width: \"70%\",\r\n\r\n data: actionObj.data\r\n });\r\n modalPopup.afterClosed().subscribe((result) => {\r\n // console.log(\"closed pop up\");\r\n });\r\n }\r\n\r\n getAppConfigurations() {\r\n this.encounterService.getAppConfigurations()\r\n .subscribe(\r\n response => {\r\n if (response.statusCode == 200) {\r\n this.appConfiguration = response.data || [];\r\n } else {\r\n this.appConfiguration = [];\r\n }\r\n this.checkIsRequiredSigned();\r\n }\r\n )\r\n }\r\n\r\n getNonBillableEncounterDetails() {\r\n this.encounterService.getNonBillableEncounterDetails(this.appointmentId, this.encounterId, false)\r\n .subscribe(\r\n response => {\r\n if (response.statusCode == 200) {\r\n this.patientAppointmentDetails = response.data.patientAppointment || [];\r\n this.patientID = response.data.patientAppointment.patientID;\r\n this.soapNotes = response.data.nonBillableNotes || null;\r\n this.encounterSignature = response.data.encounterSignature || [];\r\n this.isSoapCompleted = (response.data.status || '').toUpperCase() === 'RENDERED';\r\n this.filterDetails();\r\n this.getPrescriptionList();\r\n this.getImmunizationList();\r\n this.getSoapNotes();\r\n } else {\r\n this.patientAppointmentDetails = null;\r\n this.soapNotes = null;\r\n this.encounterSignature = [];\r\n this.isSoapCompleted = false;\r\n }\r\n }\r\n )\r\n }\r\n\r\n GetPatientEncounterDetails() {\r\n\r\n this.encounterService.GetPatientEncounterDetails(this.appointmentId, this.encounterId, false)\r\n .subscribe(\r\n response => {\r\n //////;\r\n if (response.statusCode == 200) {\r\n //////;\r\n this.PatientEncounterDetails = JSON.parse(response.data.patientEncounterTemplate[0].templateData).data;\r\n\r\n this.tempDataId = JSON.parse(response.data.patientEncounterTemplate[0].id);\r\n }\r\n }\r\n )\r\n }\r\n GetPatientEncounterNotes() {\r\n //////;\r\n this.encounterService.GetPatientEncounterNotes(this.appointmentId)\r\n .subscribe(\r\n response => {\r\n //////;\r\n if (response.statusCode == 200) {\r\n this.PatientEncounterNotes = (response.data[0].encounterNotes);\r\n\r\n }\r\n }\r\n )\r\n }\r\n\r\n GetPatientEncounterCheckInNotes() {\r\n this.encounterService.GetPatientEncounterCheckInNotes(this.appointmentId)\r\n .subscribe(\r\n response => {\r\n if (response.statusCode == 200) {\r\n let data = response.data.reverse();\r\n this.PatientEncounterCheckInNotes = (data[0].encounterNotes);\r\n }\r\n }\r\n )\r\n }\r\n\r\n getSelectedPreviousEncountersData() {\r\n this.encounterService\r\n .getPreviousEncountersData(this.encounterId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.templateFormId =\r\n (response.data.patientEncounterTemplate &&\r\n response.data.patientEncounterTemplate[0].masterTemplateId) ||\r\n 0;\r\n // this.filterDetails();\r\n }\r\n if (this.encounterId) {\r\n this.getTemplateForm(this.templateFormId);\r\n }\r\n\r\n });\r\n }\r\n getTemplateForm(id: number) {\r\n //////;\r\n this.encounterService\r\n .getTemplateForm(this.appointmentId, id)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n //////;\r\n let formJson = { components: [] },\r\n formData = { data: {} };\r\n try {\r\n formJson = JSON.parse(response.data.templateJson);\r\n formData = JSON.parse(response.data.templateData);\r\n } catch (err) { }\r\n //////;\r\n this.jsonFormData = response.data.templateJson\r\n ? formJson\r\n : this.jsonFormData;\r\n\r\n this.initialFormValues = response.data.templateData\r\n ? formData\r\n : this.initialFormValues;\r\n this.templateFormId = id;\r\n\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n filterDetails() {\r\n\r\n // console.log(this.patientAppointmentDetails)\r\n if (this.patientAppointmentDetails) {\r\n const { appointmentStaffs, endDateTime, startDateTime } = this.patientAppointmentDetails;\r\n if (appointmentStaffs && appointmentStaffs.length) {\r\n this.staffDetails = appointmentStaffs[0];\r\n }\r\n this.appointmentStartTime = `${format(startDateTime, 'hh:mm a')}`\r\n this.appointmentEndTime = `${format(endDateTime, 'hh:mm a')}`\r\n this.appointmentDate = `${format(startDateTime, 'DD-MM-YYYY')}`\r\n if (this.patientAppointmentDetails.patientID)\r\n this.getClientHeaderInfo(this.patientAppointmentDetails.patientID);\r\n }\r\n\r\n if (this.soapNotes) {\r\n this.soapForm.patchValue({ nonBillableNotes: this.soapNotes })\r\n }\r\n\r\n if (this.encounterSignature && this.encounterSignature.length) {\r\n this.encounterSignature.forEach((signObj) => {\r\n if (signObj.guardianSign) {\r\n let data = {\r\n id: signObj.id,\r\n bytes: signObj.guardianSign,\r\n date: signObj.guardianSignDate,\r\n name: signObj.guardianName,\r\n };\r\n this.isGuardianSigned = true;\r\n this.guardianSign = data;\r\n }\r\n if (signObj.patientSign) {\r\n let data = {\r\n id: signObj.id,\r\n bytes: signObj.patientSign,\r\n date: signObj.patientSignDate,\r\n name: this.patientAppointmentDetails && this.patientAppointmentDetails.patientName,\r\n };\r\n this.isClientSigned = true;\r\n this.patientSign = data;\r\n }\r\n if (signObj.clinicianSign) {\r\n let data = {\r\n id: signObj.id,\r\n bytes: signObj.clinicianSign,\r\n date: signObj.clinicianSignDate,\r\n name: this.staffDetails && this.staffDetails.staffName,\r\n };\r\n this.isEmployeeSigned = true;\r\n this.employeeSign = data;\r\n }\r\n });\r\n }\r\n this.checkIsRequiredSigned();\r\n }\r\n\r\n saveNonBillableEncounter(postData: any, isAdmin: boolean = false) {\r\n this.submitted = true;\r\n this.encounterService.saveNonBillableEncounter(postData, isAdmin)\r\n .subscribe(\r\n response => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifierService.notify('success', response.message);\r\n if (!this.encounterId) {\r\n this.encounterId = response.data.id || 0;\r\n this.router.navigate([\"/web/encounter/non-billable-soap\"], {\r\n queryParams: {\r\n apptId: this.appointmentId,\r\n encId: this.encounterId\r\n }\r\n });\r\n }\r\n } else {\r\n this.notifierService.notify('error', response.message)\r\n }\r\n }\r\n )\r\n }\r\n\r\n getClientHeaderInfo(patientID: number) {\r\n this.encounterService.getClientHeaderInfo(patientID).subscribe((response: any) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.clientHeaderModel = response.data;\r\n this.clientHeaderModel.patientBasicHeaderInfo != null ? this.clientHeaderModel.patientBasicHeaderInfo.dob = format(this.clientHeaderModel.patientBasicHeaderInfo.dob, \"MM/DD/YYYY\") : '';\r\n }\r\n });\r\n }\r\n\r\n getAssesmentQueAnsByApptId() {\r\n this.clientService.getAssessmentQueAnsByApptId(this.appointmentId, this.filterModelQA).subscribe((response: ResponseModel) => {\r\n if (response.statusCode === 200) {\r\n this.questionAnswers = response.data;\r\n this.metaDataQA = response.meta;\r\n } else {\r\n this.questionAnswers = [];\r\n this.metaDataQA = new Metadata();\r\n }\r\n this.metaDataQA.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n\r\n downloadTemplate(type) {\r\n /// \r\n let fileName = 'Template ' + this.clientHeaderModel.patientBasicHeaderInfo.name;\r\n var enId = (this.encounterId == null || this.encounterId == undefined) ? 0 : this.encounterId\r\n this.clientService\r\n .getCheckInTemplatePdfById(this.appointmentId, enId)\r\n .subscribe((response: any) => {\r\n\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: 'application/pdf' });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = '_blank';\r\n a.href = fileURL;\r\n a.download = fileName;\r\n a.click();\r\n a.remove();\r\n });\r\n };\r\n\r\n onLetter() {\r\n console.log(\"this.appointid\", this.appointmentId)\r\n let templateModal;\r\n templateModal = this.dialogModal.open(TemplatePopupComponent, {\r\n data: { appointmentId: this.appointmentId },\r\n });\r\n\r\n templateModal.afterClosed().subscribe((result) => {\r\n // this.getAllTemplates();\r\n });\r\n }\r\n\r\n onNavigate(urlType: any = null) {\r\n /// \r\n const clientId = this.patientAppointmentDetails && this.patientAppointmentDetails.patientID;\r\n if (clientId) {\r\n if (urlType == 'Profile') {\r\n this.router.navigate([\"/web/client/my-profile\"], { queryParams: { id: this.commonService.encryptValue(clientId, true) } });\r\n }\r\n else {\r\n if (this.isProvider) {\r\n this.router.navigate([\"/web/my-appointments\"], { queryParams: { cId: this.commonService.encryptValue(clientId, true) } });\r\n } else {\r\n this.router.navigate([\"/web/client/managelab\"]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n onPageOrSortChangeSoap(changeState: any) {\r\n this.filterModelSoap.pageNumber = changeState.pageNumber;\r\n this.filterModelSoap.pageSize = changeState.pageSize;\r\n this.filterModelSoap.sortOrder = changeState.sortOrder;\r\n this.filterModelSoap.sortColumn = changeState.sortColumn;\r\n\r\n this.getSoapNotes();\r\n }\r\n\r\n onPageOrSortChangeVital(changeState: any) {\r\n this.filterModelVital.pageNumber = changeState.pageNumber;\r\n this.filterModelVital.pageSize = changeState.pageSize;\r\n this.filterModelVital.sortOrder = changeState.sortOrder;\r\n this.filterModelVital.sortColumn = changeState.sortColumn;\r\n \r\n this.getVitalByAppointmentId();\r\n }\r\n\r\n onPageOrSortChangeLab(changeState: any) {\r\n this.filterModelLab.pageNumber = changeState.pageNumber;\r\n this.filterModelLab.pageSize = changeState.pageSize;\r\n this.filterModelLab.sortOrder = changeState.sortOrder;\r\n this.filterModelLab.sortColumn = changeState.sortColumn;\r\n\r\n this.getAllLabReferrals();\r\n }\r\n\r\n onPageOrSortChangeRadio(changeState: any) {\r\n this.filterModelRadio.pageNumber = changeState.pageNumber;\r\n this.filterModelRadio.pageSize = changeState.pageSize;\r\n this.filterModelRadio.sortOrder = changeState.sortOrder;\r\n this.filterModelRadio.sortColumn = changeState.sortColumn;\r\n this.getAllRadiologyReferrals();\r\n }\r\n\r\n onPageOrSortChangeQA(changeState: any) {\r\n this.filterModelQA.pageNumber = changeState.pageNumber;\r\n this.filterModelQA.pageSize = changeState.pageSize;\r\n this.filterModelQA.sortOrder = changeState.sortOrder;\r\n this.filterModelQA.sortColumn = changeState.sortColumn;\r\n this.getAssesmentQueAnsByApptId();\r\n }\r\n\r\n onPageOrSortChangeMed(changeState: any) {\r\n this.filterModelMed.pageNumber = changeState.pageNumber;\r\n this.filterModelMed.pageSize = changeState.pageSize;\r\n this.filterModelMed.sortOrder = changeState.sortOrder;\r\n this.filterModelMed.sortColumn = changeState.sortColumn;\r\n this.getMedicationByAppointmentId();\r\n }\r\n\r\n onPageOrSortChangeImmun(changeState: any) {\r\n this.filterModelImmun.pageNumber = changeState.pageNumber;\r\n this.filterModelImmun.pageSize = changeState.pageSize;\r\n this.filterModelImmun.sortOrder = changeState.sortOrder;\r\n this.filterModelImmun.sortColumn = changeState.sortColumn;\r\n this.getImmunizationList();\r\n }\r\n\r\n onPageOrSortChangePres(changeState?: any) {\r\n this.filterModelPres.pageNumber = changeState.pageNumber;\r\n this.filterModelPres.pageSize = changeState.pageSize;\r\n this.filterModelPres.sortOrder = changeState.sortOrder;\r\n this.filterModelPres.sortColumn = changeState.sortColumn;\r\n this.getPrescriptionList();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as OT from '@opentok/client';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OpentokService {\r\n\r\n session: OT.Session;\r\n token: string;\r\n\r\n constructor() { }\r\n\r\n getOT() {\r\n return OT;\r\n }\r\n\r\n initSession(config: any) {\r\n if (config.API_KEY && config.TOKEN && config.SESSION_ID) {\r\n this.session = this.getOT().initSession(config.API_KEY, config.SESSION_ID);\r\n this.token = config.TOKEN;\r\n return Promise.resolve(this.session);\r\n } else {\r\n return fetch(config.SAMPLE_SERVER_BASE_URL + '/session')\r\n .then((data) => data.json())\r\n .then((json) => {\r\n this.session = this.getOT().initSession(json.apiKey, json.sessionId);\r\n this.token = json.token;\r\n return this.session;\r\n });\r\n }\r\n }\r\n\r\n connect() {\r\n return new Promise((resolve, reject) => {\r\n this.session.connect(this.token, (err) => {\r\n if (err) {\r\n reject(err);\r\n } else {\r\n resolve(this.session);\r\n }\r\n });\r\n });\r\n }\r\n}","module.exports = \"\"","module.exports = \"
\\r\\n

{{ headerText }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{ submitted ? \\\"Saving...\\\" : \\\"Save\\\" }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","//import { DiagnosisService } from \"./../diagnosis.service\";\r\nimport { Component, OnInit, EventEmitter, Output, Inject } from \"@angular/core\";\r\n\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\nimport { DiagnosisModel, PatientEncounterNotesModel } from \"src/app/platform/modules/agency-portal/clients/diagnosis/diagnosis.model\";\r\nimport { EncounterService } from \"../encounter.service\";\r\n\r\n@Component({\r\n selector: \"app-patientencounternotes-modal\",\r\n templateUrl: \"./patientencounternotes.component.html\",\r\n styleUrls: [\"./patientencounternotes.component.css\"]\r\n})\r\nexport class PatientEncounterNotesModalComponent implements OnInit {\r\n \r\n patientencounternotesModel: PatientEncounterNotesModel;\r\n patientencounternotesForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = \"Add Notes\";\r\n \r\n patientId: number;\r\n \r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private patientencounternotesModalRef: MatDialogRef,\r\n private encounterService: EncounterService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService\r\n ) {\r\n \r\n this.patientencounternotesModel = data.patientencounternote;\r\n //this.refreshGrid.subscribe(data.refreshGrid);\r\n\r\n // if (this.patientencounternotesModel.id != null && this.patientencounternotesModel.id > 0)\r\n // this.headerText = \"Edit Diagnosis\";\r\n // else \r\n this.headerText = \"Add Patient Notes\";\r\n\r\n this.patientId = this.patientencounternotesModel.patientID;\r\n\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.patientencounternotesForm = this.formBuilder.group({\r\n //id: [this.patientencounternotesModel.id],\r\n encounternotes: [this.patientencounternotesModel.encounterNotes]\r\n \r\n });\r\n \r\n }\r\n\r\n get formControls() {\r\n return this.patientencounternotesForm.controls;\r\n }\r\n onSubmit(event: any) {\r\n \r\n if (!this.patientencounternotesForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.patientencounternotesModel.encounterNotes = this.patientencounternotesForm.get('encounternotes').value; \r\n this.encounterService\r\n .savePatientEncounterNotes(this.patientencounternotesModel)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n if (clickType == \"Save\") this.closeDialog(\"save\");\r\n else if (clickType == \"SaveAddMore\") {\r\n //this.refreshGrid.next();\r\n //this.diagnosisForm.reset();\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n \r\n\r\n closeDialog(action: string): void {\r\n this.patientencounternotesModalRef.close(action);\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Service Code

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select service code\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, Inject, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\n\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ServiceCodeModal } from \"src/app/platform/modules/agency-portal/masters/service-codes/service-code.modal\";\r\nimport { ServiceCodeService } from \"src/app/platform/modules/agency-portal/masters/service-codes/service-code.service\";\r\n\r\n@Component({\r\n selector: \"app-add-service-code-modal\",\r\n templateUrl: \"./add-service-code-modal.component.html\",\r\n styleUrls: [\"./add-service-code-modal.component.css\"]\r\n})\r\nexport class AddServiceCodeModalComponent implements OnInit {\r\n serviceCodeModel: ServiceCodeModal;\r\n serviceCodeForm: FormGroup;\r\n masterServiceCode: any = [];\r\n submitted: boolean = false;\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private serviceCodeDialogModalRef: MatDialogRef<\r\n AddServiceCodeModalComponent\r\n >,\r\n private serviceCodeService: ServiceCodeService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService\r\n ) {\r\n this.serviceCodeModel = data;\r\n this.refreshGrid.subscribe(data.refreshGrid);\r\n }\r\n\r\n ngOnInit() {\r\n this.serviceCodeForm = this.formBuilder.group({\r\n id: [this.serviceCodeModel.id],\r\n serviceCode: [this.serviceCodeModel.serviceCode]\r\n });\r\n this.getMasterData();\r\n }\r\n getMasterData() {\r\n this.serviceCodeService\r\n .getMasterData({ masterdata: \"MASTERSERVICECODE\" })\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterServiceCode =\r\n response.masterServiceCode != null\r\n ? response.masterServiceCode\r\n : [];\r\n }\r\n });\r\n }\r\n get formControls() {\r\n return this.serviceCodeForm.controls;\r\n }\r\n onSubmit() {\r\n if (!this.serviceCodeForm.invalid) {\r\n this.submitted = true;\r\n this.serviceCodeModel = this.serviceCodeForm.value;\r\n this.serviceCodeService\r\n .create(this.serviceCodeModel)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.closeDialog(\"save\");\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n onAddServiceCode() {\r\n this.refreshGrid.next(this.serviceCodeModel);\r\n this.closeDialog(\"close\");\r\n }\r\n closeDialog(action: string): void {\r\n this.serviceCodeDialogModalRef.close(action);\r\n }\r\n onServiceCodeSelection(event: any) {\r\n this.serviceCodeModel = new ServiceCodeModal();\r\n this.serviceCodeModel.serviceCode = event.value.serviceCode;\r\n this.serviceCodeModel.serviceCodeId = event.value.id;\r\n this.serviceCodeModel.description = event.value.description;\r\n this.serviceCodeModel.modifierModel =\r\n event.value.masterServiceCodeModifiers;\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Add Signature

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option}}\\r\\n \\r\\n \\r\\n \\r\\n Please select signatory\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select employee\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select guardian\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\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, Inject, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { SignaturePad } from 'angular2-signaturepad/signature-pad';\r\n\r\n@Component({\r\n selector: 'app-sign-dialog',\r\n templateUrl: './sign-dialog.component.html',\r\n styleUrls: ['./sign-dialog.component.css']\r\n})\r\nexport class SignDialogComponent implements OnInit {\r\n signForm: FormGroup;\r\n SignatoryLists: Array;\r\n StaffLists: Array;\r\n clientDetails: any;\r\n signDataUrl : string;\r\n submitted: boolean;\r\n @ViewChild(SignaturePad) signaturePad: SignaturePad;\r\n \r\n signaturePadOptions: Object = { // passed through to szimek/signature_pad constructor\r\n 'dotSize': parseFloat('0.1'),\r\n 'minWidth': 5,\r\n 'canvasWidth': 600,\r\n 'canvasHeight': 300\r\n };\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n public dialogPopup: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n ) {\r\n this.signDataUrl = null;\r\n this.submitted =false;\r\n this.SignatoryLists = data.SignatoryLists;\r\n this.StaffLists = data.staffsList || [];\r\n this.clientDetails = data.clientDetails || null;\r\n }\r\n\r\n ngOnInit() {\r\n this.signForm = this.formBuilder.group({\r\n 'Signatory': [''],\r\n 'StaffID': [''],\r\n 'Client': [this.clientDetails && this.clientDetails.value],\r\n 'Guardian': ['']\r\n })\r\n }\r\n\r\n get formControls() {\r\n return this.signForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n if (this.signForm.invalid || !this.signDataUrl) {\r\n return null;\r\n }\r\n\r\n const { StaffID, Signatory, Guardian } = this.signForm.value;\r\n\r\n let clientName = this.clientDetails && this.clientDetails.value,\r\n staffName = this.StaffLists.find(obj => obj.id == StaffID) && this.StaffLists.find(obj => obj.id == StaffID).value,\r\n guardianName = Guardian;\r\n\r\n const result = {\r\n 'Signatory': Signatory,\r\n 'name': Signatory == this.SignatoryLists[0] ? staffName : Signatory == this.SignatoryLists[1] ? clientName : guardianName,\r\n 'bytes': this.signDataUrl,\r\n }\r\n // console.log(\"result after close: \", result);\r\n this.dialogPopup.close(result);\r\n }\r\n\r\n onClose() {\r\n this.dialogPopup.close();\r\n }\r\n\r\n onClear() {\r\n this.signaturePad.clear();\r\n this.signDataUrl = null;\r\n }\r\n\r\n // sign pad\r\n ngAfterViewInit() {\r\n // this.signaturePad is now available\r\n this.signaturePad.set('minWidth', 5); // set szimek/signature_pad options at runtime\r\n this.signaturePad.clear(); // invoke functions from szimek/signature_pad API\r\n }\r\n \r\n drawComplete() {\r\n // will be notified of szimek/signature_pad's onEnd event\r\n // console.log(\"signature url\",this.signaturePad.toDataURL());\r\n this.signDataUrl = this.signaturePad.toDataURL();\r\n }\r\n \r\n}\r\n","module.exports = \".provider-container {\\r\\n /* font-family: 'Raleway', sans-serif !important; */\\r\\n /* background-color: #f2f6fe; */\\r\\n padding: 20px 10px;\\r\\n}\\r\\n/*Soap Page*/\\r\\n.soap_detail p {\\r\\n margin: 0px 0px 15px;\\r\\n}\\r\\n.soap_detail b {\\r\\n color: #7a7a7a;\\r\\n font-weight: 500;\\r\\n font-size: 12px;\\r\\n display: block;\\r\\n}\\r\\n.soap_detail span {\\r\\n color: #000;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n}\\r\\n.soap_lk {\\r\\n gap: 10px;\\r\\n}\\r\\n.soap_content {\\r\\n float: right;\\r\\n}\\r\\n.soapmodal_btn {\\r\\n margin-top: 7px;\\r\\n}\\r\\n.panel_title .flaticon {\\r\\n top: 18px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.panel_title .flaticon.flaticon-gym {\\r\\n top: 0;\\r\\n}\\r\\n.sign h3 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n.sign h3>span {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n color: #7a7a7a;\\r\\n}\\r\\n.sign p,\\r\\n.sign p>span {\\r\\n font-size: 12px;\\r\\n margin: 3px 0px 0px;\\r\\n color: #7a7a7a;\\r\\n}\\r\\n.sign {\\r\\n border: 1px solid #eceeef;\\r\\n padding: 10px;\\r\\n overflow: hidden;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n.sign img {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.readmin-left-panel .mat-form-field-appearance-legacy .mat-form-field-wrapper {\\r\\n padding-bottom: 0 !important;\\r\\n}\\r\\n/* Updated Code */\\r\\n.readmin-panel .readmin-left-panel ,.readmin-panel .readmin-right-panel{\\r\\n border-radius: 8px !important;\\r\\n border: 1px solid #F0EFFC !important;\\r\\n background-color: white !important;\\r\\n}\\r\\n.readmin-panel.soap-note-blk{\\r\\n background-color: white !important;\\r\\n}\\r\\n.readmin-left-panel .panel-title {\\r\\n width: 100%;\\r\\n border-bottom: 1px solid #F0EFFC;\\r\\n margin: 0;\\r\\n}\\r\\n.readmin-panel .row {\\r\\n align-items: inherit !important;\\r\\n}\\r\\n.form-group {\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n.readmin-form {\\r\\n margin: 0 !important;\\r\\n}\\r\\n::ng-deep span.mat-option-text {\\r\\n font-size: 15px !important;\\r\\n}\\r\\n::ng-deep .form-group span {\\r\\n font-size: 14px !important;\\r\\n}\\r\\n.col-sm-12.custom-btn .formio-form-div.soap-note-form {\\r\\n height: inherit !important;\\r\\n min-height: inherit !important;\\r\\n}\\r\\ndiv#SoapNotes {\\r\\n height: inherit !important;\\r\\n}\\r\\n.ng-scrollbar-view {\\r\\n width: 100% !important;\\r\\n}\\r\\nbutton.btn.btn-primary.btn-md {\\r\\n margin-top: 10px !important;\\r\\n}\\r\\ninput.form-control.flatpickr-input {\\r\\n border: 1px solid #ced4da !important;\\r\\n}\\r\\n.form-control {\\r\\n border: none !important;\\r\\n}\\r\\ninput.form-control ,input.form-control.flatpickr-input.input.active, .input-group, textarea.form-control{\\r\\n border: 1px solid #c4d7eb !important;\\r\\n border-radius: 5px !important;\\r\\n}\\r\\n.formio-form {\\r\\n min-height: inherit !important;\\r\\n}\\r\\ntextarea {\\r\\n border: 1px solid #afacac !important;\\r\\n border-radius: 5px !important;\\r\\n padding: 10px;\\r\\n}\\r\\n@media (max-width: 1199px) {\\r\\n /*soap page*/\\r\\n .soap_detail b {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n@media (max-width: 767px) {\\r\\n /*Soap Page*/\\r\\n .soap_detail p {\\r\\n width: 50%;\\r\\n }\\r\\n .checkin-btns button {\\r\\n margin-left: 10px;\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n \\r\\n .quick ul li {\\r\\n margin-bottom: 5px;\\r\\n }\\r\\n\\r\\n .client_detail div {\\r\\n min-width: 85%;\\r\\n }\\r\\n .readmin-panel .readmin-left-panel {\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n}\\r\\n@media (max-width: 480px) {\\r\\n /*Soap Note*/\\r\\n .detail_wd p,\\r\\n .soap_detail p {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n.mwlResizable {\\r\\n /* required for the enableGhostResize option to work */\\r\\n box-sizing: border-box;\\r\\n}\\r\\n.resize-handle-top,\\r\\n.resize-handle-bottom {\\r\\n position: absolute;\\r\\n height: 5px;\\r\\n cursor: row-resize;\\r\\n width: 100%;\\r\\n}\\r\\n.resize-handle-top {\\r\\n top: 0;\\r\\n}\\r\\n.resize-handle-bottom {\\r\\n bottom: 0;\\r\\n}\\r\\n.resize-handle-left,\\r\\n.resize-handle-right {\\r\\n position: absolute;\\r\\n height: 100%;\\r\\n cursor: col-resize;\\r\\n width: 5px;\\r\\n}\\r\\n.resize-handle-left {\\r\\n left: 0;\\r\\n}\\r\\n.resize-handle-right {\\r\\n right: 0;\\r\\n}\\r\\n.soap-panel {\\r\\n border: solid 1px #121621;\\r\\n}\\r\\n.video-tool {\\r\\n border: solid 0px #2fd4c8;\\r\\n box-shadow: 2px 1px 14px #8eadab;\\r\\n}\\r\\n.formio-form-div {\\r\\n position: relative;\\r\\n min-height: 80px;\\r\\n height: 364px;\\r\\n overflow: auto;\\r\\n}\\r\\n.soap-note-form .formio-form {\\r\\n width: 95%;\\r\\n}\\r\\n.d-flex {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(1) button {\\r\\n background: #4140AF !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(2) button {\\r\\n background: #0080BC !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(3) button {\\r\\n background: #D8666F !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(4) button {\\r\\n background: #4E6CDB !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(5) button {\\r\\n background: #099C77 !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(6) button {\\r\\n background: #C39403 !important;\\r\\n}\\r\\n.client_detail .dashboard-btn-card:nth-child(7) button {\\r\\n background: #009CCF !important;\\r\\n}\\r\\n.client_profile .clientbox .client_detail label {\\r\\n font-size: 12px;\\r\\n font-weight: 700;\\r\\n}\\r\\n.client_profile .clientbox .client_detail button {\\r\\n background: #4140AF;\\r\\n color: #fff;\\r\\n width: 100%;\\r\\n}\\r\\n.client_detail div .user_pic {\\r\\n width: 80px;\\r\\n}\\r\\n.client_profile .clientbox .client_detail button span {\\r\\n width: 100%;\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n align-items: center;\\r\\n}\\r\\n.client_profile .clientbox .client_detail button span img {\\r\\n width: 20px;\\r\\n}\\r\\n.readmin-left-panel .panel-title a {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n padding: 10px 0px !important;\\r\\n display: flex !important;\\r\\n}\\r\\n.checkin-block {\\r\\n display: block;\\r\\n margin: 0 auto;\\r\\n text-align: center;\\r\\n width: 50%;\\r\\n margin: 30px auto;\\r\\n padding: 10px;\\r\\n background-color: #fff;\\r\\n box-shadow: 0 0 7px #ccc;\\r\\n border-left: 4px solid #01385f !important\\r\\n}\\r\\n.checkin-txt {\\r\\n padding: 10px 20px 20px 20px;\\r\\n}\\r\\n.checkin-txt div {\\r\\n font-size: 25px;\\r\\n font-weight: 600;\\r\\n color: #2f2660\\r\\n}\\r\\n/******* custom css *******/\\r\\n.checkin-block .checkin-txt {\\r\\n padding: 0 0 0px;\\r\\n font-size: 16px;\\r\\n}\\r\\n.checkin-block .checkin-txt span.ng-star-inserted {\\r\\n width: 60px;\\r\\n height: 60px;\\r\\n margin: 0 8px;\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n flex-direction: column;\\r\\n /* box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; */\\r\\n /* padding: 20px 20px; */\\r\\n font-size: 16px !important;\\r\\n align-content: center;\\r\\n}\\r\\n.checkin-block .checkin-txt .timer {\\r\\n display: flex;\\r\\n align-content: center;\\r\\n justify-content: center;\\r\\n margin: 10px 0;\\r\\n}\\r\\n.checkin-block .checkin-txt span span {\\r\\n display: block;\\r\\n width: 100%;\\r\\n margin: 0 !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n.checkin-block .row {\\r\\n font-size: 14px;\\r\\n margin-top: 0px;\\r\\n}\\r\\n.checkin-block .row .col-sm-6 {\\r\\n width: 100%;\\r\\n max-width: 100%;\\r\\n flex: unset;\\r\\n}\\r\\n.checkin-block .row .col-sm-6 .d-flex {\\r\\n margin: 5px 0 0;\\r\\n justify-content: center;\\r\\n}\\r\\n::ng-deep .readmin-panel .readmin-right-panel .mat-tab-header {\\r\\n background-color: transparent !important;\\r\\n }\\r\\n@media all and (max-width: 768px) {\\r\\n .checkin-block {\\r\\n width: 100%\\r\\n }\\r\\n}\\r\\n.custom-btn .fa-spin{\\r\\n display: none !important;\\r\\n}\\r\\n/* .signature-box {\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 8px;\\r\\n padding: 20px;\\r\\n width: 100%;\\r\\n max-width: 300px;\\r\\n text-align: center;\\r\\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\\r\\n} */\\r\\n.signature-box {\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 8px;\\r\\n padding: 20px;\\r\\n width: 341px;\\r\\n max-width: 772px;\\r\\n text-align: center;\\r\\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n.signature-image {\\r\\n width: 80%;\\r\\n height: 100px;\\r\\n -o-object-fit: contain;\\r\\n object-fit: contain;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n.signature-info h3 {\\r\\n margin: 0 0 5px 0;\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.signature-info p {\\r\\n margin: 0 0 3px 0;\\r\\n font-size: 14px;\\r\\n color: #666;\\r\\n}\\r\\n.signature-info span {\\r\\n font-weight: 500;\\r\\n}\\r\\n.signature-line {\\r\\n width: 100%;\\r\\n height: 1px;\\r\\n background-color: #ccc;\\r\\n margin: 15px 0;\\r\\n}\\r\\n.signature-label {\\r\\n font-size: 12px;\\r\\n color: #999;\\r\\n text-transform: uppercase;\\r\\n \\r\\n}\\r\\n.signaturebase{\\r\\n text-align: center;\\r\\n justify-content: center;\\r\\n \\r\\n}\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{'appointment_date'|translate }}: {{ patientAppointmentDetails.startDateTime | date: 'dd-MM-yyyy' }}\\r\\n
\\r\\n
\\r\\n {{'note'|translate }}: {{'Your appointment will be starts in'|translate}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{'Visit Details'|translate }}

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

\\r\\n {{'Doctor Soap\\r\\n Notes'|translate}} \\r\\n

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

\\r\\n {{'Doctor Soap Notes'|translate }}\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ temp.templateName | translate }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{\\r\\n template.templateName\\r\\n }}\\r\\n

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

\\r\\n {{'ICD'|translate}} \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{'Search ICD'|translate}}\\r\\n \\r\\n\\r\\n \\r\\n {{ Icd.description }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'Comment'|translate}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{'Patient\\r\\n Plan'|translate}} \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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 Codes

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n SERVICE CODE\\r\\n \\r\\n DESCRIPTION\\r\\n \\r\\n ACTION\\r\\n
No record found.
\\r\\n {{ code.serviceCode }}\\r\\n \\r\\n {{ code.description }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\\"Provider\\r\\n
\\r\\n

\\r\\n {{ loginUserData.firstName +\\\" \\\"+ loginUserData.lastName}}\\r\\n\\r\\n

\\r\\n

(Provider)

\\r\\n

Date: {{ CurrentDate }}

\\r\\n
\\r\\n
\\r\\n
Signature
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ tab.displayName }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\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 { DiagnosisService } from \"./../diagnosis/diagnosis.service\";\r\nimport { DialogService } from \"./../../../../../shared/layout/dialog/dialog.service\";\r\nimport { ResponseModel } from \"./../../../../../super-admin-portal/core/modals/common-model\";\r\n//import { DiagnosisModalComponent } from \"./../../clients/diagnosis/diagnosis-modal/diagnosis-modal.component\";\r\n//import { ChatService } from \"src/app/platform/modules/agency-portal/encounter/mean-video/chat.service\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ViewChild,\r\n ElementRef,\r\n Renderer2,\r\n OnDestroy,\r\n ComponentFactoryResolver,\r\n ViewContainerRef,\r\n ComponentRef,\r\n} from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n AbstractControl,\r\n ValidationErrors,\r\n} from \"@angular/forms\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { EncounterService } from \"../encounter.service\";\r\nimport { format, addDays } from \"date-fns\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { SignDialogComponent } from \"../sign-dialog/sign-dialog.component\";\r\nimport { ClientHeaderModel } from \"../../clients/client-header.model\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { TemplateFormComponent } from \"../template-form/template-form.component\";\r\nimport { ServiceCodeModal } from \"../../masters/service-codes/service-code.modal\";\r\nimport {\r\n DiagnosisModel,\r\n PatientEncounterNotesModel,\r\n} from \"../../clients/diagnosis/diagnosis.model\";\r\nimport { FormioOptions } from \"angular-formio\";\r\nimport { ResizeEvent } from \"angular-resizable-element\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { DiagnosisModalComponent } from \"src/app/platform/modules/agency-portal/encounter/diagnosis/diagnosis-modal/diagnosis-modal.component\";\r\nimport { AddServiceCodeModalComponent } from \"src/app/platform/modules/agency-portal/encounter/service-code-modal/add-service-code-modal.component\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { CallInitModel, CallStatus } from \"src/app/shared/models/callModel\";\r\nimport { PatientEncounterNotesModalComponent } from \"../patientencounternotes-modal/patientencounternotes.component\";\r\nimport { ClientsService } from \"../../clients/clients.service\";\r\nimport { UserDocumentModel } from \"../../users/users.model\";\r\nimport { VitalModel } from \"../../clients/vitals/vitals.model\";\r\nimport { Observable } from \"rxjs\";\r\nimport {\r\n FilterModel,\r\n MedicationModel,\r\n} from \"../../clients/medication/medication.model\";\r\nimport { VideoConsultationTestModalComponent } from \"src/app/shared/video-consultation-test-modal/video-consultation-test-modal.component\";\r\nimport { SchedulerService } from \"../../../scheduling/scheduler/scheduler.service\";\r\nimport { SoapNoteComponent } from \"../../clients/soap-note/soap-note.component\";\r\nimport { VitalsComponent } from \"../../clients/vitals/vitals.component\";\r\nimport { DocumentsComponent } from \"../../clients/documents/documents.component\";\r\nimport { MedicationComponent } from \"../../clients/medication/medication.component\";\r\nimport { PrescriptionComponent } from \"../../clients/prescription/prescription.component\";\r\nimport { IcdComponent } from \"../../clients/icd/icd.component\";\r\nimport { ImmunizationComponent } from \"../../clients/immunization/immunization.component\";\r\nimport { AllergiesComponent } from \"../../clients/allergies/allergies.component\";\r\nimport { ClientInsuranceComponent } from \"../../clients/client-insurance/client-insurance.component\";\r\nimport { LabReferralComponent } from \"../../lab-referral/lab-referral.component\";\r\nimport { RadiologyReferralComponent } from \"../../radiology-referral/radiology-referral.component\";\r\nimport { HistoryComponent } from \"../../clients/history/history.component\";\r\nimport { HealthPlanCoverageComponent } from \"../../clients/health-plan-coverage/health-plan-coverage.component\";\r\nimport { MediCertificateComponent } from \"../../clients/medi-certificate/medi-certificate.component\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { VideoCallInvitationComponent } from \"../video-call-invitation/video-call-invitation.component\";\r\nimport { AngularEditorConfig } from \"@kolkov/angular-editor\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { TemplateComponent } from \"../../template/template.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\nclass signModal {\r\n id: number = 0;\r\n bytes: string = null;\r\n date: string = null;\r\n name: string = null;\r\n}\r\n\r\n@Component({\r\n selector: \"app-soap\",\r\n templateUrl: \"./soap.component.html\",\r\n styleUrls: [\"./soap.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [DatePipe],\r\n})\r\n\r\n\r\nexport class SoapComponent implements OnInit, OnDestroy {\r\n @ViewChild(\"dragsidebar\") panel: ElementRef;\r\n @ViewChild(\"videoDiv\") panelVideo: ElementRef;\r\n @ViewChild(\"SOAPPanel\") SOAPPanel: ElementRef;\r\n @ViewChild(\"videoTool\") videoTool: ElementRef;\r\n @ViewChild(\"tabContent\", { read: ViewContainerRef })\r\n tabContent: ViewContainerRef;\r\n config: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: \"15rem\",\r\n minHeight: \"5rem\",\r\n placeholder: \"Enter text here...\",\r\n translate: \"no\",\r\n defaultParagraphSeparator: \"p\",\r\n defaultFontName: \"Arial\",\r\n\r\n customClasses: [\r\n {\r\n name: \"quote\",\r\n class: \"quote\",\r\n },\r\n {\r\n name: \"redText\",\r\n class: \"redText\",\r\n },\r\n {\r\n name: \"titleText\",\r\n class: \"titleText\",\r\n tag: \"h1\",\r\n },\r\n ],\r\n };\r\n selectedIndex: any;\r\n serviceCodeModal: ServiceCodeModal;\r\n patientEncounterServiceCodes: ServiceCodeModal[];\r\n soapForm: FormGroup;\r\n appointmentId: number;\r\n allSoapNotes: Array = [];\r\n encryptedAppointmentId: number;\r\n encounterId: number;\r\n soapNoteId: number;\r\n submitted: boolean;\r\n submittedMedicationForm: boolean;\r\n submittedSign: boolean;\r\n appConfiguration: Array;\r\n maxDate = new Date();\r\n patientEncounterDiagnosisCodes: DiagnosisModel[];\r\n patientEncounterTemplate: Array;\r\n patientAppointmentDetails: any;\r\n soapNotes: any;\r\n encounterSignature: Array;\r\n staffDetails: any;\r\n appointmentStartTime: string;\r\n appointmentEndTime: string;\r\n unitsConsumed: number;\r\n patientSign: signModal = new signModal();\r\n employeeSign: signModal = new signModal();\r\n guardianSign: signModal = new signModal();\r\n isGuardianSigned: boolean;\r\n isClientSigned: boolean;\r\n isEmployeeSigned: boolean;\r\n isAllSigned: boolean;\r\n isSoapCompleted: boolean;\r\n istelehealthappt: boolean;\r\n Vital;\r\n patientencounternotesForm: FormGroup;\r\n public style: object = {};\r\n public styleVideo: object = {};\r\n disabledVitalForm: boolean = false;\r\n masterTemplates: Array;\r\n templateFormId: number = null;\r\n templateFormName: string = null;\r\n diagnosisCodeModel: DiagnosisModel;\r\n clientHeaderModel: ClientHeaderModel;\r\n FormData: any;\r\n initialValue: any;\r\n isSoap: boolean = false;\r\n previousEncounters: Array;\r\n previousEncounterId: number;\r\n isPreviousEncounter: boolean = false;\r\n isSubmitted: boolean = false;\r\n templateIdFromDD: any = null;\r\n encounterTemplateId: any;\r\n showFormioDiv: any;\r\n otSessionId: number = 0;\r\n userDisplayName: string;\r\n public jsonFormData: Object = {\r\n components: [],\r\n };\r\n initialFormValues: Object = {\r\n data: {},\r\n };\r\n formioOptions: FormioOptions = {\r\n disableAlerts: true,\r\n };\r\n\r\n public jsonFormDataProvider: Object = {\r\n components: [],\r\n };\r\n initialFormValuesProvider: Object = {\r\n data: {},\r\n };\r\n formioOptionsProvider: FormioOptions = {\r\n disableAlerts: true,\r\n };\r\n diagnosisModel: DiagnosisModel;\r\n patientencounternotesmodel: PatientEncounterNotesModel;\r\n patientencounternotesModel: PatientEncounterNotesModel;\r\n clientId: number;\r\n userId: number;\r\n aptId: number;\r\n todayDate = new Date();\r\n fromDate: string;\r\n toDate: string;\r\n documentList: Array = [];\r\n isSubmit = false;\r\n ICDName: string = \"\";\r\n masterICD: any = [];\r\n IcdComment = false;\r\n icdForm: FormGroup;\r\n selectedIcdCode: any;\r\n encrytPatientId;\r\n encrytPatientUserId;\r\n masterFrequencyType = [];\r\n vitalModel: VitalModel = new VitalModel();\r\n callStartStop: boolean = false;\r\n isEnded: boolean = false;\r\n isStarted: boolean = false; //true;\r\n isShowTimer: boolean = false;\r\n isShowCheckinBtns: boolean = false;\r\n patientEncounterDetails: any;\r\n\r\n moduleTabs = [\r\n {\r\n id: 5,\r\n displayName: \"Documents\",\r\n },\r\n {\r\n id: 6,\r\n displayName: \"Vitals\",\r\n },\r\n {\r\n id: 7,\r\n displayName: \"Doctor Notes\",\r\n },\r\n {\r\n id: 8,\r\n displayName: \"Pre-Existing Medications\",\r\n },\r\n {\r\n id: 9,\r\n displayName: \"E-Prescription\",\r\n },\r\n {\r\n id: 10,\r\n displayName: \"ICD\",\r\n },\r\n\r\n {\r\n id: 12,\r\n displayName: \"Insurance\",\r\n },\r\n {\r\n id: 13,\r\n displayName: \"Immunization\",\r\n },\r\n {\r\n id: 14,\r\n displayName: \"Allergies\",\r\n },\r\n ];\r\n filterModel: FilterModel = new FilterModel();\r\n vitalForm: FormGroup;\r\n showEndSessionBtn: boolean = true;\r\n patientNotesForm = { encounternotes: \"\" };\r\n selectPatientOption;\r\n patientId: number;\r\n error: string = \"Please fill atleast one more vital other than date\";\r\n medicationAddForm: FormGroup;\r\n medicationModel: MedicationModel = new MedicationModel();\r\n PatientTab;\r\n appointmentMode: string = \"\";\r\n MasterTemplateListByProvider: Array;\r\n isAppointmentCompleted: boolean = false;\r\n providerSignatureUrl: any = '';\r\n isProvider: boolean;\r\n signatoryLists: string[];\r\n providerSignBase64: any;\r\n loginUserData: any;\r\n CurrentDate: string;\r\n constructor(\r\n private signDailog: MatDialog,\r\n private schedulerService: SchedulerService,\r\n private dailog: MatDialog,\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private encounterService: EncounterService,\r\n private notifierService: NotifierService,\r\n private commonService: CommonService,\r\n private serviceCodeDailog: MatDialog,\r\n private renderer: Renderer2,\r\n private cfr: ComponentFactoryResolver,\r\n private diagnosisService: DiagnosisService,\r\n private diagnosisDialogModal: MatDialog,\r\n private patientencounternotesDialogModal: MatDialog,\r\n private dialogService: DialogService,\r\n private appService: AppService,\r\n private clientService: ClientsService,\r\n private notifier: NotifierService,\r\n private http: HttpClient,\r\n private translate: TranslateService,\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.submitted = false;\r\n this.submittedMedicationForm = false;\r\n this.submittedSign = false;\r\n this.soapNoteId = 0;\r\n this.appConfiguration = [];\r\n this.patientEncounterDiagnosisCodes = [];\r\n this.patientEncounterServiceCodes = [];\r\n this.patientEncounterTemplate = [];\r\n this.patientAppointmentDetails = null;\r\n this.soapNotes = null;\r\n this.encounterSignature = [];\r\n this.staffDetails = null;\r\n this.appointmentStartTime = null;\r\n this.appointmentEndTime = null;\r\n this.unitsConsumed = 0;\r\n this.isGuardianSigned = false;\r\n this.isClientSigned = false;\r\n this.isEmployeeSigned = false;\r\n this.isAllSigned = false;\r\n this.isSoapCompleted = false;\r\n this.masterTemplates = [];\r\n\r\n this.clientHeaderModel = new ClientHeaderModel();\r\n this.commonService._isAppointmentCompleted.subscribe((res) => {\r\n this.isAppointmentCompleted = res;\r\n });\r\n if (localStorage.getItem(\"access_token\")) {\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n let userInfo: any;\r\n\r\n this.userId = user.data.userID;\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n userInfo = user.patientData;\r\n } else {\r\n userInfo = user.data;\r\n }\r\n } else {\r\n }\r\n if (\r\n this.activatedRoute.snapshot.url[0] &&\r\n this.activatedRoute.snapshot.url[0].path == \"check-in-soap\"\r\n ) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.appointmentId = Number(apptId);\r\n this.encounterId = this.getCurrentencouter();\r\n this.getPatientEncounterDetails();\r\n this.getMasterTemplates();\r\n this.GetMasterTemplateListByProvider();\r\n } else {\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.appointmentId =\r\n params.apptId == undefined ? 0 : parseInt(params.apptId);\r\n this.encounterId =\r\n params.encId == undefined ? 0 : parseInt(params.encId);\r\n this.getPatientEncounterDetails();\r\n this.getMasterTemplates();\r\n this.GetMasterTemplateListByProvider();\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.commonService.userRole.subscribe((role) => {\r\n if (role.toLowerCase() == \"provider\") {\r\n // console.log(\"Role from soap component: \", role);\r\n this.isProvider = true;\r\n }\r\n }\r\n\r\n \r\n );\r\n\r\n this.commonService.loginUserSubject.subscribe(\r\n (user: LoginUser) => {\r\n // console.log(\"Login user from soap: \", user);\r\n // console.log(\"Login user from soap signaturepath: \", user.data.signaturePath);\r\n this.providerSignatureUrl = user.data.signaturePath;\r\n this.loginUserData = user.data;\r\n // if(this.isProvider){\r\n // this.convertImage(this.providerSignatureUrl);\r\n // }\r\n });\r\n\r\n\r\n this.CurrentDate = format(new Date(), \"DD/MM/YYYY\")\r\n // console.log(\"currentdate\", CurrentDay)\r\n }\r\n getCurrentencouter() {\r\n let soapnotesData = localStorage.getItem(\"soapnotesData\");\r\n const _soapnotesData = JSON.parse(soapnotesData);\r\n if (\r\n _soapnotesData != null &&\r\n this.appointmentId == _soapnotesData.appointmentId &&\r\n _soapnotesData.encounterId != 0\r\n ) {\r\n return _soapnotesData.encounterId;\r\n } else {\r\n return 0;\r\n }\r\n }\r\n get f() {\r\n return this.soapForm.controls;\r\n }\r\n get icdF() {\r\n return this.icdForm.controls;\r\n }\r\n\r\n EndSession() {\r\n const appointmentData = {\r\n id: this.appointmentId,\r\n status: \"COMPLETED\",\r\n };\r\n this.dialogService\r\n .confirm(\r\n \"Are you sure you want to end this session? Have you saved your SOAP notes and other important information?\"\r\n )\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.schedulerService\r\n .updateAppointmentStatus(appointmentData)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify(\r\n \"success\",\r\n \"All data has been saved successfully, your appointment is marked completed.\"\r\n );\r\n this.router.navigate([\"/web/my-appointments\"]);\r\n } else {\r\n }\r\n });\r\n } else {\r\n }\r\n });\r\n }\r\n\r\n call() {\r\n // console.log(\"1 Call method called from check page\");\r\n // this.commonService.videoSession(false);\r\n localStorage.setItem(\"called_\" + this.appointmentId, \"true\");\r\n setTimeout(function () {\r\n window.scroll({\r\n top: 320,\r\n left: 0,\r\n behavior: \"smooth\",\r\n });\r\n }, 2000);\r\n this.appService\r\n .getCallInitiate(this.appointmentId, this.userId)\r\n .subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n let callInitModel: CallInitModel = new CallInitModel();\r\n callInitModel.AppointmentId = this.appointmentId;\r\n callInitModel.CallStatus = CallStatus.Picked;\r\n this.appService.CheckCallStarted(callInitModel);\r\n }\r\n this.getTelehealthSessionAnnCall();\r\n });\r\n // let divVideoTool = document.getElementById(\"divVideoTool\");\r\n // if (divVideoTool != undefined) {\r\n // let videoTool = document.getElementsByClassName(\"video-tool\");\r\n // if (videoTool != undefined && videoTool.length > 0) {\r\n // var position = divVideoTool.getBoundingClientRect();\r\n // videoTool[0].setAttribute(\"style\", \"left:\" + position.left + \"px;\");\r\n // }\r\n // }\r\n\r\n // if (this.patientAppointmentDetails && !localStorage.getItem(\"otSession\")) {\r\n // this.encounterService\r\n // .getTelehealthSession(this.appointmentId)\r\n // .subscribe((response) => {\r\n // if (response.statusCode == 200) {\r\n // var otSession = this.commonService.encryptValue(\r\n // JSON.stringify(response.data)\r\n // );\r\n\r\n // console.log(\"session=\" + JSON.stringify(response.data));\r\n // //let videoTool = document.getElementsByClassName(\"video-tool\");\r\n // //videoTool[0].classList.remove(\"video-tool-hide\");\r\n // localStorage.setItem(\"otSession\", otSession);\r\n // this.commonService.videoSession(true);\r\n // this.otSessionId = response.data.id;\r\n // // const config = {\r\n // // API_KEY: +response.data.apiKey,\r\n // // TOKEN: response.data.token,\r\n // // SESSION_ID: response.data.sessionID,\r\n // // SAMPLE_SERVER_BASE_URL: \"\"\r\n // // };\r\n // //this.getSession(config);\r\n // }\r\n // });\r\n // }\r\n\r\n // this.commonService.callStartStopSubject.next(true);\r\n // localStorage.setItem(\"isCallStart\", \"true\");\r\n }\r\n\r\n getTelehealthSessionAnnCall = () => {\r\n this.encounterService\r\n .getTelehealthSession(this.appointmentId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n var otSession = this.commonService.encryptValue(\r\n JSON.stringify(response.data)\r\n );\r\n\r\n // console.log(\"session=\" + JSON.stringify(response.data));\r\n //let videoTool = document.getElementsByClassName(\"video-tool\");\r\n //videoTool[0].classList.remove(\"video-tool-hide\");\r\n localStorage.setItem(\"otSession\", otSession);\r\n this.commonService.videoSession(true);\r\n this.otSessionId = response.data.id;\r\n // const config = {\r\n // API_KEY: +response.data.apiKey,\r\n // TOKEN: response.data.token,\r\n // SESSION_ID: response.data.sessionID,\r\n // SAMPLE_SERVER_BASE_URL: \"\"\r\n // };\r\n //this.getSession(config);\r\n }\r\n });\r\n };\r\n\r\n onAudioVideoTest() {\r\n const modalPopup = this.dailog.open(VideoConsultationTestModalComponent, {\r\n hasBackdrop: true,\r\n width: \"55%\",\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.PatientTab = [\r\n // {\r\n // TabName: \"Letter Template\",\r\n // Component: MediCertificateComponent,\r\n // },\r\n {\r\n TabName: \"Letter Template\",\r\n Component: TemplateComponent,\r\n },\r\n {\r\n TabName: \"Vitals\",\r\n Component: VitalsComponent,\r\n },\r\n {\r\n TabName: \"Pre-Existing Medications\",\r\n Component: MedicationComponent,\r\n },\r\n {\r\n TabName: \"E-Prescription\",\r\n Component: PrescriptionComponent,\r\n },\r\n {\r\n TabName: \"Doctor Soap Notes\",\r\n Component: SoapNoteComponent,\r\n },\r\n {\r\n TabName: \"Documents\",\r\n Component: DocumentsComponent,\r\n },\r\n {\r\n TabName: \"ICD\",\r\n Component: IcdComponent,\r\n },\r\n {\r\n TabName: \"History\",\r\n Component: HistoryComponent,\r\n },\r\n {\r\n TabName: \"Insurance\",\r\n Component: ClientInsuranceComponent,\r\n },\r\n // {\r\n // TabName: \"Health Plan Coverage\",\r\n // Component: HealthPlanCoverageComponent,\r\n // },\r\n {\r\n TabName: \"immunization\",\r\n Component: ImmunizationComponent,\r\n },\r\n {\r\n TabName: \"allergies\",\r\n Component: AllergiesComponent,\r\n },\r\n {\r\n TabName: \"Lab Referral\",\r\n Component: LabReferralComponent,\r\n },\r\n {\r\n TabName: \"Radiology Referral\",\r\n Component: RadiologyReferralComponent,\r\n },\r\n {\r\n TabName: \"User Invitaion\",\r\n Component: VideoCallInvitationComponent,\r\n },\r\n ];\r\n // this.PatientTab.forEach((tab) => {\r\n // tab.TranslatedName = this.translate.instant(tab.TabName); // Pre-translate TabName\r\n // });\r\n \r\n this.getMasterData();\r\n this.commonService.isDoctor.subscribe((val) => {\r\n if (val) {\r\n localStorage.removeItem(\"called_\" + this.appointmentId);\r\n }\r\n });\r\n this.commonService.isPatient.subscribe((isPatient) => {\r\n if (isPatient) {\r\n }\r\n });\r\n this.getIcdCodes();\r\n // console.log(\"3 ngoninit called from soap component\");\r\n this.icdForm = this.formBuilder.group({\r\n icdName: [\"\"],\r\n icdComment: [\"\"],\r\n });\r\n\r\n let fullName = \"\";\r\n if (localStorage.getItem(\"access_token\")) {\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n let userInfo: any;\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n userInfo = user.patientData;\r\n fullName = userInfo.lastName + \" \" + userInfo.firstName;\r\n } else {\r\n userInfo = user.data;\r\n fullName = \"Dr. \" + userInfo.lastName + \" \" + userInfo.firstName;\r\n }\r\n } else {\r\n }\r\n });\r\n }\r\n this.getCheckInNotesByAppointmentID(this.appointmentId);\r\n this.initilizeFormValues();\r\n this.getAppConfigurations();\r\n this.userDisplayName = \"Provider\";\r\n\r\n this.getUserDocuments();\r\n let soapnotesData = localStorage.getItem(\"soapnotesData\");\r\n const _soapnotesData = JSON.parse(soapnotesData);\r\n if (\r\n _soapnotesData != null &&\r\n _soapnotesData.appointmentId == this.appointmentId\r\n ) {\r\n this.getCheckInNotesByAppointmentID(this.appointmentId);\r\n this.getMasterTemplatesfortemp(\r\n _soapnotesData.encounterId,\r\n _soapnotesData.masterTemplateId\r\n );\r\n }\r\n var localItem = localStorage.getItem(\"callPicked\");\r\n if (localItem == \"yes\") {\r\n this.getTelehealthSessionAnnCall();\r\n // this.commonService.callStartStopShareSubject.subscribe((res: any) => {\r\n\r\n // this.callStartStop = res;\r\n // });\r\n }\r\n\r\n // if(this.isProvider){\r\n // this.convertImage(this.providerSignatureUrl);\r\n // }\r\n }\r\n\r\n getMasterTemplatesfortemp(encounterId: any, id: any) {\r\n this.encounterService\r\n .getTemplateForm(encounterId, id)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.showFormioDiv = true;\r\n // this.openTemplateForm(response.data, id);\r\n let formJson = { components: [] },\r\n formData = { data: {} };\r\n try {\r\n formJson = JSON.parse(response.data.templateJson);\r\n formData = JSON.parse(response.data.templateData);\r\n } catch (err) { }\r\n\r\n this.encounterTemplateId = response.data.id || null;\r\n this.jsonFormData = response.data.templateJson\r\n ? formJson\r\n : this.jsonFormData;\r\n this.templateFormName = response.data.templateName || \"\";\r\n this.initialFormValues = response.data.templateData\r\n ? formData\r\n : this.initialFormValues;\r\n this.templateFormId = id;\r\n //this.encounterId = data.encounterId;\r\n // this.encounterTemplateId = response.data.id || null;\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n loadComponent(eventType: any): any {\r\n// debugger\r\n const selectedTab = this.PatientTab.find(\r\n (x) => (x.TabName.toLowerCase().trim()) === eventType.tab.textLabel.toLowerCase().trim()\r\n );\r\n if (selectedTab) {\r\n this.loadChild(selectedTab.TabName);\r\n }\r\n }\r\n loadChild(childName: string) {\r\n debugger\r\n let factory: any;\r\n factory = this.cfr.resolveComponentFactory(\r\n this.PatientTab.find((x) => x.TabName == childName).Component\r\n );\r\n this.tabContent.clear();\r\n let comp: ComponentRef =\r\n this.tabContent.createComponent(factory);\r\n\r\n comp.instance.encryptedPatientId = this.encrytPatientId;\r\n comp.instance.encryptedPatientUserId = this.encrytPatientUserId;\r\n comp.instance.appointmentId = this.appointmentId;\r\n console.log(\"this appointment id\", this.appointmentId)\r\n }\r\n\r\n selectChangeHandler = (event) => {\r\n this.selectPatientOption = event.value;\r\n };\r\n\r\n initilizeFormValues() {\r\n const currentDate = new Date();\r\n const previousWeekDate = addDays(currentDate, -7);\r\n\r\n this.vitalForm = this.formBuilder.group({\r\n id: [this.vitalModel.id],\r\n patientID: [this.vitalModel.patientID],\r\n bmi: [this.vitalModel.bmi],\r\n bpDiastolic: [\r\n this.vitalModel.bpDiastolic,\r\n {\r\n asyncValidators: [this.validateBpdystolic.bind(this)],\r\n },\r\n ],\r\n bpSystolic: [\r\n this.vitalModel.bpSystolic,\r\n {\r\n asyncValidators: [this.validateBpsystolic.bind(this)],\r\n },\r\n ],\r\n heartRate: [\r\n this.vitalModel.heartRate,\r\n {\r\n asyncValidators: [this.validateHeartRate.bind(this)],\r\n },\r\n ],\r\n heightIn: [\r\n this.vitalModel.heightIn,\r\n {\r\n asyncValidators: [this.validateHeight.bind(this)],\r\n },\r\n ],\r\n pulse: [\r\n this.vitalModel.pulse,\r\n {\r\n asyncValidators: [this.validatePulse.bind(this)],\r\n },\r\n ],\r\n respiration: [\r\n this.vitalModel.respiration,\r\n {\r\n asyncValidators: [this.validateRespiration.bind(this)],\r\n },\r\n ],\r\n temperature: [\r\n this.vitalModel.temperature,\r\n {\r\n asyncValidators: [this.validateTemperature.bind(this)],\r\n },\r\n ],\r\n vitalDate: [this.vitalModel.vitalDate],\r\n weightLbs: [\r\n this.vitalModel.weightLbs,\r\n {\r\n asyncValidators: [this.validateWeight.bind(this)],\r\n },\r\n ],\r\n });\r\n\r\n this.soapForm = this.formBuilder.group({\r\n subjective: [\"\"],\r\n objective: [\"\"],\r\n assessment: [\"\"],\r\n plans: [\"\"],\r\n fromDate: [previousWeekDate],\r\n toDate: [currentDate],\r\n });\r\n this.medicationAddForm = this.formBuilder.group({\r\n id: [],\r\n patientId: this.patientId,\r\n dose: [],\r\n endDate: [],\r\n frequencyID: [],\r\n medicine: [],\r\n startDate: [],\r\n strength: [],\r\n });\r\n this.patientencounternotesForm = this.formBuilder.group({\r\n encounternotes: [],\r\n });\r\n\r\n // console.log(\"Initilize form values end\");\r\n }\r\n get formControls() {\r\n return this.soapForm.controls;\r\n }\r\n\r\n onBackClick() {\r\n localStorage.removeItem(\"called_\" + this.appointmentId);\r\n this.router.navigate([\r\n \"/web/waiting-room/check-in-call/\" + this.appointmentId,\r\n ]);\r\n }\r\n getICDONChange = (e) => {\r\n this.encounterService\r\n .getMasterICDOnSearch(this.ICDName, 0)\r\n .subscribe((res) => {\r\n this.masterICD = res.data;\r\n });\r\n };\r\n\r\n icdChangeHandler = (item) => {\r\n this.IcdComment = true;\r\n this.selectedIcdCode = item.id;\r\n // this.isSubmit=true;\r\n };\r\n\r\n OnSubmitICD = () => {\r\n if (this.selectedIcdCode) {\r\n this.isSubmit = true;\r\n const IcdData = {\r\n patientID: this.patientAppointmentDetails.patientID,\r\n iCDID: this.selectedIcdCode,\r\n // descriptions: this.ICDName,\r\n descriptions: this.icdForm.controls[\"icdComment\"].value,\r\n appointmentId: this.appointmentId,\r\n };\r\n this.encounterService.savePatientIcd(IcdData).subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.isSubmit = false;\r\n // this.ICDName = res.data.descriptions;\r\n // this.icdForm.controls[\"icdComment\"].setValue(res.data.descriptions);\r\n this.isSubmit = false;\r\n this.getIcdCodes();\r\n this.getSoapNoteICDPatientPlanByAppId();\r\n this.notifier.notify(\"success\", res.message);\r\n } else {\r\n this.isSubmit = false;\r\n this.notifier.notify(\"error\", res.message);\r\n }\r\n });\r\n } else {\r\n this.notifier.notify(\"warn\", \"Please enter a valid ICD input.\");\r\n }\r\n };\r\n\r\n onNavigate(url: string) {\r\n const clientId =\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.patientID;\r\n const aptId = this.appointmentId;\r\n if (aptId) {\r\n this.router.navigate([url], {\r\n queryParams: { aptid: this.commonService.encryptValue(aptId, true) },\r\n });\r\n }\r\n if (clientId)\r\n this.router.navigate([url], {\r\n queryParams: { id: this.commonService.encryptValue(clientId, true) },\r\n });\r\n }\r\n\r\n checkIsRequiredSigned() {\r\n let employee_signRequired = false,\r\n client_signRequired = false,\r\n guardian_signRequired = false;\r\n if (this.appConfiguration && this.appConfiguration.length) {\r\n this.appConfiguration.forEach((Obj) => {\r\n if (Obj.configType === 1) {\r\n switch (Obj.key) {\r\n case \"CLINICIAN_SIGN\":\r\n employee_signRequired =\r\n Obj.value.toString().toLowerCase() === \"true\";\r\n break;\r\n case \"PATIENT_SIGN\":\r\n client_signRequired =\r\n Obj.value.toString().toLowerCase() === \"true\";\r\n break;\r\n case \"GUARDIAN_SIGN\":\r\n guardian_signRequired =\r\n Obj.value.toString().toLowerCase() === \"true\";\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n let employee_Signed = true,\r\n client_signed = true,\r\n guardian_signed = true;\r\n if (employee_signRequired) {\r\n if (this.isEmployeeSigned) {\r\n employee_Signed = true;\r\n } else {\r\n employee_Signed = false;\r\n }\r\n }\r\n if (client_signRequired) {\r\n if (this.isClientSigned) {\r\n client_signed = true;\r\n } else {\r\n client_signed = false;\r\n }\r\n }\r\n if (guardian_signRequired) {\r\n if (this.isGuardianSigned) {\r\n guardian_signed = true;\r\n } else {\r\n guardian_signed = false;\r\n }\r\n }\r\n // finally check if all required are signed ...\r\n if (employee_Signed) {\r\n //&& client_signed && guardian_signed) {\r\n this.isAllSigned = true;\r\n } else {\r\n this.isAllSigned = false;\r\n }\r\n }\r\n get vitalFormControls() {\r\n return this.vitalForm.controls;\r\n }\r\n get vitalValidation() {\r\n return (\r\n !this.vitalFormControls.heightIn.value &&\r\n !this.vitalFormControls.weightLbs.value &&\r\n !this.vitalFormControls.heartRate.value &&\r\n !this.vitalFormControls.bpSystolic.value &&\r\n !this.vitalFormControls.bpDiastolic.value &&\r\n !this.vitalFormControls.pulse.value &&\r\n !this.vitalFormControls.respiration.value &&\r\n !this.vitalFormControls.temperature.value\r\n );\r\n }\r\n\r\n\r\n async convertImage(imageUrl: string) {\r\n\r\n try {\r\n this.providerSignBase64 = await this.convertImageUrlToBytes(imageUrl);\r\n // console.log(\"the result in byte\", this.providerSignBase64);\r\n // console.log(\"staff details : \", this.staffDetails);\r\n const staffsList = [\r\n {\r\n id: this.staffDetails && this.staffDetails.staffId,\r\n value: this.staffDetails && this.staffDetails.staffName,\r\n },\r\n ];\r\n\r\n if (this.providerSignBase64 != \"\") {\r\n if (this.isProvider) {\r\n this.signatoryLists = [\"Employee\"]\r\n const result = {\r\n 'Signatory': \"Employee\",\r\n 'name': this.staffDetails.staffName,\r\n 'bytes': this.providerSignBase64,\r\n }\r\n this.employeeSign = {\r\n ...this.employeeSign,\r\n date: format(new Date(), \"YYYY-MM-DDTHH:mm:ss\"),\r\n name: result.name,\r\n bytes: result.bytes\r\n };\r\n // console.log(\"this.employeeSign\", this.employeeSign);\r\n // this.saveSignature(\r\n // this.employeeSign.id,\r\n // this.employeeSign,\r\n // null,\r\n // null\r\n // );\r\n }\r\n }\r\n\r\n } catch (error) {\r\n // console.error('Error converting image:', error);\r\n }\r\n }\r\n\r\n\r\n\r\n convertImageUrlToBytes(imageUrl: string): Promise {\r\n imageUrl = `/staffs/GetStaffSignature?url=${imageUrl}`;\r\n return this.commonService.getImageFromServer(imageUrl)\r\n .toPromise()\r\n .then((res) => {\r\n //console.log(\"file returned by server : \" , res)\r\n return res.data != \"\" ? res.data : \"\";\r\n });\r\n\r\n\r\n }\r\n\r\n openSignDialog() {\r\n const staffsList = [\r\n {\r\n id: this.staffDetails && this.staffDetails.staffId,\r\n value: this.staffDetails && this.staffDetails.staffName,\r\n },\r\n ];\r\n const clientDetails = {\r\n id:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.patientID,\r\n value:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.patientName,\r\n };\r\n\r\n\r\n const modalPopup = this.signDailog.open(SignDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffsList,\r\n clientDetails,\r\n // SignatoryLists: [\"Employee\", \"Client\", \"Guardian\"],\r\n SignatoryLists: [\"Client\", \"Guardian\"],\r\n },\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result) {\r\n // console.log(\"this.employeeSign before\", this.employeeSign);\r\n switch ((result.Signatory || \"\").toUpperCase()) {\r\n\r\n case \"EMPLOYEE\":\r\n this.employeeSign = {\r\n ...this.employeeSign,\r\n date: format(new Date(), \"YYYY-MM-DDTHH:mm:ss\"),\r\n name: result.name,\r\n bytes: (result.bytes || \"\").split(\",\")[1],\r\n };\r\n // console.log(\"this.employeeSign\", this.employeeSign);\r\n this.saveSignature(\r\n this.employeeSign.id,\r\n this.employeeSign,\r\n null,\r\n null\r\n );\r\n break;\r\n case \"CLIENT\":\r\n this.patientSign = {\r\n ...this.patientSign,\r\n date: format(new Date(), \"YYYY-MM-DDTHH:mm:ss\"),\r\n name: result.name,\r\n bytes: (result.bytes || \"\").split(\",\")[1],\r\n };\r\n this.saveSignature(\r\n this.patientSign.id,\r\n null,\r\n this.patientSign,\r\n null\r\n );\r\n break;\r\n case \"GUARDIAN\":\r\n this.guardianSign = {\r\n ...this.guardianSign,\r\n date: format(new Date(), \"YYYY-MM-DDTHH:mm:ss\"),\r\n name: result.name,\r\n bytes: (result.bytes || \"\").split(\",\")[1],\r\n };\r\n this.saveSignature(\r\n this.guardianSign.id,\r\n null,\r\n null,\r\n this.guardianSign\r\n );\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n onSubmitTemplate(event: any) {\r\n // ;\r\n const jsonData = {\r\n id: 0,\r\n templateData: JSON.stringify(event),\r\n masterTemplateId: this.templateFormId,\r\n patientEncounterId: this.encounterId,\r\n };\r\n let postData: Array = [];\r\n postData.push(jsonData);\r\n\r\n this.isSubmitted = true;\r\n\r\n this.onSubmit(postData);\r\n }\r\n\r\n get addFormControls() {\r\n return this.medicationAddForm.controls;\r\n }\r\n getMasterData() {\r\n let data = \"FREQUENCYTYPE\";\r\n this.clientService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterFrequencyType =\r\n response.masterFrequencyType != null\r\n ? response.masterFrequencyType\r\n : [];\r\n }\r\n });\r\n }\r\n\r\n getMedicationByAppointmentId() {\r\n this.clientService\r\n .getmedicationByAppointmentId(this.appointmentId)\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n // console.log(\"getmedicationByAppointmentId\", response);\r\n this.medicationModel = response.data != null ? response.data : [];\r\n this.medicationAddForm = this.formBuilder.group({\r\n id: [this.medicationModel.id],\r\n patientId: this.patientId,\r\n dose: [this.medicationModel.dose],\r\n endDate: [this.medicationModel.endDate],\r\n frequencyID: [this.medicationModel.frequencyID],\r\n medicine: [this.medicationModel.medicine],\r\n startDate: [this.medicationModel.startDate],\r\n strength: [this.medicationModel.strength],\r\n });\r\n }\r\n });\r\n }\r\n\r\n getVitalByAppointmentId() {\r\n this.clientService\r\n .getVitalByAppointmentId(this.appointmentId)\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n // console.log(\"getVitalByAppointmentId\", response);\r\n this.vitalModel = response.data != null ? response.data : [];\r\n\r\n this.vitalForm = this.formBuilder.group({\r\n id: [this.vitalModel.id],\r\n patientID: [this.vitalModel.patientID],\r\n bmi: [this.vitalModel.bmi],\r\n bpDiastolic: [\r\n this.vitalModel.bpDiastolic,\r\n {\r\n asyncValidators: [this.validateBpdystolic.bind(this)],\r\n },\r\n ],\r\n bpSystolic: [\r\n this.vitalModel.bpSystolic,\r\n {\r\n asyncValidators: [this.validateBpsystolic.bind(this)],\r\n },\r\n ],\r\n heartRate: [\r\n this.vitalModel.heartRate,\r\n {\r\n asyncValidators: [this.validateHeartRate.bind(this)],\r\n },\r\n ],\r\n heightIn: [\r\n this.vitalModel.heightIn,\r\n {\r\n asyncValidators: [this.validateHeight.bind(this)],\r\n },\r\n ],\r\n pulse: [\r\n this.vitalModel.pulse,\r\n {\r\n asyncValidators: [this.validatePulse.bind(this)],\r\n },\r\n ],\r\n respiration: [\r\n this.vitalModel.respiration,\r\n {\r\n asyncValidators: [this.validateRespiration.bind(this)],\r\n },\r\n ],\r\n temperature: [\r\n this.vitalModel.temperature,\r\n {\r\n asyncValidators: [this.validateTemperature.bind(this)],\r\n },\r\n ],\r\n vitalDate: [this.vitalModel.vitalDate],\r\n weightLbs: [\r\n this.vitalModel.weightLbs,\r\n {\r\n asyncValidators: [this.validateWeight.bind(this)],\r\n },\r\n ],\r\n });\r\n }\r\n });\r\n }\r\n onSubmitMedicationForm(event: any) {\r\n if (!this.medicationAddForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submittedMedicationForm = true;\r\n this.medicationModel = this.medicationAddForm.value;\r\n this.medicationModel.patientId = this.patientId;\r\n this.medicationModel.appointmentId = this.appointmentId;\r\n this.clientService\r\n .createMedication(this.medicationModel)\r\n .subscribe((response: any) => {\r\n this.submittedMedicationForm = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n onSubmit(formioData: any) {\r\n //\r\n if (this.soapForm.invalid) {\r\n return null;\r\n }\r\n const postData = {\r\n PatientAppointmentId: this.appointmentId,\r\n PatientEncounterTemplate: formioData,\r\n };\r\n // console.log(\"onSubmit postData:\", postData); // Debugging log\r\n if (this.isProvider) {\r\n this.convertImage(this.providerSignatureUrl);\r\n }\r\n this.savePatientEncounter(postData);\r\n }\r\n\r\n get formControlsPatientNotes() {\r\n return this.patientencounternotesForm.controls;\r\n }\r\n\r\n getCheckInNotesByAppointmentID(id: any) {\r\n this.encounterService.getCheckInNotesByAppointmentID(id).subscribe(\r\n (res) => {\r\n this.patientNotesForm.encounternotes = res.data.encounterNotes;\r\n this.ICDName = res.data.descriptions;\r\n },\r\n (error) => {\r\n // console.log(error);\r\n }\r\n );\r\n }\r\n onSubmitPatientNotes(event: any) {\r\n let clickType = event.currentTarget.name;\r\n this.patientencounternotesmodel = new PatientEncounterNotesModel();\r\n this.patientencounternotesmodel.patientID = this.clientId;\r\n this.patientencounternotesmodel.StaffId = this.staffDetails.staffId;\r\n this.patientencounternotesmodel.AppointmentID = this.appointmentId;\r\n this.patientencounternotesmodel.encounterNotes =\r\n this.patientNotesForm.encounternotes;\r\n this.encounterService\r\n .savePatientEncounterNotes(this.patientencounternotesmodel)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.patientNotesForm.encounternotes = response.data.encounterNotes;\r\n this.notifier.notify(\"success\", response.message);\r\n this.getSoapNoteICDPatientPlanByAppId();\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n //}\r\n }\r\n getAppConfigurations() {\r\n this.encounterService.getAppConfigurations().subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.appConfiguration = response.data || [];\r\n } else {\r\n this.appConfiguration = [];\r\n }\r\n this.checkIsRequiredSigned();\r\n });\r\n }\r\n\r\n getPatientEncounterDetails() {\r\n this.encounterService\r\n .GetPatientEncounterDetails(this.appointmentId, this.encounterId, false)\r\n .subscribe(async (response) => {\r\n // console.log(response);\r\n if (response.statusCode == 200) {\r\n this.patientEncounterDiagnosisCodes =\r\n response.data.patientEncounterDiagnosisCodes || [];\r\n this.patientEncounterServiceCodes =\r\n response.data.patientEncounterServiceCodes || [];\r\n\r\n let patientDetails = await this.getClientById(\r\n response.data.patientAppointment.patientID\r\n );\r\n this.encrytPatientId = this.commonService.encryptValue(\r\n response.data.patientAppointment.patientID,\r\n true\r\n );\r\n\r\n this.encrytPatientUserId = this.commonService.encryptValue(\r\n patientDetails.data.userID,\r\n true\r\n );\r\n\r\n this.encryptedAppointmentId = this.commonService.encryptValue(\r\n this.appointmentId,\r\n true\r\n );\r\n this.patientAppointmentDetails =\r\n response.data.patientAppointment || [];\r\n this.clientId =\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.patientID;\r\n\r\n this.appointmentMode = this.patientAppointmentDetails.mode;\r\n\r\n if (\r\n new Date(this.patientAppointmentDetails.endDateTime) < new Date()\r\n ) {\r\n this.isEnded = true;\r\n } else if (\r\n new Date(this.patientAppointmentDetails.startDateTime) < new Date()\r\n ) {\r\n this.isStarted = true;\r\n this.isShowTimer = false;\r\n } else {\r\n this.isShowTimer = true;\r\n }\r\n\r\n this.soapNotes = response.data.soapNotes || null;\r\n this.encounterSignature = response.data.encounterSignature || [];\r\n this.unitsConsumed = response.data.unitsConsumed;\r\n this.patientEncounterTemplate =\r\n response.data.patientEncounterTemplate || [];\r\n\r\n this.isSoapCompleted =\r\n (response.data.status || \"\").toUpperCase() == \"RENDERED\";\r\n this.istelehealthappt =\r\n this.patientAppointmentDetails.isTelehealthAppointment;\r\n this.filterDetails();\r\n this.loadChild(\"Letter Template\");\r\n } else {\r\n this.patientEncounterDiagnosisCodes = [];\r\n this.patientEncounterServiceCodes = [];\r\n this.patientAppointmentDetails = null;\r\n this.soapNotes = null;\r\n this.encounterSignature = [];\r\n this.unitsConsumed = 0;\r\n this.isSoapCompleted = false;\r\n }\r\n if (this.encounterId) {\r\n this.getTemplateForm(this.templateFormId);\r\n }\r\n // var localItem = localStorage.getItem(\"callPicked\");\r\n // if (localItem == \"yes\") {\r\n // // console.log(\"10 call initiate called from video call\");\r\n // // console.log(\"call initiated from here\");\r\n // console.log(\"appointmentid=\" + this.appointmentId, this.userId);\r\n // this.call();\r\n // }\r\n });\r\n }\r\n\r\n async getClientById(patientId: any) {\r\n return this.clientService.getClientById(patientId).toPromise();\r\n }\r\n\r\n filterDetails() {\r\n if (this.patientAppointmentDetails) {\r\n const { appointmentStaffs, endDateTime, startDateTime } =\r\n this.patientAppointmentDetails;\r\n if (appointmentStaffs && appointmentStaffs.length) {\r\n this.staffDetails = appointmentStaffs[0];\r\n }\r\n this.appointmentStartTime = `${format(startDateTime, \"hh:mm a\")}`;\r\n this.appointmentEndTime = `${format(endDateTime, \"hh:mm a\")}`;\r\n\r\n if (this.patientAppointmentDetails.patientID)\r\n this.getClientHeaderInfo(this.patientAppointmentDetails.patientID);\r\n }\r\n\r\n if (this.soapNotes) {\r\n this.soapForm.patchValue({ ...this.soapNotes });\r\n }\r\n\r\n if (this.encounterSignature && this.encounterSignature.length) {\r\n this.encounterSignature.forEach((signObj) => {\r\n if (signObj.guardianSign) {\r\n let data = {\r\n id: signObj.id,\r\n bytes: signObj.guardianSign,\r\n date: signObj.guardianSignDate,\r\n name: signObj.guardianName,\r\n };\r\n this.isGuardianSigned = true;\r\n this.guardianSign = data;\r\n }\r\n if (signObj.patientSign) {\r\n let data = {\r\n id: signObj.id,\r\n bytes: signObj.patientSign,\r\n date: signObj.patientSignDate,\r\n name:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.patientName,\r\n };\r\n this.isClientSigned = true;\r\n this.patientSign = data;\r\n }\r\n if (signObj.clinicianSign) {\r\n let data = {\r\n id: signObj.id,\r\n bytes: signObj.clinicianSign,\r\n date: signObj.clinicianSignDate,\r\n name: this.staffDetails && this.staffDetails.staffName,\r\n };\r\n this.isEmployeeSigned = true;\r\n this.employeeSign = data;\r\n }\r\n });\r\n }\r\n this.checkIsRequiredSigned();\r\n this.getSoapNoteICDPatientPlanByAppId();\r\n }\r\n\r\n savePatientEncounter(postData: any, isAdmin: boolean = false) {\r\n //\r\n // console.log(\"4 savepatientencounter called from soap component\", postData);\r\n var model = {\r\n id: this.patientEncounterDetails.patientEncounterTemplateId,\r\n patientAppointmentId: postData.PatientAppointmentId,\r\n masterTemplateId: postData.PatientEncounterTemplate[0].masterTemplateId,\r\n templateData: postData.PatientEncounterTemplate[0].templateData,\r\n };\r\n this.submitted = true;\r\n this.encounterService\r\n .SavePatientAppointmentEncounters(model, isAdmin)\r\n .subscribe((response) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifierService.notify(\"success\", response.message);\r\n //this.getSoapNoteICDPatientPlanByAppId();\r\n //\r\n if (!this.encounterId) {\r\n this.encounterId = response.data.id || 0;\r\n const soapnotesData = {\r\n id: response.data.patientEncounterTemplate[0].id,\r\n appointmentId: this.appointmentId,\r\n encounterId: response.data.id,\r\n masterTemplateId:\r\n response.data.patientEncounterTemplate[0].masterTemplateId,\r\n templateData:\r\n response.data.patientEncounterTemplate[0].templateData,\r\n };\r\n this.encounterId = response.data.id;\r\n localStorage.setItem(\r\n \"soapnotesData\",\r\n JSON.stringify(soapnotesData)\r\n );\r\n // console.log(\"Updated soapnotesData:\", soapnotesData); // Debugging log\r\n\r\n // this.router.navigate([\"/web/encounter/soap\"], {\r\n // queryParams: {\r\n // apptId: this.appointmentId,\r\n // encId: this.encounterId,\r\n // },\r\n // });\r\n //this.router.navigate([\"/web/waiting-room/\" + this.appointmentId]);\r\n // this.router.navigate([\"/web/waiting-room/\"+this.appointmentId]);\r\n } else {\r\n this.isSoapCompleted = true;\r\n let isPatient: boolean = false;\r\n this.commonService.isPatient.subscribe((isPatient) => {\r\n // if (!isPatient) this.router.navigate([\"/web/scheduling\"]);\r\n // else this.router.navigate([\"/web/client/my-scheduling\"]);\r\n if (!isPatient) {\r\n this.checkAndNavigate(\"/web/scheduling\");\r\n } else if (response.data.id) {\r\n this.router.navigate([\r\n \"/web/waiting-room/\" + this.appointmentId,\r\n ]);\r\n } else {\r\n this.router.navigate([\"/web/client/my-scheduling\"]);\r\n }\r\n });\r\n //this.createClaim(this.encounterId);\r\n }\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n checkAndNavigate(route: string): void {\r\n if (this.router.config.some((r) => r.path === route)) {\r\n this.router.navigate([route]).then((data) => {\r\n // console.log(\"Route exists, redirection is done\");\r\n });\r\n } else {\r\n this.router.navigate([\r\n \"/web/waiting-room/check-in-soap/\" + this.appointmentId,\r\n ]);\r\n // console.log(\"Route not found, redirection stopped with no error raised\");\r\n }\r\n }\r\n\r\n saveSignature(id = 0, employeeSign, patientSign, guradianSign) {\r\n // console.log(\"saving signature method parameters\", id);\r\n // console.log(\"employeeSign\", employeeSign)\r\n let postData = {\r\n id: id,\r\n patientEncounterId: this.encounterId,\r\n patientId: patientSign\r\n ? this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.patientID\r\n : null,\r\n patientSign: patientSign ? patientSign.bytes : null,\r\n patientSignDate: patientSign ? patientSign.date : null,\r\n staffId: employeeSign\r\n ? this.staffDetails && this.staffDetails.staffId\r\n : null,\r\n clinicianSign: employeeSign ? employeeSign.bytes : null,\r\n clinicianSignDate: employeeSign ? employeeSign.date : null,\r\n guardianName: guradianSign ? guradianSign.name : null,\r\n guardianSign: guradianSign ? guradianSign.bytes : null,\r\n guardianSignDate: guradianSign ? guradianSign.date : null,\r\n };\r\n this.submittedSign = true;\r\n this.encounterService\r\n .saveEncounterSignature(postData)\r\n .subscribe((response) => {\r\n this.submittedSign = false;\r\n if (response.statusCode == 200) {\r\n this.notifierService.notify(\"success\", response.message);\r\n let signObj = response.data;\r\n if (signObj.guardianSign) {\r\n this.guardianSign = {\r\n ...this.guardianSign,\r\n id: signObj.id,\r\n };\r\n this.isGuardianSigned = true;\r\n }\r\n if (signObj.patientSign) {\r\n this.patientSign = {\r\n ...this.patientSign,\r\n id: signObj.id,\r\n };\r\n this.isClientSigned = true;\r\n }\r\n if (signObj.clinicianSign) {\r\n this.employeeSign = {\r\n ...this.employeeSign,\r\n id: signObj.id,\r\n };\r\n this.isEmployeeSigned = true;\r\n }\r\n this.checkIsRequiredSigned();\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n createClaim(encounterId: number, isAdmin: boolean = false) {\r\n this.encounterService\r\n .createClaim(encounterId, isAdmin)\r\n .subscribe((response) => {\r\n if (response.statusCode == 1) {\r\n this.notifierService.notify(\"success\", response.message);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n getClientHeaderInfo(patientID: number) {\r\n this.encounterService\r\n .getClientHeaderInfo(patientID)\r\n .subscribe((response: any) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.clientHeaderModel = response.data;\r\n this.patientId =\r\n this.clientHeaderModel.patientBasicHeaderInfo.patientID;\r\n // console.log(\"Client header model\", this.clientHeaderModel);\r\n this.clientHeaderModel.patientBasicHeaderInfo != null\r\n ? (this.clientHeaderModel.patientBasicHeaderInfo.dob = format(\r\n this.clientHeaderModel.patientBasicHeaderInfo.dob,\r\n 'DD/MM/YYYY'\r\n ))\r\n : \"\";\r\n }\r\n });\r\n }\r\n\r\n getMasterTemplates() {\r\n // console.log(\"UserId in Mastertempates\", this.appointmentId);\r\n this.encounterService\r\n .getMasterTemplates(this.appointmentId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) this.masterTemplates = response.data;\r\n this.masterTemplates = response.data.filter(\r\n (x) => x.templateCategoryName.toLowerCase() == \"soap\"\r\n // ||\r\n // x.templateCategoryName.toLowerCase() == \"survey\"\r\n );\r\n });\r\n }\r\n\r\n GetMasterTemplateListByProvider() {\r\n this.encounterService\r\n .getMasterTemplates(this.appointmentId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.MasterTemplateListByProvider = response.data;\r\n this.MasterTemplateListByProvider = response.data.filter(\r\n (x) => x.templateCategoryName.toLowerCase() == \"survey\"\r\n // ||\r\n // x.templateCategoryName.toLowerCase() == \"survey\"\r\n );\r\n }\r\n });\r\n }\r\n\r\n onMastertemplateSelect(event: any) {\r\n this.templateIdFromDD = event.value;\r\n }\r\n getTemplateForm(event: any) {\r\n //\r\n const masterTempIdData = this.masterTemplates.filter(\r\n (ele) => ele.id == event.value\r\n );\r\n this.patientEncounterDetails = masterTempIdData[0];\r\n let formJson = { components: [] },\r\n formData = { data: {} };\r\n formJson = JSON.parse(masterTempIdData[0].templateJson);\r\n formData = masterTempIdData[0].templateData\r\n ? JSON.parse(masterTempIdData[0].templateData)\r\n : { data: {} };\r\n\r\n formJson.components.map((ele) => {\r\n if (formData.data.hasOwnProperty(ele.key)) {\r\n ele.value = formData.data[ele.key];\r\n }\r\n });\r\n\r\n // console.log({ formJson, formData });\r\n\r\n // Update component properties\r\n this.jsonFormData = formJson;\r\n this.initialFormValues = { data: formData.data };\r\n }\r\n\r\n // testing the method\r\n getTemplateFormForProvider(id: number, panelId: number) {\r\n this.encounterService\r\n .getTemplateForm(this.appointmentId, id)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.showFormioDiv = true;\r\n // this.openTemplateForm(response.data, id);\r\n let formJson = { components: [] },\r\n formData = { data: {} };\r\n try {\r\n formJson = JSON.parse(response.data.templateJson);\r\n formData = JSON.parse(response.data.templateData);\r\n } catch (err) { }\r\n\r\n this.encounterTemplateId = response.data.id || null;\r\n this.jsonFormDataProvider[panelId] = response.data.templateJson\r\n ? formJson\r\n : this.jsonFormData;\r\n this.templateFormName = response.data.templateName || \"\";\r\n this.initialFormValuesProvider[panelId] = response.data.templateData\r\n ? formData\r\n : this.initialFormValuesProvider[panelId];\r\n this.templateFormId = id;\r\n //this.encounterId = data.encounterId;\r\n // this.encounterTemplateId = response.data.id || null;\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n onStartVideoEncounterClick() {\r\n // console.log(\"5 onstartvideoencounterclick called from soap component\");\r\n this.router.navigate([\"/web/encounter/video-encounter\"], {\r\n queryParams: {\r\n templateIdFromDD: this.templateIdFromDD,\r\n encounterId: this.encounterId,\r\n appointmentId: this.appointmentId,\r\n },\r\n });\r\n }\r\n openTemplateForm(jsonFormData: any, templateId: number) {\r\n const modalPopup = this.signDailog.open(TemplateFormComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n templateId,\r\n encounterId: this.encounterId,\r\n ...jsonFormData,\r\n },\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result) {\r\n this.encounterService.saveTemplateData(result).subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.notifierService.notify(\"success\", response.message);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n PrintSOAP = () => {\r\n // console.log(\"print\");\r\n };\r\n getPreviousEncounters(patientId, fromDate, toDate) {\r\n this.encounterService\r\n .getPreviousEncounters(patientId, fromDate, toDate)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.previousEncounters = response.data;\r\n this.previousEncounterId = response.data.id;\r\n this.previousEncounters = (response.data || []).map((obj: any) => {\r\n obj.dateOfService = format(obj.dateOfService, \"dd/MM/yyyy hh:mm a\");\r\n return obj;\r\n });\r\n } else {\r\n this.previousEncounters = [];\r\n }\r\n });\r\n }\r\n getSelectedPreviousEncountersData(event: any) {\r\n this.previousEncounterId = event;\r\n this.encounterService\r\n .getPreviousEncountersData(this.previousEncounterId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n //this.previousEncounters=response.data;\r\n if (response.statusCode == 200) {\r\n this.isPreviousEncounter = true;\r\n this.encounterId = 0;\r\n this.soapNotes = response.data.soapNotes || null;\r\n this.patientEncounterTemplate =\r\n response.data.patientEncounterTemplate || [];\r\n this.templateFormId =\r\n (response.data.patientEncounterTemplate &&\r\n response.data.patientEncounterTemplate[0].masterTemplateId) ||\r\n 0;\r\n // this.filterDetails();\r\n } else {\r\n this.soapNotes = null;\r\n this.unitsConsumed = 0;\r\n this.isSoapCompleted = false;\r\n }\r\n if (this.previousEncounterId) {\r\n this.getTemplateForm(this.templateFormId);\r\n }\r\n }\r\n });\r\n }\r\n onResizing(event: ResizeEvent): boolean {\r\n const perValue =\r\n (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n if (perValue > 70 || perValue < 20) {\r\n return false;\r\n }\r\n this.renderer.setStyle(this.panel.nativeElement, \"width\", `${perValue}%`);\r\n // let SOAPPanel = this.encounterService.SOAPPanelRef;\r\n // if (this.SOAPPanel)\r\n // this.renderer.setStyle(this.SOAPPanel.nativeElement, 'margin-right', `${event.rectangle.width}px`)\r\n }\r\n onDragChat(event: any) {\r\n let bottom = this.panel.nativeElement.style.bottom,\r\n right = this.panel.nativeElement.style.right;\r\n\r\n (bottom = bottom.replace(\"px\", \"\")), (right = right.replace(\"px\", \"\"));\r\n (bottom = (parseInt(bottom) || 0) + -event.y),\r\n (right = (parseInt(right) || 0) + -event.x);\r\n this.renderer.setStyle(this.panel.nativeElement, \"bottom\", `${bottom}px`);\r\n this.renderer.setStyle(this.panel.nativeElement, \"right\", `${right}px`);\r\n }\r\n // onValidateResize(event: ResizeEvent): boolean {\r\n // let perValue = (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n // if (perValue > 70 || perValue < 20) {\r\n // return false;\r\n // }\r\n // return true;\r\n // }\r\n onValidateResize(event: ResizeEvent): boolean {\r\n // let perValue = (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n // const MIN_DIMENSIONS_PX: number = 50;\r\n // if (\r\n // event.rectangle.width &&\r\n // event.rectangle.height &&\r\n // (event.rectangle.width < MIN_DIMENSIONS_PX ||\r\n // event.rectangle.height < MIN_DIMENSIONS_PX) && (perValue > 70 || perValue < 20)\r\n // ) {\r\n // return false;\r\n // }\r\n return true;\r\n }\r\n onResizeEnd(event: ResizeEvent): void {\r\n this.style = {\r\n position: \"fixed\",\r\n left: `${event.rectangle.left}px`,\r\n top: `${event.rectangle.top}px`,\r\n width: `${event.rectangle.width}px`,\r\n height: `${event.rectangle.height}px`,\r\n // bottom: `${event.rectangle.bottom}px`,\r\n // right: `${event.rectangle.right}px`,\r\n };\r\n }\r\n\r\n onResizingVideo(event: ResizeEvent): boolean {\r\n const perValue =\r\n (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n if (perValue > 70 || perValue < 20) {\r\n return false;\r\n }\r\n this.renderer.setStyle(\r\n this.panelVideo.nativeElement,\r\n \"width\",\r\n `${perValue}%`\r\n );\r\n // let SOAPPanel = this.encounterService.SOAPPanelRef;\r\n // if (this.SOAPPanel)\r\n // this.renderer.setStyle(this.SOAPPanel.nativeElement, 'margin-right', `${event.rectangle.width}px`)\r\n }\r\n onDragVideo(event: any) {\r\n let bottom = this.panelVideo.nativeElement.style.bottom,\r\n right = this.panelVideo.nativeElement.style.right;\r\n\r\n (bottom = bottom.replace(\"px\", \"\")), (right = right.replace(\"px\", \"\"));\r\n (bottom = (parseInt(bottom) || 0) + -event.y),\r\n (right = (parseInt(right) || 0) + -event.x);\r\n this.renderer.setStyle(\r\n this.panelVideo.nativeElement,\r\n \"bottom\",\r\n `${bottom}px`\r\n );\r\n this.renderer.setStyle(\r\n this.panelVideo.nativeElement,\r\n \"right\",\r\n `${right}px`\r\n );\r\n }\r\n // onValidateResize(event: ResizeEvent): boolean {\r\n // let perValue = (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n // if (perValue > 70 || perValue < 20) {\r\n // return false;\r\n // }\r\n // return true;\r\n // }\r\n onValidateResizeVideo(event: ResizeEvent): boolean {\r\n // let perValue = (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n // const MIN_DIMENSIONS_PX: number = 50;\r\n // if (\r\n // event.rectangle.width &&\r\n // event.rectangle.height &&\r\n // (event.rectangle.width < MIN_DIMENSIONS_PX ||\r\n // event.rectangle.height < MIN_DIMENSIONS_PX) && (perValue > 70 || perValue < 20)\r\n // ) {\r\n // return false;\r\n // }\r\n return true;\r\n }\r\n onResizeVideoEnd(event: ResizeEvent): void {\r\n this.styleVideo = {\r\n position: \"fixed\",\r\n left: `${event.rectangle.left}px`,\r\n top: `${event.rectangle.top}px`,\r\n width: `${event.rectangle.width}px`,\r\n height: `${event.rectangle.height}px`,\r\n // bottom: `${event.rectangle.bottom}px`,\r\n // right: `${event.rectangle.right}px`,\r\n };\r\n }\r\n openDiagnosisDialog(id?: number) {\r\n if (id != null && id > 0) {\r\n this.diagnosisService.getDiagnosisById(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.diagnosisModel = response.data;\r\n this.createDiagnosisModal(this.diagnosisModel);\r\n }\r\n });\r\n } else {\r\n this.diagnosisModel = new DiagnosisModel();\r\n this.createDiagnosisModal(this.diagnosisModel);\r\n }\r\n }\r\n\r\n createDiagnosisModal(diagnosisModel: DiagnosisModel) {\r\n this.diagnosisModel.patientID = this.clientId;\r\n let diagnosisModal;\r\n diagnosisModal = this.diagnosisDialogModal.open(DiagnosisModalComponent, {\r\n data: {\r\n diagnosis: diagnosisModel,\r\n refreshGrid: this.refreshGrid.bind(this),\r\n },\r\n });\r\n diagnosisModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") this.getDiagnosisList();\r\n });\r\n }\r\n refreshGrid() {\r\n this.getDiagnosisList();\r\n }\r\n\r\n deleteDiagnosisCode(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this diagnosis?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.diagnosisService\r\n .deleteDiagnosis(id)\r\n .subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n if (response.statusCode == 200) {\r\n this.notifierService.notify(\"success\", response.message);\r\n this.getDiagnosisList();\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n getDiagnosisList() {\r\n this.diagnosisService\r\n .getSoapNoteDiagnosisList(this.clientId)\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response != null &&\r\n response.data != null &&\r\n response.data.length > 0\r\n ) {\r\n this.patientEncounterDiagnosisCodes = response.data;\r\n //this.diagnosisList = response.data;\r\n }\r\n });\r\n }\r\n\r\n // openServiceDialog(id?: number) {\r\n // if (id != null && id > 0) {\r\n // this.clientsService.getDiagnosisById(id).subscribe((response: any) => {\r\n // if (response != null && response.data != null) {\r\n // this.diagnosisModel = response.data;\r\n // this.createServiceModal(this.diagnosisModel);\r\n // }\r\n // });\r\n // } else {\r\n // this.diagnosisModel = new DiagnosisModel();\r\n // this.createServiceModal(this.diagnosisModel);\r\n // }\r\n // }\r\n\r\n // createServiceModal(diagnosisModel: DiagnosisModel) {\r\n // this.diagnosisModel.patientID = this.clientId;\r\n // let diagnosisModal;\r\n // // diagnosisModal = this.diagnosisDialogModal.open(DiagnosisModalComponent, {\r\n // // data: {\r\n // // diagnosis: diagnosisModel,\r\n // // refreshGrid: this.refreshServiceGrid.bind(this)\r\n // // }\r\n // // });\r\n // // diagnosisModal.afterClosed().subscribe((result: string) => {\r\n // // if (result == \"save\") this.getServiceList();\r\n // // });\r\n // }\r\n // refreshServiceGrid() {\r\n // this.getServiceList();\r\n // }\r\n\r\n // deleteServiceCode(id: number) {\r\n // this.dialogService\r\n // .confirm(\"Are you sure you want to delete this diagnosis?\")\r\n // .subscribe((result: any) => {\r\n // if (result == true) {\r\n // this.clientsService.deleteDiagnosis(id).subscribe((response: any) => {\r\n // if (response != null && response.data != null) {\r\n // if (response.statusCode == 200) {\r\n // this.notifierService.notify(\"success\", response.message);\r\n // this.getServiceList();\r\n // } else {\r\n // this.notifierService.notify(\"error\", response.message);\r\n // }\r\n // }\r\n // });\r\n // }\r\n // });\r\n // }\r\n // getServiceList() {\r\n // this.clientsService\r\n // .getSoapNoteDiagnosisList(this.clientId)\r\n // .subscribe((response: ResponseModel) => {\r\n // if (\r\n // response != null &&\r\n // response.data != null &&\r\n // response.data.length > 0\r\n // ) {\r\n // this.patientEncounterDiagnosisCodes = response.data;\r\n // //this.diagnosisList = response.data;\r\n // }\r\n // });\r\n // }\r\n openServiceDialog(id?: number): void {\r\n this.serviceCodeModal = {\r\n id: id || 0,\r\n };\r\n if (!this.serviceCodeModal.id) {\r\n this.createServiceModel(this.serviceCodeModal);\r\n }\r\n }\r\n createServiceModel(serviceCodeModal: ServiceCodeModal) {\r\n const serviceCodeModalPopup = this.serviceCodeDailog.open(\r\n AddServiceCodeModalComponent,\r\n {\r\n hasBackdrop: true,\r\n data: {\r\n serviceCodeModal: serviceCodeModal || new ServiceCodeModal(),\r\n refreshGrid: this.refreshServiceGrid.bind(this),\r\n },\r\n }\r\n );\r\n serviceCodeModalPopup.afterClosed().subscribe((result) => {\r\n // if (result === 'SAVE')\r\n // this.getServiceCodeListData()\r\n });\r\n }\r\n refreshServiceGrid(data: any) {\r\n let ServiceCodes: string;\r\n this.patientEncounterServiceCodes.push(data);\r\n ServiceCodes = this.patientEncounterServiceCodes\r\n .map((obj) => obj.serviceCodeId)\r\n .toString();\r\n\r\n this.encounterService\r\n .CheckServiceCodeAvailability(this.appointmentId, ServiceCodes)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n return this.notifierService.notify(\"success\", response.message);\r\n } else {\r\n this.patientEncounterServiceCodes;\r\n if (this.patientEncounterServiceCodes.length > 0) {\r\n this.patientEncounterServiceCodes.splice(\r\n this.patientEncounterServiceCodes.length - 1,\r\n 1\r\n );\r\n }\r\n return this.notifierService.notify(\"warning\", response.message);\r\n }\r\n });\r\n }\r\n deleteCPTCode(id: number) {\r\n this.patientEncounterServiceCodes.splice(id, 1);\r\n }\r\n\r\n openPatientEncounterNotesDialog(id?: number) {\r\n this.patientencounternotesmodel = new PatientEncounterNotesModel();\r\n this.createPatientEncounterNotesModal(this.patientencounternotesmodel);\r\n\r\n // if (id != null && id > 0) {\r\n // this.encounterService.getDiagnosisById(id).subscribe((response: any) => {\r\n // if (response != null && response.data != null) {\r\n // this.diagnosisModel = response.data;\r\n // this.createDiagnosisModal(this.diagnosisModel);\r\n // }\r\n // });\r\n // } else {\r\n // this.diagnosisModel = new DiagnosisModel();\r\n // this.createDiagnosisModal(this.diagnosisModel);\r\n // }\r\n }\r\n\r\n createPatientEncounterNotesModal(\r\n patientencounternotesmodel: PatientEncounterNotesModel\r\n ) {\r\n //this.patientencounternotesmodel.patientID = this.clientId;\r\n (this.patientencounternotesmodel.patientID = this.clientId),\r\n (this.patientencounternotesmodel.StaffId = this.staffDetails.staffId),\r\n (this.patientencounternotesmodel.AppointmentID = this.appointmentId);\r\n let patientencounternotesModal;\r\n patientencounternotesModal = this.patientencounternotesDialogModal.open(\r\n PatientEncounterNotesModalComponent,\r\n {\r\n data: {\r\n patientencounternote: patientencounternotesmodel,\r\n //refreshGrid: this.refreshGrid.bind(this),\r\n },\r\n }\r\n );\r\n patientencounternotesModal.afterClosed().subscribe((result: string) => {\r\n //if (result == \"save\")\r\n //this.getDiagnosisList();\r\n });\r\n }\r\n\r\n getUserDocuments() {\r\n if (this.appointmentId != null) {\r\n // this.fromDate =\r\n // this.fromDate == null\r\n // ? \"1990-01-01\"\r\n // : format(this.fromDate, \"YYYY-MM-DD\");\r\n // this.toDate =\r\n // this.toDate == null\r\n // ? format(this.todayDate, \"YYYY-MM-DD\")\r\n // : format(this.toDate, \"YYYY-MM-DD\");\r\n this.clientService\r\n .getPateintApptDocuments(this.appointmentId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n this.documentList =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n }\r\n });\r\n }\r\n }\r\n\r\n getUserDocument(value: UserDocumentModel) {\r\n // this.clientService.getUserDocument(value.id).subscribe((response: any) => {\r\n // this.clientService.downloadFile(response, response.type, value.url);\r\n // });\r\n let key;\r\n if (value.key.toLowerCase() === \"refferal\") {\r\n key = \"refferal\";\r\n } else {\r\n key = \"userdoc\";\r\n }\r\n this.clientService\r\n .getDocumentForDownlod(value.id, key)\r\n .subscribe((response: any) => {\r\n // console.log(response);\r\n if (response.statusCode == 200) {\r\n var fileType = \"\";\r\n switch (response.data.extenstion) {\r\n case \".png\":\r\n fileType = \"image/png\";\r\n break;\r\n case \".gif\":\r\n fileType = \"image/gif\";\r\n break;\r\n case \".pdf\":\r\n fileType = \"application/pdf\";\r\n break;\r\n case \".jpeg\":\r\n fileType = \"image/jpeg\";\r\n break;\r\n case \".jpg\":\r\n fileType = \"image/jpeg\";\r\n break;\r\n case \".xls\":\r\n fileType = \"application/vnd.ms-excel\";\r\n break;\r\n default:\r\n fileType = null;\r\n }\r\n var binaryString = atob(response.data.base64);\r\n var bytes = new Uint8Array(binaryString.length);\r\n for (var i = 0; i < binaryString.length; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n var newBlob = new Blob([bytes], {\r\n type: fileType,\r\n });\r\n\r\n this.clientService.downloadFile(\r\n newBlob,\r\n fileType,\r\n response.data.fileName\r\n );\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n onSubmitVitalForm(event: any) {\r\n if (!this.vitalForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.vitalModel = this.vitalForm.value;\r\n this.vitalModel.patientID = this.patientId;\r\n this.vitalModel.appointmentId = this.appointmentId;\r\n this.clientService\r\n .createVital(this.vitalModel)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.disabledVitalForm = true;\r\n this.notifier.notify(\"success\", response.message);\r\n //if (clickType == \"Save\")\r\n // this.closeDialog('save');\r\n //else if (clickType == \"SaveAddMore\") {\r\n //this.refreshGrid.next();\r\n //this.vitalForm.reset();\r\n //}\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n deleteUserDocument(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this document?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientService\r\n .deleteUserDocument(id)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getUserDocuments();\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // this.appService.newSelectedScreenSizeSubject.next(\"1:4\");\r\n this.appService.newSelectedScreenSizeSubject.next(\"1:2\");\r\n\r\n const top = screen.height * 0.1;\r\n const left = screen.width * 0.7;\r\n this.appService.newSelectedVideoPositionSubject.next(left + \",\" + top);\r\n }\r\n validatePulse(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise((resolve) => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var pulse = ctrl.value;\r\n\r\n if (pulse >= 101) resolve({ pulse: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n validateBpdystolic(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise((resolve) => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var dystolic = ctrl.value;\r\n\r\n if (dystolic >= 141) resolve({ dystolic: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n validateRespiration(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise((resolve) => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var respiration = ctrl.value;\r\n\r\n if (respiration >= 101) resolve({ respiration: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n validateTemperature(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise((resolve) => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var temperature = ctrl.value;\r\n\r\n if (temperature >= 116) resolve({ temperature: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n validateHeartRate(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise((resolve) => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var heartrate = ctrl.value;\r\n\r\n if (heartrate >= 201) resolve({ heartrate: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n validateBpsystolic(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise((resolve) => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var bpsytolic = ctrl.value;\r\n\r\n if (bpsytolic >= 281) resolve({ bpsytolic: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n validateWeight(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise((resolve) => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var weight = ctrl.value;\r\n\r\n if (weight >= 1000)\r\n //this.submitted=false,\r\n resolve({ weight: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n validateHeight(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise((resolve) => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var height = ctrl.value;\r\n\r\n if (height >= 256) resolve({ height: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n\r\n getIcdCodes() {\r\n this.encounterService\r\n .getIcdCodes(0, 0, this.appointmentId)\r\n .subscribe((res) => {\r\n if (res != null && res.data != null && res.statusCode == 200) {\r\n // console.log(res); // (soapNoteIdx >= 0) ? false : true;\r\n this.IcdComment = true;\r\n this.icdForm.controls[\"icdComment\"].setValue(res.data.descriptions);\r\n\r\n this.encounterService\r\n .getMasterICDOnSearch(res.data.masterICD.description, 0)\r\n .subscribe((masterRes) => {\r\n if (\r\n masterRes != null &&\r\n masterRes.data != null &&\r\n masterRes.statusCode == 200\r\n ) {\r\n // this.masterICD = new Array(masterRes.data);\r\n\r\n const selectedIcd = masterRes.data.find(\r\n (icd) => icd.id === res.data.icdid\r\n );\r\n if (selectedIcd) {\r\n this.ICDName = selectedIcd.description;\r\n this.icdForm.controls[\"icdName\"].patchValue(\r\n selectedIcd.description\r\n );\r\n this.selectedIcdCode = selectedIcd.id;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n getSoapNoteICDPatientPlanByAppId() {\r\n this.encounterService\r\n .getEndSessionValidateData(\r\n this.clientId,\r\n this.staffDetails.staffId,\r\n this.appointmentId\r\n )\r\n .subscribe((res) => {\r\n if (res != null && res.data != null && res.statusCode == 200) {\r\n this.showEndSessionBtn = res.data; // (soapNoteIdx >= 0) ? false : true;\r\n //this.icdForm.controls[\"icdComment\"].setValue(res.data.patientDiagnosisICDDetailList[0].descriptions);\r\n //let selectedIcd=this.masterICD.filter(icd=>icd.id=res.data.patientDiagnosisICDDetailList[0].id);\r\n //this.ICDName=selectedIcd[0].description;\r\n }\r\n });\r\n }\r\n\r\n enableAllButtons(status: any) {\r\n this.isShowCheckinBtns = status;\r\n if (this.isShowCheckinBtns) {\r\n // this.isStarted = true;\r\n this.isShowTimer = false;\r\n //this.call();\r\n }\r\n }\r\n ngAfterViewInit() { }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{templateFormName}}

\\r\\n
\\r\\n \\r\\n
\\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, Inject } from '@angular/core';\r\nimport { FormioOptions } from 'angular-formio';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-template-form',\r\n templateUrl: './template-form.component.html',\r\n styleUrls: ['./template-form.component.css']\r\n})\r\nexport class TemplateFormComponent {\r\n public jsonFormData: Object = {\r\n components: []\r\n };\r\n initialFormValues: Object = {\r\n data: {}\r\n };\r\n formioOptions: FormioOptions = {\r\n disableAlerts: true\r\n }\r\n encounterTemplateId: number = null;\r\n templateFormId: number = null;\r\n encounterId: number = null;\r\n templateFormName: string = null;\r\n\r\n constructor(\r\n public dialogPopup: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n ) {\r\n\r\n let formJson = {components: []}, formData = {data: {}};\r\n try{\r\n formJson = JSON.parse(data.templateJson);\r\n formData = JSON.parse(data.templateData);\r\n } catch(err) { }\r\n\r\n this.encounterTemplateId = data.id || null;\r\n this.jsonFormData = data.templateJson ? formJson : this.jsonFormData;\r\n this.templateFormName = data.templateName || '';\r\n this.initialFormValues = data.templateData ? formData : this.initialFormValues;\r\n this.templateFormId = data.templateId;\r\n this.encounterId = data.encounterId;\r\n }\r\n\r\n onSubmitTemplate(event: any) {\r\n const postData = {\r\n id: this.encounterTemplateId,\r\n templateData: JSON.stringify(event),\r\n masterTemplateId: this.templateFormId,\r\n patientEncounterId: this.encounterId,\r\n }\r\n this.onClose(postData);\r\n }\r\n\r\n onClose(data?: any) {\r\n this.dialogPopup.close(data);\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Thank You!

\\r\\n

Please share your valuable feedback and for further assistance feel free to contact.

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

\\r\\n Having trouble? Contact us\\r\\n

\\r\\n

\\r\\n Continue to Dashboard\\r\\n

\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-thank-you',\r\n templateUrl: './thank-you.component.html',\r\n styleUrls: ['./thank-you.component.css']\r\n})\r\nexport class ThankYouComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { format } from \"date-fns\";\r\nimport { AddNewCallerService } from \"src/app/shared/add-new-caller/add-new-caller.service\";\r\nimport { FilterModel } from \"../../../core/modals/common-model\";\r\nimport { CommonService } from \"../../../core/services\";\r\n\r\n@Component({\r\n selector: \"app-video-call-invitation\",\r\n templateUrl: \"./video-call-invitation.component.html\",\r\n styleUrls: [\"./video-call-invitation.component.css\"],\r\n})\r\nexport class VideoCallInvitationComponent implements OnInit {\r\n @Input() appointmentId: number = 0;\r\n @Input() encryptedPatientId;\r\n metaData: any;\r\n invitedAptfilterModel: FilterModel;\r\n\r\n invitedDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n type: \"link\",\r\n // url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"Invitation Receiver\",\r\n key: \"inviteReceiverName\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"Invitation Email\",\r\n key: \"inviteReceiverEmail\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n type: \"link\",\r\n // url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\",\r\n },\r\n // {\r\n // displayName: \"Symptom/Ailment\",\r\n // key: \"notes\",\r\n // type: \"50\",\r\n // isInfo: true,\r\n // },\r\n // {\r\n // displayName: \"Actions\",\r\n // key: \"Actions\",\r\n // sticky: true,\r\n // },\r\n ];\r\n invitedPatientAppointment: any;\r\n invitedAppointmentMeta: any;\r\n patientId: any;\r\n\r\n constructor(\r\n private addNewCallerService: AddNewCallerService,\r\n private commonService: CommonService\r\n ) {\r\n this.invitedAppointmentMeta = null;\r\n this.invitedAptfilterModel = new FilterModel();\r\n }\r\n\r\n\r\n ngOnInit() {\r\n if (this.encryptedPatientId != undefined) {\r\n this.patientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n } else {\r\n this.patientId = 0;\r\n this.appointmentId = 0;\r\n }\r\n\r\n this.getInvitedPatientAppointmentList();\r\n }\r\n\r\n getInvitedPatientAppointmentList() {\r\n\r\n let sendData = {\r\n pageNumber: this.invitedAptfilterModel.pageNumber,\r\n pageSize: this.invitedAptfilterModel.pageSize,\r\n sortColumn: this.invitedAptfilterModel.sortColumn,\r\n sortOrder: this.invitedAptfilterModel.sortOrder,\r\n searchText: this.invitedAptfilterModel.searchText,\r\n patientId:parseInt(this.patientId) ,\r\n };\r\n\r\n this.addNewCallerService\r\n .getInvitedMemberList(sendData)\r\n .subscribe((response: any) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedPatientAppointment = (\r\n this.invitedPatientAppointment || []\r\n ).map((x) => {\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n return x;\r\n });\r\n this.invitedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedPatientAppointment = [];\r\n this.invitedAppointmentMeta = null;\r\n }\r\n this.invitedAppointmentMeta.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n\r\n onPendingInvitationPageOrSortChange(changeState?: any) {\r\n this.setInvitePendingPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getInvitedPatientAppointmentList();\r\n }\r\n setInvitePendingPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.invitedAptfilterModel.pageNumber = pageNumber;\r\n this.invitedAptfilterModel.pageSize = pageSize;\r\n this.invitedAptfilterModel.sortOrder = sortOrder;\r\n this.invitedAptfilterModel.sortColumn = sortColumn;\r\n }\r\n\r\n onPendingInvitationTableActionClick=(actObj:any)=>{\r\n // console.log(actObj);\r\n \r\n }\r\n}\r\n","module.exports = \"@media (max-width: 767px) {\\r\\n .readmin-panel .readmin-left-panel {\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n.readmin-left-panel .panel-title {\\r\\n width: 100%;\\r\\n border-bottom: 1px solid #D4D7DF;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.readmin-left-panel .panel-title a {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n padding: 10px 0px !important;\\r\\n display: flex !important;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n Note : Appointment time is completed, please go to past appointment for\\r\\n more information about the appointment\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Test Audio-Video\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Note

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"Save Note\\\" }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ tab.displayName }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\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 { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n Component,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { EncounterService } from \"../encounter.service\";\r\n//import { ChatService } from \"src/app/platform/modules/agency-portal/encounter/mean-video/chat.service\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { CallInitModel, CallStatus } from \"src/app/shared/models/callModel\";\r\nimport { ClientsService } from \"../../clients/clients.service\";\r\nimport { VitalModel } from \"../../clients/vitals/vitals.model\";\r\nimport { MedicationModel } from \"../../clients/medication/medication.model\";\r\nimport { MedicationComponent } from \"../../clients/medication/medication.component\";\r\nimport { PrescriptionComponent } from \"../../clients/prescription/prescription.component\";\r\nimport { SoapNoteComponent } from \"../../clients/soap-note/soap-note.component\";\r\nimport { DocumentsComponent } from \"../../clients/documents/documents.component\";\r\nimport { IcdComponent } from \"../../clients/icd/icd.component\";\r\nimport { HistoryComponent } from \"../../clients/history/history.component\";\r\nimport { ClientInsuranceComponent } from \"../../clients/client-insurance/client-insurance.component\";\r\nimport { ImmunizationComponent } from \"../../clients/immunization/immunization.component\";\r\nimport { AllergiesComponent } from \"../../clients/allergies/allergies.component\";\r\nimport { LabReferralComponent } from \"../../lab-referral/lab-referral.component\";\r\nimport { RadiologyReferralComponent } from \"../../radiology-referral/radiology-referral.component\";\r\nimport { VideoConsultationTestModalComponent } from \"src/app/shared/video-consultation-test-modal/video-consultation-test-modal.component\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { PatientEncounterCheckInNotesModel } from \"../../clients/diagnosis/diagnosis.model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { AngularEditorConfig } from \"@kolkov/angular-editor\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { VitalsComponent } from \"../../clients/vitals/vitals.component\";\r\n\r\n@Component({\r\n selector: \"app-video-call\",\r\n templateUrl: \"./video-call.component.html\",\r\n styleUrls: [\"./video-call.component.css\"],\r\n})\r\nexport class VideoCallComponent implements OnInit, OnDestroy {\r\n @ViewChild(\"tabContent\", { read: ViewContainerRef })\r\n tabContent: ViewContainerRef;\r\n @Input() patAppId: any;\r\n appointmentId: number;\r\n encounterId: number;\r\n patientAppointmentDetails: any;\r\n patientAppointment: any;\r\n staffDetails: any;\r\n userId: number = 0;\r\n patientNoteId: number = 0;\r\n displayedColumns: Array;\r\n vitalListingData: VitalModel[];\r\n vitalData: VitalModel;\r\n metaData: any;\r\n medication: MedicationModel;\r\n encrytPatientId;\r\n selectPatientOption;\r\n PatientTab;\r\n encryptedAppointmentId: number;\r\n selectedIndex;\r\n htmlContent: any = \"\";\r\n patientEncounterCheckInNotesModel: PatientEncounterCheckInNotesModel;\r\n editorConfig: AngularEditorConfig;\r\n endAppointmentNote: boolean = false;\r\n moduleTabs = [\r\n {\r\n id: 5,\r\n displayName: \"Documents\",\r\n },\r\n {\r\n id: 6,\r\n displayName: \"Vitals\",\r\n },\r\n {\r\n id: 7,\r\n displayName: \"Doctor Notes\",\r\n },\r\n {\r\n id: 8,\r\n displayName: \"Pre-Existing Medications\",\r\n },\r\n {\r\n id: 9,\r\n displayName: \"E-Prescription\",\r\n },\r\n {\r\n id: 10,\r\n displayName: \"ICD\",\r\n },\r\n // {\r\n // id: 11,\r\n // displayName: \"History\",\r\n // },\r\n {\r\n id: 12,\r\n displayName: \"Insurance\",\r\n },\r\n {\r\n id: 13,\r\n displayName: \"Immunization\",\r\n },\r\n {\r\n id: 14,\r\n displayName: \"Allergies\",\r\n },\r\n ];\r\n\r\n callStartStop: boolean = false;\r\n\r\n constructor(\r\n private activateRoute: ActivatedRoute,\r\n private encounterService: EncounterService,\r\n //private chatService: ChatService,\r\n private commonService: CommonService,\r\n private appService: AppService,\r\n private clientService: ClientsService,\r\n private cfr: ComponentFactoryResolver,\r\n private dailog: MatDialog,\r\n private notifier: NotifierService,\r\n private date: DatePipe\r\n ) {\r\n this.appointmentId = 0;\r\n this.encounterId = 0;\r\n this.patientAppointmentDetails = null;\r\n this.staffDetails = null;\r\n this.patientAppointment = null;\r\n this.displayedColumns = [\r\n { displayName: \"date\", key: \"vitalDate\", isSort: true, width: \"20%\" },\r\n {\r\n displayName: \"Height (Cm)\",\r\n key: \"displayheight\",\r\n isSort: true,\r\n width: \"10%\",\r\n },\r\n { displayName: \"weight(Kg)\", key: \"weightLbs\" },\r\n { displayName: \"h_rate\", key: \"heartRate\" },\r\n { displayName: \"bmi\", key: \"bmi\", isSort: true },\r\n { displayName: \"bp_h_l\", key: \"displayBP\" },\r\n { displayName: \"pulse\", key: \"pulse\" },\r\n { displayName: \"resp\", key: \"respiration\" },\r\n { displayName: \"temp(C)\", key: \"temperature\" },\r\n { displayName: \"actions\", key: \"Actions\" },\r\n ];\r\n this.editorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: \"auto\",\r\n minHeight: \"10rem\",\r\n maxHeight: \"auto\",\r\n width: \"auto\",\r\n minWidth: \"auto\",\r\n translate: \"no\",\r\n enableToolbar: false,\r\n showToolbar: true,\r\n placeholder: \"Enter text here...\",\r\n defaultParagraphSeparator: \"\",\r\n defaultFontName: \"\",\r\n defaultFontSize: \"\",\r\n fonts: [\r\n { class: \"arial\", name: \"Arial\" },\r\n { class: \"times-new-roman\", name: \"Times New Roman\" },\r\n { class: \"calibri\", name: \"Calibri\" },\r\n { class: \"comic-sans-ms\", name: \"Comic Sans MS\" },\r\n ],\r\n customClasses: [\r\n {\r\n name: \"quote\",\r\n class: \"quote\",\r\n },\r\n {\r\n name: \"redText\",\r\n class: \"redText\",\r\n },\r\n {\r\n name: \"titleText\",\r\n class: \"titleText\",\r\n tag: \"h1\",\r\n },\r\n ],\r\n //sanitize: true,\r\n //toolbarPosition: 'top',\r\n // toolbarHiddenButtons: [\r\n // [\r\n // ],\r\n // [\r\n // 'customClasses',\r\n // 'link',\r\n // 'unlink',\r\n // 'insertImage',\r\n // 'insertVideo',\r\n // 'toggleEditorMode'\r\n // ]\r\n // ]\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n this.PatientTab = [\r\n {\r\n TabName: \"Vitals\",\r\n Component: VitalsComponent,\r\n },\r\n {\r\n TabName: \"Pre-Existing Medications\",\r\n Component: MedicationComponent,\r\n },\r\n {\r\n TabName: \"E-Prescription\",\r\n Component: PrescriptionComponent,\r\n },\r\n {\r\n TabName: \"Doctor Soap Notes\",\r\n Component: SoapNoteComponent,\r\n },\r\n {\r\n TabName: \"Documents\",\r\n Component: DocumentsComponent,\r\n },\r\n {\r\n TabName: \"ICD\",\r\n Component: IcdComponent,\r\n },\r\n {\r\n TabName: \"History\",\r\n Component: HistoryComponent,\r\n },\r\n {\r\n TabName: \"Insurance\",\r\n Component: ClientInsuranceComponent,\r\n },\r\n {\r\n TabName: \"Immunization\",\r\n Component: ImmunizationComponent,\r\n },\r\n {\r\n TabName: \"Allergies\",\r\n Component: AllergiesComponent,\r\n },\r\n {\r\n TabName: \"Lab Referral\",\r\n Component: LabReferralComponent,\r\n },\r\n {\r\n TabName: \"Radiology Referral\",\r\n Component: RadiologyReferralComponent,\r\n },\r\n ];\r\n\r\n this.medication = new MedicationModel();\r\n //////;\r\n // console.log(\"13 oninit called from video call component \");\r\n let fullName = \"\";\r\n if (localStorage.getItem(\"access_token\")) {\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n let userInfo: any;\r\n\r\n this.userId = user.data.userID;\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n userInfo = user.patientData;\r\n fullName = userInfo.lastName + \" \" + userInfo.firstName;\r\n } else {\r\n userInfo = user.data;\r\n fullName = \"Dr. \" + userInfo.lastName + \" \" + userInfo.firstName;\r\n }\r\n } else {\r\n }\r\n });\r\n }\r\n\r\n if (\r\n this.activateRoute.snapshot.url[0] &&\r\n this.activateRoute.snapshot.url[0].path == \"check-in-video-call\"\r\n ) {\r\n const apptId = this.activateRoute.snapshot.paramMap.get(\"id\");\r\n this.appointmentId = Number(apptId);\r\n this.encounterId = 0;\r\n //////;\r\n if (this.appointmentId) this.getPatientAppointmentDetails();\r\n } else {\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n this.appointmentId =\r\n params.apptId == undefined ? 0 : parseInt(params.apptId);\r\n if (this.appointmentId) {\r\n this.getPatientAppointmentDetails();\r\n //this.hubSevice.handleIncomingCall(this.appointmentId, this.userId);\r\n // this.chatService.changename({\r\n // username: fullName,\r\n // roomname: \"room\" + this.appointmentId.toString()\r\n // });\r\n }\r\n });\r\n }\r\n //;\r\n \r\n var localItem = localStorage.getItem(\"callPicked\");\r\n if (localItem == \"yes\") {\r\n // console.log(\"10 call initiate called from video call\");\r\n // console.log(\"call initiated from here\");\r\n // console.log(\"appointmentid=\" + this.appointmentId);\r\n this.commonService.callStartStopShareSubject.subscribe((res: any) => {\r\n this.callStartStop = res;\r\n });\r\n // this.appService\r\n // .getCallInitiate(this.appointmentId, this.userId)\r\n // .subscribe((res) => {\r\n // console.log(res);\r\n // let callInitModel: CallInitModel = new CallInitModel();\r\n // callInitModel.AppointmentId = this.appointmentId;\r\n // callInitModel.CallStatus = CallStatus.Picked;\r\n // this.appService.CheckCallStarted(callInitModel);\r\n // });\r\n }\r\n if (!this.appointmentId) {\r\n this.appointmentId = this.patAppId;\r\n this.getPatientAppointmentDetails();\r\n }\r\n\r\n this.getVitalByAppointmentId();\r\n this.getMedicationByAppointmentId();\r\n }\r\n\r\n startcallAgain = () => {\r\n //;\r\n if (this.appointmentId > 0 && this.userId > 0) {\r\n // console.log(\"10 call initiate called from video call\");\r\n // console.log(\"call initiated from here\");\r\n // console.log(\"appointmentid=\" + this.appointmentId);\r\n this.appService\r\n .getCallInitiate(this.appointmentId, this.userId)\r\n .subscribe((res) => {\r\n // console.log(res);\r\n\r\n let callInitModel: CallInitModel = new CallInitModel();\r\n callInitModel.AppointmentId = this.appointmentId;\r\n callInitModel.CallStatus = CallStatus.Picked;\r\n this.appService.CheckCallStarted(callInitModel);\r\n });\r\n }\r\n\r\n // let divVideoTool = document.getElementById(\"divVideoTool\");\r\n // if (divVideoTool != undefined) {\r\n // let videoTool = document.getElementsByClassName(\"video-tool\");\r\n // if (videoTool != undefined && videoTool.length > 0) {\r\n // var position = divVideoTool.getBoundingClientRect();\r\n // videoTool[0].setAttribute(\"style\", \"left:\" + position.left + \"px;\");\r\n // }\r\n // }\r\n\r\n if (this.patientAppointmentDetails && !localStorage.getItem(\"otSession\")) {\r\n this.encounterService\r\n .getTelehealthSession(this.appointmentId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n var otSession = this.commonService.encryptValue(\r\n JSON.stringify(response.data)\r\n );\r\n\r\n // console.log(\"session=\" + JSON.stringify(response.data));\r\n //let videoTool = document.getElementsByClassName(\"video-tool\");\r\n //videoTool[0].classList.remove(\"video-tool-hide\");\r\n localStorage.setItem(\"otSession\", otSession);\r\n this.commonService.videoSession(true);\r\n // this.otSessionId = response.data.id;\r\n // const config = {\r\n // API_KEY: +response.data.apiKey,\r\n // TOKEN: response.data.token,\r\n // SESSION_ID: response.data.sessionID,\r\n // SAMPLE_SERVER_BASE_URL: \"\"\r\n // };\r\n //this.getSession(config);\r\n }\r\n });\r\n }\r\n };\r\n\r\n getVitalByAppointmentId() {\r\n this.clientService\r\n .getVitalByAppointmentId(this.appointmentId)\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n // console.log(\"getVitalByAppointmentId\", response);\r\n this.vitalData = response.data != null ? response.data : [];\r\n this.vitalListingData = [];\r\n this.vitalListingData.push(this.vitalData);\r\n }\r\n });\r\n }\r\n\r\n getMedicationByAppointmentId() {\r\n this.clientService\r\n .getmedicationByAppointmentId(this.appointmentId)\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n // console.log(\"getmedicationByAppointmentId\", response);\r\n this.medication = response.data != null ? response.data : [];\r\n }\r\n });\r\n }\r\n\r\n getPatientAppointmentDetails() {\r\n this.encounterService\r\n .GetPatientEncounterDetails(this.appointmentId, this.encounterId, false)\r\n .subscribe((response) => {\r\n //////;\r\n if (response.statusCode == 200) {\r\n //////;\r\n\r\n this.getPatientEncounterCheckInNotesByAppointmentId();\r\n this.encrytPatientId = this.commonService.encryptValue(\r\n response.data.patientAppointment.patientID,\r\n true\r\n );\r\n this.encryptedAppointmentId = this.commonService.encryptValue(\r\n this.appointmentId,\r\n true\r\n );\r\n\r\n this.patientAppointmentDetails =\r\n response.data.patientAppointment || null;\r\n // console.log(response.data.patientAppointment);\r\n if (\r\n this.patientAppointmentDetails.appointmentStaffs != null &&\r\n this.patientAppointmentDetails.appointmentStaffs != undefined &&\r\n this.patientAppointmentDetails.appointmentStaffs.length > 0\r\n )\r\n this.staffDetails =\r\n this.patientAppointmentDetails.appointmentStaffs[0];\r\n this.loadChild(\"Vitals\");\r\n var curDate = this.date.transform(\r\n new Date(),\r\n \"yyyy-MM-dd HH:mm:ss a\"\r\n );\r\n var selDate = this.date.transform(\r\n this.patientAppointmentDetails.endDateTime,\r\n \"yyyy-MM-dd HH:mm:ss a\"\r\n );\r\n if (selDate < curDate) {\r\n this.endAppointmentNote = true;\r\n }\r\n\r\n this.showCallButton(this.patientAppointmentDetails)\r\n } else {\r\n this.patientAppointmentDetails = null;\r\n this.staffDetails = null;\r\n }\r\n });\r\n }\r\n\r\n showCallButton=(appDetails:any)=>{\r\n // console.log(appDetails)\r\n\r\n const startDateTime = new Date(appDetails.startDateTime);\r\n const endDateTime = new Date(appDetails.endDateTime);\r\n \r\n // Get the current time\r\n const now = new Date();\r\n // Check if the current time is between start and end time and status is \"Approved\"\r\n return now >= startDateTime && now <= endDateTime && appDetails.statusName === \"Approved\";\r\n }\r\n getPatientEncounterCheckInNotesByAppointmentId() {\r\n this.encounterService\r\n .GetPatientEncounterCheckInNotesByAppointmentId(this.appointmentId)\r\n .subscribe((response) => {\r\n if (response.data) {\r\n this.patientNoteId = response.data.id;\r\n this.htmlContent = response.data.encounterNotes;\r\n }\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n // this.appService.newSelectedScreenSizeSubject.next(\"1:4\");\r\n this.appService.newSelectedScreenSizeSubject.next(\"1:2\");\r\n const top = screen.height * 0.1;\r\n const left = screen.width * 0.7;\r\n this.appService.newSelectedVideoPositionSubject.next(left + \",\" + top);\r\n }\r\n\r\n selectChangeHandler = (event) => {\r\n this.selectPatientOption = event.value;\r\n // console.log(this.encrytPatientId);\r\n };\r\n\r\n loadComponent(eventType: any): any {\r\n this.loadChild(eventType.tab.textLabel);\r\n }\r\n\r\n loadChild(childName: string) {\r\n let factory: any;\r\n factory = this.cfr.resolveComponentFactory(\r\n this.PatientTab.find((x) => x.TabName == childName).Component\r\n );\r\n this.tabContent.clear();\r\n let comp: ComponentRef =\r\n this.tabContent.createComponent(factory);\r\n // console.log(\"Loaddeddd\", this.encryptedAppointmentId);\r\n comp.instance.encryptedPatientId = this.encrytPatientId;\r\n comp.instance.appointmentId = this.appointmentId;\r\n // comp.instance.appointmentId = 500;\r\n\r\n // console.log(\"Appointment Id\", this.encryptedAppointmentId);\r\n // comp.instance.handleTabChange.subscribe(this.handleTabChange.bind(this));\r\n }\r\n\r\n onAudioVideoTest() {\r\n const modalPopup = this.dailog.open(VideoConsultationTestModalComponent, {\r\n hasBackdrop: true,\r\n\r\n width: \"55%\",\r\n });\r\n }\r\n\r\n call() {\r\n // console.log(\"1 Call method called from check page\");\r\n localStorage.setItem(\"called_\" + this.appointmentId, \"true\");\r\n this.startcallAgain();\r\n // localStorage.setItem(\"isCallStart\", \"true\");\r\n /* if (this.isPatient == true) {\r\n this.router.navigate([\r\n \"/web/waiting-room/check-in-video-call/\" + this.appointmentId,;\r\n ]);\r\n } else {\r\n this.router.navigate([\r\n \"/web/waiting-room/check-in-soap/\" + this.appointmentId,\r\n ]);\r\n }*/\r\n }\r\n\r\n onSubmitEncounterCheckInNotes(event: any) {\r\n let clickType = event.currentTarget.name;\r\n this.patientEncounterCheckInNotesModel =\r\n new PatientEncounterCheckInNotesModel();\r\n if (this.patientNoteId > 0) {\r\n this.patientEncounterCheckInNotesModel.id = this.patientNoteId;\r\n }\r\n // this.submitted = true;\r\n this.patientEncounterCheckInNotesModel.patientID =\r\n this.patientAppointmentDetails.patientID;\r\n this.patientEncounterCheckInNotesModel.StaffId = this.staffDetails.staffId;\r\n this.patientEncounterCheckInNotesModel.AppointmentID = this.appointmentId;\r\n this.patientEncounterCheckInNotesModel.encounterNotes = this.htmlContent;\r\n this.encounterService\r\n .savePatientEncounterCheckInNotes(this.patientEncounterCheckInNotesModel)\r\n .subscribe((response: any) => {\r\n // this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.patientNoteId = response.data.id;\r\n this.notifier.notify(\"success\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n EndSession = () => {\r\n // console.log(\"endSEssion\");\r\n };\r\n}\r\n","module.exports = \".video-button {\\r\\n position: absolute;\\r\\n bottom: 25px;\\r\\n z-index: 99;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ s.size }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n chat\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n voicemail\\r\\n \\r\\n \\r\\n fiber_manual_record\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n add_call\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n videocam\\r\\n \\r\\n \\r\\n videocam_off\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","import { AppService } from \"./../../../../../../app-service.service\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { AddNewCallerComponent } from \"./../../../../../../shared/add-new-caller/add-new-caller.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { CommonService } from \"./../../../../core/services/common.service\";\r\nimport {\r\n Component,\r\n ElementRef,\r\n AfterViewInit,\r\n ViewChild,\r\n Input,\r\n OnDestroy,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { OpentokService } from \"../../opentok.service\";\r\nimport { ChatInitModel } from \"src/app/shared/models/chatModel\";\r\nimport { TextChatService } from \"src/app/shared/text-chat/text-chat.service\";\r\nimport { VideoRecordModel } from \"src/app/shared/models/videoRecordModel\";\r\nimport { CallInitModel, CallStatus } from \"src/app/shared/models/callModel\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { HubService } from \"src/app/platform/modules/main-container/hub.service\";\r\n\r\n@Component({\r\n selector: \"app-publisher\",\r\n templateUrl: \"./publisher.component.html\",\r\n styleUrls: [\"./publisher.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PublisherComponent implements AfterViewInit, OnDestroy {\r\n @ViewChild(\"publisherDiv\") publisherDiv: ElementRef;\r\n @Input() session: OT.Session;\r\n @Input() patientAppointmentId: number;\r\n @Input() otSessionId: number;\r\n publisher: OT.Publisher;\r\n publishing: Boolean;\r\n isScreenShare: boolean;\r\n isVideo: boolean = true;\r\n userRole: any;\r\n isVideoBtn: boolean = false;\r\n isFullScreen: boolean = false;\r\n isProvider: boolean = false;\r\n isPatient: boolean = false;\r\n screenSize: Array = [\r\n { id: 1, size: \"1:8\", class: \"one-forth-width\" },\r\n { id: 2, size: \"1:4\", class: \"half-width\" },\r\n { id: 3, size: \"1:2\", class: \"\" },\r\n { id: 4, size: \"1:1\", class: \"video-call-fixed\" },\r\n ];\r\n screenId: any;\r\n isVideoRecord: boolean = false;\r\n archiveId: string = \"\";\r\n constructor(\r\n private opentokService: OpentokService,\r\n private commonService: CommonService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private dialogModal: MatDialog,\r\n private appService: AppService,\r\n private textChatService: TextChatService,\r\n private notifier: NotifierService,\r\n private hubservice: HubService\r\n ) {\r\n //////;\r\n this.publishing = false;\r\n\r\n this.screenId = this.screenSize[2];\r\n // console.log(this.screenId);\r\n this.archiveId = \"\";\r\n }\r\n ngOnInit() {\r\n // console.log(\"14 oninit called from publisher \");\r\n this.appService.videoRecordingStarted.subscribe(\r\n (videoRecordModel: VideoRecordModel) => {\r\n this.isVideoRecord = videoRecordModel.isRecording;\r\n this.archiveId = \"\";\r\n if (videoRecordModel.isRecording)\r\n this.archiveId = videoRecordModel.archiveId;\r\n }\r\n );\r\n\r\n if (\r\n localStorage.getItem(\"UserRole\") &&\r\n localStorage.getItem(\"UserRole\") == \"PROVIDER\"\r\n ) {\r\n this.isProvider = true;\r\n } else if (\r\n localStorage.getItem(\"UserRole\") &&\r\n localStorage.getItem(\"UserRole\") == \"CLIENT\"\r\n ) {\r\n this.isPatient = true;\r\n }\r\n // this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n // if (user && user.data) {\r\n // const userRoleName =\r\n // user.data.users3 && user.data.users3.userRoles.userType;\r\n // if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n // this.isPatient = true;\r\n // } else {\r\n // this.isPatient = false;\r\n // }\r\n // }\r\n // });\r\n this.appService.newSelectedScreenSize.subscribe((s) => {\r\n if (s) {\r\n const size = this.screenSize.find((x) => x.size == s);\r\n const eventSize = { value: size };\r\n this.setScreenSize(eventSize);\r\n }\r\n });\r\n }\r\n\r\n // ngAfterViewInit() {\r\n // this.startVideoCall();\r\n // }\r\n\r\n // cycleVideo() {\r\n // this.publisher && this.publisher.cycleVideo();\r\n // }\r\n\r\n // toggleScreen() {\r\n // if (this.isScreenShare)\r\n // this.startVideoCall();\r\n // else\r\n // this.screenshare()\r\n // this.isScreenShare = !this.isScreenShare;\r\n // }\r\n\r\n // startVideoCall() {\r\n // const OT = this.opentokService.getOT();\r\n // this.publisher = OT.initPublisher(this.publisherDiv.nativeElement,\r\n // { name: 'OpenTok', style: {}, insertMode: 'append', width: '70px', height: '50px', showControls: true, },\r\n // (err) => {\r\n // err && alert(err.message);\r\n // });\r\n\r\n // if (this.session) {\r\n // if (this.session['isConnected']()) {\r\n // this.publish();\r\n // }\r\n // this.session.on('sessionConnected', () => this.publish());\r\n // }\r\n // }\r\n\r\n // screenshare() {\r\n // const OT = this.opentokService.getOT();\r\n // OT.checkScreenSharingCapability((response) => {\r\n // if (!response.supported || response.extensionRegistered === false) {\r\n // alert('This browser does not support screen sharing.');\r\n // } else if (response.extensionInstalled === false) {\r\n // alert('Please install the screen sharing extension and load your app over https.');\r\n // } else {\r\n // // Screen sharing is available. Publish the screen.\r\n // this.publisher = OT.initPublisher(this.publisherDiv.nativeElement, {width: '70px', height: '50px', showControls: true, videoSource: 'window' });\r\n // if (this.session) {\r\n // if (this.session['isConnected']()) {\r\n // this.publish();\r\n // }\r\n // this.session.on('sessionConnected', () => this.publish());\r\n // }\r\n // }\r\n // })\r\n // }\r\n\r\n // publish() {\r\n // this.session.publish(this.publisher, (err) => {\r\n // if (err) {\r\n // alert(err.message);\r\n // } else {\r\n // this.publishing = true;\r\n // }\r\n // });\r\n // }\r\n\r\n // ngOnDestroy() {\r\n // if (!this.isScreenShare)\r\n // this.session.disconnect();\r\n // }\r\n\r\n ngAfterViewInit() {\r\n this.startVideoCall();\r\n }\r\n\r\n cycleVideo() {\r\n this.publisher && this.publisher.cycleVideo();\r\n }\r\n\r\n toggleVideo(video: boolean) {\r\n // this.isVideoBtn = false;\r\n if (video == true) {\r\n this.publisher.publishVideo(false);\r\n this.publisher.publishAudio(true);\r\n this.isVideo = false;\r\n } else {\r\n this.publisher.publishVideo(true);\r\n this.publisher.publishAudio(true);\r\n this.isVideo = true;\r\n }\r\n }\r\n toggleFullScreen(isFullScreen: boolean) {\r\n this.isFullScreen = !isFullScreen;\r\n let videoTool = document.getElementsByClassName(\"video-call\");\r\n videoTool[0].classList.toggle(\"video-call-fixed\");\r\n }\r\n toggleScreen() {\r\n if (this.isScreenShare) this.startVideoCall();\r\n else this.screenshare();\r\n this.isScreenShare = !this.isScreenShare;\r\n }\r\n screenshare() {\r\n const OT = this.opentokService.getOT();\r\n OT.checkScreenSharingCapability((response) => {\r\n if (!response.supported || response.extensionRegistered === false) {\r\n alert(\"This browser does not support screen sharing.\");\r\n } else if (response.extensionInstalled === false) {\r\n alert(\r\n \"Please install the screen sharing extension and load your app over https.\"\r\n );\r\n } else {\r\n // Screen sharing is available. Publish the screen.\r\n this.publisher = OT.initPublisher(this.publisherDiv.nativeElement, {\r\n width: \"70px\",\r\n height: \"50px\",\r\n showControls: true,\r\n videoSource: \"window\",\r\n });\r\n if (this.session) {\r\n if (this.session[\"isConnected\"]()) {\r\n this.publish();\r\n }\r\n this.session.on(\"sessionConnected\", () => this.publish());\r\n }\r\n }\r\n });\r\n }\r\n endCall() {\r\n // console.log(\"15 endcall called from publisher \");\r\n let callInitModel: CallInitModel = new CallInitModel();\r\n callInitModel.AppointmentId = 0;\r\n callInitModel.CallStatus = CallStatus.Over;\r\n this.commonService.videoSession(false);\r\n this.commonService.endCallsession(true);\r\n this.appService.CheckCallStarted(callInitModel);\r\n localStorage.removeItem(\"callPicked\");\r\n this.commonService.callStartStopSubject.next(false);\r\n var apptId = 0;\r\n this.activatedRoute.queryParams.subscribe((param) => {\r\n apptId = param[\"apptId\"];\r\n });\r\n this.commonService.isPatient.subscribe((isPatient) => {\r\n if (isPatient) {\r\n // console.log(\r\n // \"16 ispatient condition in endcall called from publisher \"\r\n // );\r\n this.session.on(\"streamDestroyed\", (e) => e.preventDefault());\r\n this.session.disconnect();\r\n this.router.navigate([\"/web/encounter/thank-you\"], {\r\n queryParams: {\r\n apptId: apptId,\r\n },\r\n });\r\n } else {\r\n // console.log(\"17 ispatient false in endcall called from publisher \");\r\n this.session.on(\"streamDestroyed\", (e) => e.preventDefault());\r\n this.session.disconnect();\r\n }\r\n });\r\n // setTimeout(() => {\r\n // if (localStorage.getItem(\"access_token\")) {\r\n // this.commonService.userRole.subscribe((res) => {\r\n\r\n // if (localStorage.getItem(\"UserRole\").toLowerCase()==\"client\" || res.toLowerCase()==\"client\") //\r\n // {\r\n // this.router.navigate([\"/web/client/my-scheduling\"]);\r\n\r\n // }\r\n // else {\r\n // this.router.navigate([\"/web/scheduling\"]);\r\n // }\r\n\r\n // });\r\n // }\r\n // }, 1000);\r\n\r\n if (\r\n this.patientAppointmentId > 0 &&\r\n Number(localStorage.getItem(\"UserId\")) > 0\r\n ) {\r\n this.appService\r\n .getEndCall(\r\n this.patientAppointmentId,\r\n Number(localStorage.getItem(\"UserId\"))\r\n )\r\n .subscribe((res) => {\r\n //////;\r\n });\r\n }\r\n\r\n this.commonService.changeCallStartStopStatus(false);\r\n let videoCall = document.getElementsByClassName(\"video-call\");\r\n videoCall[0].classList.add(\"video-call-hide\");\r\n let videoTool = document.getElementsByClassName(\"video-tool\");\r\n videoTool[0].classList.add(\"video-tool-hide\");\r\n }\r\n\r\n startVideoCall() {\r\n this.hubservice.setModalPopupEndUndefined();\r\n // console.log(\"18 start video call is called from publisher \");\r\n const OT = this.opentokService.getOT();\r\n\r\n this.publisher = OT.initPublisher(\r\n this.publisherDiv.nativeElement,\r\n {\r\n name: \"OpenTok\",\r\n style: {},\r\n insertMode: \"append\",\r\n width: \"70px\",\r\n height: \"50px\",\r\n showControls: true,\r\n },\r\n (err) => {\r\n err \r\n // && console.log(err.message); //alert(err.message);\r\n }\r\n );\r\n\r\n if (this.session) {\r\n if (this.session[\"isConnected\"]()) {\r\n this.publish();\r\n }\r\n this.session.on(\"sessionConnected\", () => this.publish());\r\n this.session.on(\"sessionDisconnected\", function (event) {});\r\n }\r\n\r\n this.commonService.changeCallStartStopStatus(true);\r\n }\r\n\r\n publish() {\r\n // console.log(\"19 publish is called from publisher \");\r\n this.session.unpublish(this.publisher);\r\n this.session.publish(this.publisher, (err) => {\r\n if (err) {\r\n // console.log(err.message);\r\n //alert(err.message);\r\n } else {\r\n this.publishing = true;\r\n }\r\n });\r\n }\r\n addNewCaller() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(AddNewCallerComponent, {\r\n data: {\r\n appointmentId: this.patientAppointmentId,\r\n sessionId: this.otSessionId,\r\n },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") {\r\n }\r\n });\r\n }\r\n startChat() {\r\n var chatInitModel = new ChatInitModel();\r\n var response = JSON.parse(\r\n this.commonService.encryptValue(localStorage.getItem(\"otSession\"), false)\r\n );\r\n\r\n if (!localStorage.getItem(\"access_token\")) {\r\n chatInitModel.isActive = true;\r\n chatInitModel.AppointmentId = response.appointmentId;\r\n chatInitModel.UserId = response.userId;\r\n chatInitModel.UserRole = \"Invited\";\r\n } else {\r\n chatInitModel.isActive = true;\r\n chatInitModel.AppointmentId = response.appointmentId;\r\n chatInitModel.UserId = Number(localStorage.getItem(\"UserId\"));\r\n chatInitModel.UserRole = localStorage.getItem(\"UserRole\");\r\n\r\n // this.commonService.userRole.subscribe((role) => {\r\n // if (role != \"PROVIDER\") {\r\n // this.commonService.loginUser.subscribe((loginDetail: any) => {\r\n // if (loginDetail.access_token) {\r\n // chatInitModel.isActive = true;\r\n // chatInitModel.AppointmentId = response.appointmentId;\r\n // chatInitModel.UserId = loginDetail.data.userID;\r\n // chatInitModel.UserRole =\r\n // loginDetail.data.users1.userRoles.userType;\r\n // }\r\n // });\r\n // } else {\r\n // this.commonService.loginUser.subscribe((loginDetail: any) => {\r\n // if (loginDetail.access_token) {\r\n // chatInitModel.isActive = true;\r\n // chatInitModel.AppointmentId = response.appointmentId;\r\n // chatInitModel.UserId = loginDetail.data.userID;\r\n // chatInitModel.UserRole = loginDetail.data.userRoles.userType;\r\n // }\r\n // });\r\n // }\r\n // });\r\n }\r\n this.appService.CheckChatActivated(chatInitModel);\r\n // this.getAppointmentInfo(\r\n // chatInitModel.AppointmentId,\r\n // chatInitModel.UserRole\r\n // );\r\n this.textChatService.setAppointmentDetail(\r\n chatInitModel.AppointmentId,\r\n chatInitModel.UserRole\r\n );\r\n this.textChatService.setRoomDetail(\r\n chatInitModel.UserId,\r\n chatInitModel.AppointmentId\r\n );\r\n }\r\n setScreenSize(event: any) {\r\n this.screenId = event.value;\r\n\r\n let videoTool = document.getElementsByClassName(\"video-tool\");\r\n if (videoTool != undefined && videoTool.length > 0) {\r\n videoTool[0].classList.remove(\"video-call-fixed\");\r\n videoTool[0].classList.remove(\"half-width\");\r\n videoTool[0].classList.remove(\"one-forth-width\");\r\n var className = this.screenId.class;\r\n // console.log(className);\r\n videoTool[0].classList.add(className);\r\n }\r\n }\r\n startStopCallRecording() {\r\n this.isVideoRecord = !this.isVideoRecord;\r\n if (this.isVideoRecord) {\r\n var response = JSON.parse(\r\n this.commonService.encryptValue(\r\n localStorage.getItem(\"otSession\"),\r\n false\r\n )\r\n );\r\n this.otSessionId = response.id;\r\n const config = {\r\n API_KEY: +response.apiKey,\r\n TOKEN: response.token,\r\n SESSION_ID: response.sessionID,\r\n SAMPLE_SERVER_BASE_URL: \"\",\r\n };\r\n this.appService\r\n .startVideoRecording(response.sessionID)\r\n .subscribe((response) => {\r\n // console.log(response);\r\n });\r\n } else if (this.archiveId != \"\") {\r\n this.appService\r\n .stopVideoRecording(this.archiveId, this.patientAppointmentId)\r\n .subscribe((response) => {\r\n // console.log(response);\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.session.disconnect();\r\n }\r\n\r\n copyInvitation = () => {\r\n // var response = JSON.parse(\r\n // this.commonService.encryptValue(localStorage.getItem(\"otSession\"), false)\r\n // );\r\n // this.otSessionId = response.id;\r\n // const config = {\r\n // API_KEY: +response.apiKey,\r\n // TOKEN: response.token,\r\n // SESSION_ID: response.sessionID,\r\n // SAMPLE_SERVER_BASE_URL: \"\",\r\n // };\r\n\r\n // console.log(config);\r\n\r\n const encryptedToken = btoa(localStorage.getItem(\"otSession\"));\r\n\r\n // console.log(\"invitation\");\r\n window.navigator[\"clipboard\"].writeText(\r\n // `https://localhost:4200/web/videocall/${encryptedToken}`\r\n `https://myhealthygate.com/web/videocall/${encryptedToken}`\r\n );\r\n this.notifier.notify(\"success\", \"invitaion link copied successfully.\");\r\n };\r\n}\r\n","module.exports = \"\"","module.exports = \"
\"","import {\r\n Component,\r\n ElementRef,\r\n AfterViewInit,\r\n ViewChild,\r\n Input\r\n} from \"@angular/core\";\r\nimport * as OT from \"@opentok/client\";\r\n\r\n@Component({\r\n selector: \"app-subscriber\",\r\n templateUrl: \"./subscriber.component.html\",\r\n styleUrls: [\"./subscriber.component.css\"]\r\n})\r\nexport class SubscriberComponent implements AfterViewInit {\r\n @ViewChild(\"subscriberDiv\") subscriberDiv: ElementRef;\r\n @Input() session: OT.Session;\r\n @Input() stream: OT.Stream;\r\n @Input() index: number;\r\n constructor() {}\r\n\r\n ngAfterViewInit() {\r\n // console.log(\"20 ngafter is called from subscriber \");\r\n const subscriber = this.session.subscribe(\r\n this.stream,\r\n this.subscriberDiv.nativeElement,\r\n {\r\n insertMode: \"append\",\r\n width: \"700px\",\r\n height: \"500px\",\r\n showControls: true\r\n },\r\n err => {\r\n if (err) {\r\n // console.log(err.message);\r\n //alert(err.message);\r\n }\r\n }\r\n );\r\n // let subscribe = document.getElementsByClassName(\"app-subscriber\");\r\n // for(var i=0;i\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{s.size}}\\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-video-button',\r\n templateUrl: './video-button.component.html',\r\n styleUrls: ['./video-button.component.css']\r\n})\r\nexport class VideoButtonComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"/* app-publisher,\\r\\napp-subscriber {\\r\\n display: block;\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.video-call {\\r\\n width: 700px;\\r\\n height: 500px;\\r\\n}\\r\\napp-video-chat .readmin-panel {\\r\\n height: calc(100vh - 135px);\\r\\n}\\r\\n.OT_publisher {\\r\\n position: absolute;\\r\\n z-index: 1;\\r\\n right: 25px;\\r\\n bottom: 15px;\\r\\n width: 110px !important;\\r\\n height: 80px !important;\\r\\n}\\r\\n.OT_subscriber {\\r\\n width: auto !important;\\r\\n height: initial !important;\\r\\n position: absolute;\\r\\n left: 15px;\\r\\n right: 15px;\\r\\n top: 0px;\\r\\n bottom: 0px;\\r\\n}\\r\\n\\r\\n.video-call {\\r\\n width: 100%;\\r\\n border: solid 1px #f4f7fc;\\r\\n background: #000;\\r\\n color: #fff;\\r\\n}\\r\\n.video-call::before {\\r\\n content: \\\"Connecting...Please wait\\\";\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 40%;\\r\\n font-size: 15px;\\r\\n}\\r\\n.OT_name.OT_edge-bar-item.OT_mode-auto {\\r\\n visibility: hidden;\\r\\n} */\\r\\n.soap-note-video {\\r\\n left: 47% !important;\\r\\n transition: linear all 300ms;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { CommonService } from \"./../../../core/services/common.service\";\r\nimport {\r\n Component,\r\n ChangeDetectorRef,\r\n ViewEncapsulation,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { OpentokService } from \"../opentok.service\";\r\nimport { EncounterService } from \"../encounter.service\";\r\nimport * as OT from \"@opentok/client\";\r\nimport { SchedulerService } from \"../../../scheduling/scheduler/scheduler.service\";\r\nimport * as moment from \"moment\";\r\n\r\n@Component({\r\n selector: \"app-video-chat\",\r\n templateUrl: \"./video-chat.component.html\",\r\n styleUrls: [\"./video-chat.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class VideoChatComponent implements OnInit,OnDestroy {\r\n @Input() patientAppointmentDetails: any;\r\n @Input() patientAppointmentId: any;\r\n title = \"Video Chat\";\r\n session: OT.Session;\r\n streams: Array = [];\r\n changeDetectorRef: ChangeDetectorRef;\r\n startTime: Date;\r\n endTime: Date;\r\n actualMin: any;\r\n otSessionId: number = 0;\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n private opentokService: OpentokService,\r\n private encounterService: EncounterService,\r\n private schedulerService: SchedulerService,\r\n private commonService: CommonService\r\n ) {\r\n this.changeDetectorRef = ref;\r\n }\r\n ngOnDestroy(): void {\r\n this.commonService.videoSession(false);\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n //;\r\n // console.log(\"2\");\r\n // console.log(\"11 oniit called from video chat component\");\r\n //////;\r\n let divVideoTool = document.getElementById(\"divVideoTool\");\r\n if (divVideoTool != undefined) {\r\n let videoTool = document.getElementsByClassName(\"video-tool\");\r\n if (videoTool != undefined && videoTool.length > 0) {\r\n var position = divVideoTool.getBoundingClientRect();\r\n videoTool[0].setAttribute(\"style\", \"left:\" + position.left + \"px;\");\r\n }\r\n }\r\n //videoTool[0].classList.add(\"soap-note-video\");\r\n // this.commonService.videoSessionStarted.subscribe(res => {\r\n // var a = res;\r\n // if (\r\n // localStorage.getItem(\"otSession\") &&\r\n // localStorage.getItem(\"otSession\") != \"\"\r\n // )\r\n // console.log()\r\n // });\r\n if (this.patientAppointmentDetails && !localStorage.getItem(\"otSession\")) {\r\n \r\n this.encounterService\r\n .getTelehealthSession(this.patientAppointmentId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n var otSession = this.commonService.encryptValue(\r\n JSON.stringify(response.data)\r\n );\r\n \r\n // console.log(\"session=\"+JSON.stringify(response.data));\r\n //let videoTool = document.getElementsByClassName(\"video-tool\");\r\n //videoTool[0].classList.remove(\"video-tool-hide\");\r\n localStorage.setItem(\"otSession\", otSession);\r\n this.commonService.videoSession(true);\r\n this.otSessionId = response.data.id;\r\n // const config = {\r\n // API_KEY: +response.data.apiKey,\r\n // TOKEN: response.data.token,\r\n // SESSION_ID: response.data.sessionID,\r\n // SAMPLE_SERVER_BASE_URL: \"\"\r\n // };\r\n //this.getSession(config);\r\n }\r\n });\r\n }\r\n //}\r\n }\r\n\r\n // getSession(config: any) {\r\n // this.opentokService\r\n // .initSession(config)\r\n // .then((session: OT.Session) => {\r\n // console.log(session);\r\n // this.session = session;\r\n // this.session.on(\"streamCreated\", event => {\r\n // this.startTime = new Date();\r\n // this.streams.push(event.stream);\r\n // this.changeDetectorRef.detectChanges();\r\n // });\r\n // this.session.on(\"streamDestroyed\", event => {\r\n // this.capturedEndTime();\r\n // if (event.reason === \"networkDisconnected\") {\r\n // event.preventDefault();\r\n // var subscribers = session.getSubscribersForStream(event.stream);\r\n // if (subscribers.length > 0) {\r\n // var subscriber = document.getElementById(subscribers[0].id);\r\n // // Display error message inside the Subscriber\r\n // subscriber.innerHTML =\r\n // \"Lost connection. This could be due to your internet connection \" +\r\n // \"or because the other party lost their connection.\";\r\n // event.preventDefault(); // Prevent the Subscriber from being removed\r\n // }\r\n // }\r\n // const idx = this.streams.indexOf(event.stream);\r\n // if (idx > -1) {\r\n // this.streams.splice(idx, 1);\r\n // this.changeDetectorRef.detectChanges();\r\n // }\r\n // });\r\n // this.session.on(\"sessionDisconnected\", event => {\r\n // this.capturedEndTime();\r\n // });\r\n // })\r\n // .then(() => this.opentokService.connect())\r\n // .catch(err => {\r\n // console.error(\"error\", err);\r\n // alert(\r\n // \"Unable to connect. Make sure you have updated the config.ts file with your OpenTok details.\"\r\n // );\r\n // });\r\n // }\r\n private capturedEndTime() {\r\n this.endTime = new Date();\r\n this.diff_minutes(this.endTime, this.startTime);\r\n this.updateCallDuration();\r\n }\r\n\r\n diff_minutes(dt2: Date, dt1: Date) {\r\n var diff = (dt2.getTime() - dt1.getTime()) / 1000;\r\n diff /= 60;\r\n this.actualMin = Math.abs(Math.round(diff));\r\n }\r\n updateCallDuration() {\r\n const OT = this.opentokService.getOT();\r\n this.schedulerService\r\n .UpdateCallDuration(this.patientAppointmentId, this.actualMin)\r\n .subscribe((response) => {\r\n if (response.statusCode === 200) {\r\n // console.log(\"Call time duration sucessfully captured\");\r\n } else {\r\n // console.log(\"On call duration captured time something went wrong\");\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"/*Table Css*/\\r\\ntable {\\r\\n width: 100%;\\r\\n}\\r\\n.fa-custom {\\r\\n font-size: 1em;\\r\\n color: #fff;\\r\\n}\\r\\n.table {\\r\\n border-collapse: collapse;\\r\\n background-color: transparent;\\r\\n}\\r\\n.customtable {\\r\\n white-space: normal;\\r\\n}\\r\\ntable th.mat-header-cell>div>button {\\r\\n color: #000;\\r\\n text-transform: uppercase;\\r\\n font-size: 11px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.mat-cell{\\r\\n padding: 10px 5px;\\r\\n color: #01385f;\\r\\n}\\r\\n.mat-paginator {\\r\\n background-color: transparent !important;\\r\\n}\\r\\ni.fa.fa-plus {\\r\\n margin-right: 10px;\\r\\n}\\r\\n.table-responsive img {\\r\\n max-width: 47px;\\r\\n}\\r\\n.test_name_block{\\r\\n display: -webkit-box; /* Required for -webkit-line-clamp to work */\\r\\n -webkit-line-clamp: 4; /* Limit to 4 lines */\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: normal; /* Allow the text to wrap */\\r\\n max-height: 7em; /* Adjust this value to fit four lines, depends on line-height */\\r\\n line-height: 1.5em; /* Adjust this value according to your font size */\\r\\n}\\r\\n.dropdown-toggle::after{\\r\\n content: inherit;\\r\\n}\\r\\n/* hhs */\\r\\n/* .mat-cell{\\r\\n overflow: auto;\\r\\n} */\\r\\n.insurance_block{\\r\\n overflow: visible;\\r\\n}\\r\\n.insurance_block button#dropdownMenuButton {\\r\\n color: white;\\r\\n padding: 0px 10px;\\r\\n background: linear-gradient(90.06deg, #014971 0.32%, #03BECA 100.49%) !important;\\r\\n border: none;\\r\\n}\\r\\ntd.mat-cell,\\r\\ntd.mat-footer-cell,\\r\\nth.mat-header-cell {\\r\\n padding-left: 0.75rem !important;\\r\\n padding-right: 0.75rem !important;\\r\\n}\\r\\n.search-button {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border: none;\\r\\n background-image: url(\\\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220%2C0%2C256%2C256%22 width%3D%2230px%22 height%3D%2230px%22%3E%3Cg fill-opacity%3D%220.23922%22 fill%3D%22%23000000%22 fill-rule%3D%22nonzero%22 stroke%3D%22none%22 stroke-width%3D%221%22 stroke-linecap%3D%22butt%22 stroke-linejoin%3D%22miter%22 stroke-miterlimit%3D%2210%22 stroke-dasharray%3D%22%22 stroke-dashoffset%3D%220%22 font-family%3D%22none%22 font-weight%3D%22none%22 font-size%3D%22none%22 text-anchor%3D%22none%22 style%3D%22mix-blend-mode%3A normal%22%3E%3Cg transform%3D%22scale(8.53333%2C8.53333)%22%3E%3Cpath d%3D%22M13%2C3c-5.511%2C0 -10%2C4.489 -10%2C10c0%2C5.511 4.489%2C10 10%2C10c2.39651%2C0 4.59738%2C-0.85101 6.32227%2C-2.26367l5.9707%2C5.9707c0.25082%2C0.26124 0.62327%2C0.36648 0.97371%2C0.27512c0.35044%2C-0.09136 0.62411%2C-0.36503 0.71547%2C-0.71547c0.09136%2C-0.35044 -0.01388%2C-0.72289 -0.27512%2C-0.97371l-5.9707%2C-5.9707c1.41266%2C-1.72488 2.26367%2C-3.92576 2.26367%2C-6.32227c0%2C-5.511 -4.489%2C-10 -10%2C-10zM13%2C5c4.43012%2C0 8%2C3.56988 8%2C8c0%2C4.43012 -3.56988%2C8 -8%2C8c-4.43012%2C0 -8%2C-3.56988 -8%2C-8c0%2C-4.43012 3.56988%2C-8 8%2C-8z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-position: center;\\r\\n background-size: 20px 20px;\\r\\n border-radius: 0 4px 4px 0;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n right: 6px;\\r\\n color: grey;\\r\\n top: 4px;\\r\\n}\\r\\n.mat-header-cell {\\r\\n padding: 5px;\\r\\n font-size: 15px ;\\r\\n white-space: nowrap;\\r\\n color: #01385f;\\r\\n}\\r\\n.box{\\r\\n box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.2);\\r\\n border-radius: 10px;\\r\\n}\\r\\n.pos button{\\r\\n background-color: transparent;\\r\\n}\\r\\n/*Pagination*/\\r\\n.mat-paginator .mat-paginator-container {\\r\\n justify-content: space-between;\\r\\n}\\r\\n.bgcolor-circle {\\r\\n border: 1px solid #efefef;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n display: block;\\r\\n padding: 2px;\\r\\n border-radius: 50%;\\r\\n -webkit-border-radius: 50%;\\r\\n}\\r\\n.mat-row:nth-child(even) {\\r\\n /* background-color: #e4fbff; */\\r\\n background-color: #eafcff;\\r\\n /* margin: 10px 0;\\r\\n border-radius: 10px; */\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n }\\r\\n.mat-row .mat-cell {\\r\\n font-weight: 400;\\r\\n \\r\\n }\\r\\n.mat-row {\\r\\n background: white;\\r\\n /* border-radius: 10px; */\\r\\n padding: 0 0 0 10px;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n }\\r\\n.mat-header-row {\\r\\n background: white;\\r\\n padding: 0 0 0 10px;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n}\\r\\n.table-responsive {\\r\\n overflow-x: auto;\\r\\n width: 100%;\\r\\n}\\r\\n.responsive-table {\\r\\n width: 100%;\\r\\n min-width: 100%;\\r\\n}\\r\\n.mat-row , .mat-header-row {\\r\\n align-items: stretch;\\r\\n}\\r\\n.mat-row:nth-child(even) mat-cell{\\r\\nbackground: #eafcff;\\r\\n}\\r\\n.mat-row mat-cell , mat-header-row mat-header-cell{\\r\\n background: white;\\r\\n}\\r\\n/* @media (max-width: 1199px){\\r\\n .customtable {\\r\\n white-space: nowrap;\\r\\n }\\r\\n } */\\r\\n@media screen and (max-width:1600px) {\\r\\n mat-header-cell.lab_name_blkkk,\\r\\n mat-cell.lab_name_blkkk {\\r\\n flex: 0 0 130px;\\r\\n }\\r\\n mat-header-cell.lab_tname_blkkk,\\r\\n mat-cell.lab_tname_blkkk {\\r\\n flex: 0 0 150px;\\r\\n }\\r\\n mat-header-cell.lab_action_blkkk , mat-cell.lab_action_blkkk{\\r\\n flex: 0 0 80px;\\r\\n }\\r\\n mat-header-cell.lab_result_blkkk , mat-cell.lab_result_blkkk{\\r\\n flex: 0 0 100px;\\r\\n }\\r\\n mat-header-cell.lab_date_blkkk , mat-cell.lab_date_blkkk{\\r\\n flex: 0 0 120px;\\r\\n }\\r\\n mat-header-cell.lab_note_blkkk , mat-cell.lab_note_blkkk{\\r\\n flex: 0 0 70px;\\r\\n }\\r\\n}\\r\\n@media (max-width: 520px) {\\r\\n .mat-paginator .mat-paginator-container {\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n .mat-paginator-range-label {\\r\\n margin: 0px !important;\\r\\n }\\r\\n\\r\\n .mat-paginator-range-actions {\\r\\n display: inline-block !important;\\r\\n text-align: center;\\r\\n }\\r\\n mat-header-cell.lab_name_blkkk,\\r\\n mat-cell.lab_name_blkkk,\\r\\n mat-header-cell.lab_result_blkkk ,\\r\\n mat-cell.lab_result_blkkk {\\r\\n flex: 0 0 85px;\\r\\n }\\r\\n mat-header-cell.lab_tname_blkkk,\\r\\n mat-cell.lab_tname_blkkk {\\r\\n flex: 0 0 130px;\\r\\n }\\r\\n mat-header-cell.lab_action_blkkk , mat-cell.lab_action_blkkk{\\r\\n flex: 0 0 60px;\\r\\n }\\r\\n}\\r\\n.table-responsive .alert.alert-danger {\\r\\n border-radius: 0px;\\r\\n line-height: 39px;\\r\\n border: none;\\r\\n background: #fff3f3;\\r\\n width: 97%;\\r\\n margin-left: 7px;\\r\\n color: #d00;\\r\\n}\\r\\n.star {\\r\\n margin-right: -9px;\\r\\n font-size: 19px !important;\\r\\n}\\r\\n.average-rating {\\r\\n font-size: 12px !important;\\r\\n line-height: 30px;\\r\\n}\\r\\n.buttons {\\r\\n height: 26px;\\r\\n width: 10px;\\r\\n font-size: 14px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n.viewww {\\r\\n background: transparent;\\r\\n /* opacity: 0.4; */\\r\\n}\\r\\ninput#mat-input {\\r\\n border-bottom: 1px solid rgba(0, 0, 0, 0.16);\\r\\n}\\r\\n@media screen and (max-width:991px) {\\r\\n .radiology_blkkk {\\r\\n flex-direction: column-reverse;\\r\\n }\\r\\n\\r\\n .radiology_blkkk .col-lg-8,\\r\\n .radiology_blkkk .col-lg-4 {\\r\\n padding: 0;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .radiology_blkkk .col-md-3.col-sm-6 {\\r\\n padding: 0;\\r\\n }\\r\\n}\"","module.exports = \"

{{ \\\"add_lab_referral\\\" | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n {{\\r\\n \\\"lab_name\\\" | translate\\r\\n }}\\r\\n \\r\\n {{ element.labName }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ \\\"test_name\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n • {{ item }}\\r\\n
\\r\\n
\\r\\n\\r\\n
3\\\"\\r\\n style=\\\"width: 100%; display: flex; justify-content: right\\\">\\r\\n .....\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n {{ \\\"patient_name\\\" | translate }}\\r\\n \\r\\n \\r\\n {{ element.patientName }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ \\\"status\\\" | translate }}\\r\\n \\r\\n \\r\\n {{ element.status }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ \\\"Referral Date\\\" | translate }}\\r\\n \\r\\n \\r\\n {{ element.createdDate | date : \\\"dd/MM/yyyy\\\" }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ \\\"notes\\\" | translate }}\\r\\n \\r\\n {{ element.notes }} \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ \\\"collection_date\\\" | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ element.testCollectionDate | date : \\\"dd/MM/yyyy\\\" }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n {{'Qr Code'|translate}} \\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n ---- \\r\\n \\r\\n \\r\\n \\r\\n {{'Result QR'|translate}} \\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n ---- \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ \\\"actions\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport {\r\n MatDatepickerInputEvent,\r\n MatDialog,\r\n MatPaginator,\r\n MatTableDataSource,\r\n} from \"@angular/material\";\r\nimport { ClientsService } from \"../../client-portal/clients.service\";\r\nimport { ResponseModel } from \"../../core/modals/common-model\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { AddLabReferralModalComponent } from \"../add-lab-referral-modal/add-lab-referral-modal.component\";\r\nimport { LabTestDownloadModalComponent } from \"../lab-test-download-modal/lab-test-download-modal.component\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { QRImageInhanserComponent } from \"src/app/shared/QrCodeScanPage/qrimage-inhanser/qrimage-inhanser.component\";\r\n\r\n@Component({\r\n selector: \"app-lab-referral\",\r\n templateUrl: \"./lab-referral.component.html\",\r\n styleUrls: [\"./lab-referral.component.css\"],\r\n})\r\nexport class LabReferralComponent implements OnInit {\r\n @Input() appointmentId: number = 0;\r\n @Input() encryptedPatientId;\r\n patientId: number = 0;\r\n dp1: any;\r\n dp2: Date = new Date();\r\n\r\n public pageSize = 5;\r\n public currentPage = 0;\r\n public totalSize = 0;\r\n actionButtons: Array = [\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n ];\r\n\r\n displayColumns: Array = [\r\n {\r\n displayName: \"Lab Name\",\r\n key: \"labName\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"Test Name\",\r\n key: \"testName\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"PatientName\",\r\n key: \"patientName\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"Status\",\r\n key: \"status\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"statusReportupload\",\r\n },\r\n {\r\n displayName: \"Created Date\",\r\n key: \"createdDate\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"date\",\r\n },\r\n {\r\n displayName: \"Notes\",\r\n key: \"notes\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"Actions\",\r\n key: \"Actions\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n ];\r\n displayedColumns = [\r\n \"Lab Name\",\r\n \"Test Name\",\r\n \"Patient Name\",\r\n \"Status\",\r\n \"Referal Date\",\r\n \"Notes\",\r\n \"Collection Date\",\r\n // \"Insurance/ Others\",\r\n // \"Referral\",\r\n \"QrCode\",\r\n \"Result QR\",\r\n \"Actions\",\r\n ];\r\n labReferralList: any;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n metaData: any;\r\n userId: number = 0;\r\n currentUser: any;\r\n roleId: number = 325; // role id for lab\r\n testFormGroup: FormGroup;\r\n constructor(\r\n private datePipe: DatePipe,\r\n private formBuilder: FormBuilder,\r\n private dialogModal: MatDialog,\r\n private commonService: CommonService,\r\n private clientService: ClientsService,\r\n private notifierService: NotifierService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.dp2 = new Date();\r\n this.commonService.currentLoginUserInfo.subscribe((user) => {\r\n this.currentUser = user;\r\n });\r\n if (this.encryptedPatientId != undefined) {\r\n this.patientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n } else {\r\n this.patientId = 0;\r\n this.appointmentId = 0;\r\n }\r\n this.testFormGroup = this.formBuilder.group({\r\n searchKey: \"\",\r\n rangeStartDate: \"\",\r\n rangeEndDate: \"\",\r\n });\r\n // this.setIntialValues();\r\n this.getAllLabReferrals();\r\n }\r\n get f() {\r\n return this.testFormGroup.controls;\r\n }\r\n setIntialValues() {\r\n var date = new Date();\r\n this.f.rangeStartDate.setValue(\r\n new Date(date.getFullYear(), date.getMonth() - 0, 1)\r\n );\r\n this.f.rangeEndDate.setValue(\r\n new Date(date.getFullYear(), date.getMonth() + 1, 0)\r\n );\r\n }\r\n applyStartDateFilter(event: MatDatepickerInputEvent) {\r\n this.f.rangeStartDate.setValue(new Date(event.value));\r\n this.getAllLabReferrals();\r\n }\r\n applyEndDateFilter(event: MatDatepickerInputEvent) {\r\n this.f.rangeEndDate.setValue(new Date(event.value));\r\n this.getAllLabReferrals();\r\n }\r\n\r\n onTableActionClick(action: any, data: any) {\r\n const actionObj = {\r\n action,\r\n data,\r\n };\r\n if (actionObj.action == \"view\") {\r\n this.openTestDownloadModal(actionObj);\r\n }\r\n }\r\n openTestDownloadModal(data: any) {\r\n const modalPopup = this.dialogModal.open(LabTestDownloadModalComponent, {\r\n hasBackdrop: true,\r\n width: \"30%\",\r\n data: data,\r\n });\r\n modalPopup.afterClosed().subscribe((result) => {});\r\n }\r\n createReferral() {\r\n let referralModal;\r\n referralModal = this.dialogModal.open(AddLabReferralModalComponent, {\r\n data: {\r\n id: this.userId,\r\n //referralList: this.labReferralList,\r\n patientId: this.patientId,\r\n appointmentId: this.appointmentId,\r\n },\r\n });\r\n referralModal.afterClosed().subscribe((result) => {\r\n if (result == \"save\") {\r\n this.getAllLabReferrals();\r\n }\r\n });\r\n }\r\n\r\n\r\n ReshareLabReferral(data:any) {\r\n console.log(\"Lab refferal data\", data);\r\n let referralModal;\r\n referralModal = this.dialogModal.open(AddLabReferralModalComponent, {\r\n data: {\r\n id: this.userId,\r\n //referralList: this.labReferralList,\r\n \r\n appointmentId: this.appointmentId,\r\n testIds:data.testIds,\r\n patientId:data.patientId,\r\n notes:data.notes,\r\n labId:data.labId\r\n },\r\n });\r\n referralModal.afterClosed().subscribe((result) => {\r\n if (result == \"save\") {\r\n this.getAllLabReferrals();\r\n }\r\n });\r\n }\r\n\r\n getAllLabReferrals() {\r\n // let fromDate = this.f.rangeStartDate.value == null? '' : this.f.rangeStartDate.value;\r\n // let toDate = this.f.rangeEndDate.value == null? '' : this.f.rangeEndDate.value;\r\n // let searchKey = this.f.searchKey.value == null? '' : this.f.searchKey.value;\r\n let fromDate =\r\n this.f.rangeStartDate.value != null && this.f.rangeStartDate.value != \"\"\r\n ? this.datePipe.transform(\r\n new Date(this.f.rangeStartDate.value),\r\n \"MM/dd/yyyy\"\r\n )\r\n : \"\";\r\n let toDate =\r\n this.f.rangeEndDate.value != null && this.f.rangeEndDate.value != \"\"\r\n ? this.datePipe.transform(\r\n new Date(this.f.rangeEndDate.value),\r\n \"MM/dd/yyyy\"\r\n )\r\n : \"\";\r\n let searchKey =\r\n this.f.searchKey.value == null ? \"\" : this.f.searchKey.value;\r\n\r\n this.clientService\r\n .getAllLabReferrals(\r\n this.currentUser.users3.userRoles.roleName.toLowerCase() !== \"patient\"?this.currentUser.id:0,\r\n this.patientId,\r\n 'LAB',\r\n this.appointmentId,\r\n searchKey,\r\n fromDate,\r\n toDate,\r\n this.pageSize,\r\n this.currentPage + 1\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n // this.clientService.getAllLabReferrals(this.currentUser.id, this.roleId, this.appointmentId, '', new Date(),new Date()).subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n // console.log(response.data);\r\n\r\n response.data.map((ele) =>\r\n ele.labName\r\n ? (ele.labName = ele.labName)\r\n : (ele.labName = ele.fullLabName)\r\n );\r\n this.totalSize = response.data ? response.data[0].totalRecord : 0;\r\n this.labReferralList = new MatTableDataSource(response.data);\r\n // this.labReferralList = response.data;\r\n // this.metaData = response.meta;\r\n } else {\r\n this.labReferralList = [];\r\n this.metaData = null;\r\n this.totalSize = 0;\r\n }\r\n });\r\n }\r\n\r\n clearFilters() {\r\n this.testFormGroup.reset();\r\n this.currentPage = 0;\r\n this.pageSize = 5;\r\n\r\n this.getAllLabReferrals();\r\n }\r\n downloadTemplate = (act) => {\r\n \r\n let fileName = act.patientName;\r\n this.clientService\r\n .getLabReferralPdfById(act.labReferralId)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = fileURL;\r\n a.download = fileName;\r\n a.click();\r\n a.remove();\r\n\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(file);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n };\r\n viewDocument = (act) => {\r\n // window.open(act.data.url, '_blank')\r\n this.clientService\r\n .getLabReferralPdfById(act.labReferralId)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let newBlob = new Blob([uIntArray], { type: \"application/pdf\" });\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n };\r\n viewInsuranceDocument(act: any) {\r\n this.clientService\r\n .PatientInsurancePdfByPatientId(this.currentUser.id)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let newBlob = new Blob([uIntArray], { type: \"application/pdf\" });\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n }\r\n downloadInsuranceTemplate(act: any) {\r\n let fileName = act.patientName;\r\n this.clientService\r\n .PatientInsurancePdfByPatientId(this.currentUser.id)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = fileURL;\r\n a.download = fileName;\r\n a.click();\r\n a.remove();\r\n\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(file);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n }\r\n\r\n setPagePaginator = (event: any) => {\r\n // console.log(event);\r\n this.pageSize = event.pageSize;\r\n this.currentPage = event.pageIndex;\r\n this.getAllLabReferrals();\r\n };\r\n\r\n imageInhancer = (element, type) => {\r\n element.type = type;\r\n const modalPopup = this.dialogModal.open(QRImageInhanserComponent, {\r\n hasBackdrop: true,\r\n minWidth: \"0%\",\r\n width: \"20%\",\r\n height: \"40vh\",\r\n data: element,\r\n });\r\n };\r\n}\r\n","export class LabReferralModel {\r\n public labId: number;\r\n public patientId: number;\r\n public appointmentId: number;\r\n public testId: number;\r\n public Status: string;\r\n public ProviderId: number;\r\n public FileName: string = \"\";\r\n public UploadedPath: string = \"\";\r\n public CreatedBy: number;\r\n public notes: string = \"\";\r\n public signature: string;\r\n public logoBase64: string;\r\n public stampBase64: string;\r\n public referTo: string;\r\n}","module.exports = \".downloadbutton{\\r\\n background: none;\\r\\n border: none;\\r\\n}\\r\\n.panel_two {\\r\\n box-shadow: none !important;\\r\\n background-color: white !important;\\r\\n}\\r\\n.blk_data {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: space-between;\\r\\n background: #f1eeee;\\r\\n border-radius: 5px;\\r\\n margin-bottom: 10px;\\r\\n color: #01385f;\\r\\n}\\r\\n.panel_two .mat-tab-body-content {\\r\\n overflow: hidden !important;\\r\\n}\"","module.exports = \"
\\r\\n

{{'Download Files'|translate}}

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

{{'Uploaded documents'|translate}}

\\r\\n
\\r\\n {{'No document uploaded yet'|translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ i + 1 }}  \\r\\n
{{ result.originalFileName |translate}}  
\\r\\n
\\r\\n
\\r\\n \\r\\n  \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n ---- \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'SR. no.'|translate}}{{\\\"test_name\\\"|translate}}
{{ i + 1 }}\\r\\n {{ t.TestName }}\\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, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { ClientsService } from \"../../client-portal/clients-details/clients.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-lab-test-download-modal\",\r\n templateUrl: \"./lab-test-download-modal.component.html\",\r\n styleUrls: [\"./lab-test-download-modal.component.css\"],\r\n})\r\nexport class LabTestDownloadModalComponent implements OnInit {\r\n selectedLabReferral: any;\r\n testIds: Array = [];\r\n testNames: Array = [];\r\n labReferralTestMappings: Array = [];\r\n isReadytoDownload: boolean = false;\r\n testResultDocument: any[] = [];\r\n testList: Array<{\r\n LabReferralTestId: number;\r\n TestName: string;\r\n TestId: number;\r\n labReferralId: number;\r\n }> = [];\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private clientService: ClientsService,\r\n private translate:TranslateService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.selectedLabReferral = this.data;\r\n this.testNames = this.data.testName.split(\"|\");\r\n this.testIds = this.data.testIds.split(\"|\");\r\n // console.log(this.data);\r\n }\r\n\r\n ngOnInit() {\r\n // this.labReferralTestMappings =\r\n // this.data.labReferralTestMappingId.split(\"/\");\r\n\r\n if (this.data.status != \"Report Uploaded\") {\r\n this.isReadytoDownload = true;\r\n }\r\n for (let i = 0; i < this.testNames.length; i++) {\r\n this.testList.push({\r\n LabReferralTestId: this.labReferralTestMappings[i],\r\n labReferralId: this.selectedLabReferral.labReferralId,\r\n TestName: this.testNames[i],\r\n TestId: this.testIds[i],\r\n });\r\n }\r\n this.getLabResult();\r\n }\r\n downloadFile(event, fileName) {\r\n this.clientService.downloadLabFile(event).subscribe((response: any) => {\r\n this.clientService.downloadFile(response, response.type, fileName);\r\n });\r\n }\r\n closeDialog(action: string) {\r\n this.dialogModalRef.close(action);\r\n }\r\n getLabResult = () => {\r\n this.clientService\r\n .GetAllLabReferralResultDocByReverralId(this.data.labReferralId)\r\n .subscribe((res: any) => {\r\n this.testResultDocument = res.data?res.data:[];\r\n });\r\n };\r\n\r\n viewDocument = (event, fileName) => {\r\n // window.open(act.data.url, '_blank')\r\n // this.clientService.getLabReferralPdfById(act.id).subscribe((response: any) => {\r\n\r\n \r\n this.clientService.downloadLabFile(event).subscribe((response: any) => {\r\n // this.clientService.downloadFile(response, response.type, fileName);\r\n \r\n var newBlob = new Blob([response], { type: response.type });\r\n \r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n \r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }); \r\n //});\r\n };\r\n}\r\n\r\n","export class ServiceCodeModal {\r\n id?: number = 0;\r\n serviceCode?: string = \"\";\r\n ruleID?: number = null;\r\n unitDuration?: number = null;\r\n unitTypeID?: number = null;\r\n ratePerUnit?: number = null;\r\n description?: string = \"\";\r\n modifierModel?: Modifier[];\r\n isBillable?: boolean = false;\r\n isRequiredAuthorization?: boolean = false;\r\n type?: string = \"\";\r\n totalRecords?: number = null;\r\n isBillableStatus?: string = \"\";\r\n reqAuthStatus?: string = \"\";\r\n serviceCodeId?: number = 0;\r\n}\r\n\r\nexport class Modifier {\r\n modifier?: string = \"\";\r\n rate?: number = null;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonService } from '../../../core/services';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ServiceCodeModal } from './service-code.modal';\r\nimport { FilterModel } from '../../../core/modals/common-model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ServiceCodeService {\r\n createURL = 'api/MasterServiceCodes/SaveMasterServiceCode';\r\n deleteURL = 'api/MasterServiceCodes/DeleteMasterServiceCodes';\r\n getURL = 'api/MasterServiceCodes/GetMasterServiceCodeById';\r\n getAllURL = 'api/MasterServiceCodes/GetMasterServiceCodes';\r\n checkIfExistUrl= 'CheckIfRecordExists';\r\n\r\n constructor(private commonService: CommonService) { }\r\n\r\n getMasterData(masterData: any): Observable {\r\n return this.commonService.post('api/MasterData/MasterDataByName', masterData);\r\n }\r\n\r\n validate(postData: any) {\r\n return this.commonService.post(this.checkIfExistUrl, postData);\r\n }\r\n create(modalData: ServiceCodeModal): Observable {\r\n return this.commonService.post(this.createURL, modalData)\r\n .pipe(map((response: any) => {\r\n let data = response;\r\n return data;\r\n }))\r\n }\r\n delete(id: number) {\r\n return this.commonService.post(`${this.deleteURL}?servicecodeId=${id}`, {})\r\n }\r\n get(id: number) : Observable {\r\n let url = `${this.getURL}?serviceCodeId=${id}`;\r\n return this.commonService.getById(url, {})\r\n .pipe(map((response: any) => {\r\n let data = new ServiceCodeModal();\r\n if (response.statusCode >= 200 && response.statusCode < 300 && response.statusCode !== 204) {\r\n data = response.data;\r\n }\r\n return data;\r\n }))\r\n }\r\n getAll(filterModal: FilterModel) {\r\n let url = this.getAllURL + '?pageNumber=' + filterModal.pageNumber + '&pageSize=' + filterModal.pageSize + '&sortColumn=' + filterModal.sortColumn + '&sortOrder=' + filterModal.sortOrder + '&searchText=' + filterModal.searchText;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n return this.commonService.getUserScreenActionPermissions(moduleName, screenName);\r\n }\r\n}\r\n","import { SpecialityModel } from \"./speciality.model\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { FilterModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { Observable } from \"rxjs\";\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SpecialityService {\r\n getAllURL: string = \"api/GlobalCode/GetGlobalCodes\";\r\n getByIdURL: string = \"api/GlobalCode/GetGlobalCodeById?Id=\";\r\n checkServiceNameExistsURL: string = \"api/GlobalCode/CheckGlobalCodeExistance?name=\";\r\n createURL: string = \"api/GlobalCode/SaveGlobalCode\";\r\n deleteURL: string = \"api/GlobalCode/DeleteGlobalCode\";\r\n getMasterDataURL = 'api/MasterData/MasterDataByName';\r\n getSpecialityUrl:string = \"api/GlobalCode/GetGlobalServiceIconName\";\r\n sizeInMB :any;\r\n constructor(private commonService: CommonService) {}\r\n getAll(filterModel: FilterModel): any {\r\n let url =\r\n this.getAllURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&sortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&sortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&searchText=\" +\r\n filterModel.searchText;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getById(id: string) {\r\n\r\n return this.commonService.getById(this.getByIdURL + id, {});\r\n }\r\n validate(name: string) {\r\n return this.commonService.getById(\r\n this.checkServiceNameExistsURL + name,\r\n {}\r\n );\r\n }\r\n create(serviceModel: SpecialityModel): Observable {\r\n return this.commonService.post(this.createURL, serviceModel);\r\n }\r\n delete(id: number) {\r\n\r\n return this.commonService.post(this.deleteURL + \"?id=\" + id, {});\r\n }\r\n getMasterData(value: string = '') {\r\n return this.commonService.post(this.getMasterDataURL, { masterdata: value });\r\n }\r\n isValidFileType(fileName, fileType): boolean {\r\n // Create an object for all extension lists\r\n\r\n // if(fileName.type== 'image/svg+xml'){\r\n // fileName.type =fileName.type.slice('+').pop();\r\n // }\r\n let extentionLists = { video: [], image: [], pdf: [], excel: [], xml: [] };\r\n let isValidType = false;\r\n extentionLists.video = [\"m4v\", \"avi\", \"mpg\", \"mp4\"];\r\n extentionLists.image = [\"png\", \"svg\"];\r\n extentionLists.pdf = [\"pdf\"];\r\n extentionLists.excel = [\"excel\"];\r\n extentionLists.xml = [\"xml\"];\r\n //get the extension of the selected file.\r\n let fileExtension = fileName.name.split(\".\").pop().toLowerCase();\r\n isValidType = extentionLists[fileType].indexOf(fileExtension) > -1;\r\n if (isValidType) {\r\n this.sizeInMB = (fileName.size / (1024 * 1024)).toFixed(2);\r\n if (this.sizeInMB > 2) {\r\n isValidType = false;\r\n }\r\n else{\r\n isValidType = true;\r\n }\r\n }\r\n return isValidType;\r\n }\r\n getSpecialityIconName(){\r\n return this.commonService.getAll(this.getSpecialityUrl, {});\r\n }\r\n}\r\n","module.exports = \".msgtext{\\r\\n width: 60vw;\\r\\n\\r\\n}\\r\\n\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n

Welcome {{ this.userData.firstName }} {{ this.userData.lastName }}

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

\\r\\n \\r\\n {{\\\"we_are_excited_that_you_are_joining,_please_note_you_will_need_to_add_all_your_information_including_your_documents_and_credentials_to_complete_your_verification,\\\" | translate }}\\r\\n\\r\\n

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

Once MHG admin verfies your account you will be able to use\\r\\n all the functions available.

\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { CommonService } from \"../../core/services\";\r\n\r\n@Component({\r\n selector: \"app-provider-msg\",\r\n templateUrl: \"./provider-msg.component.html\",\r\n styleUrls: [\"./provider-msg.component.css\"],\r\n})\r\nexport class ProviderMsgComponent implements OnInit {\r\n userData;\r\n \r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private translate:TranslateService,\r\n private commonservice:CommonService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.userData=data\r\n }\r\n\r\n ngOnInit() {\r\n // console.log(this.data)\r\n \r\n }\r\n\r\n closeDialog=()=> {\r\n this.dialogModalRef.close();\r\n }\r\n}\r\n","module.exports = \".diacomImages{\\r\\n cursor: pointer;\\r\\n color: #01385f;\\r\\n}\\r\\n.diacomImages:hover{\\r\\n color: #17a2b8;\\r\\n text-decoration: underline;\\r\\n font-weight: bold\\r\\n}\\r\\n.test_details_bkl th, .test_details_bkl td {\\r\\n font-size: 16px;\\r\\n}\\r\\n::ng-deep .mat-dialog-content {\\r\\n padding: 0 !important;\\r\\n}\\r\\nh3 {\\r\\n background: #01385f;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n font-weight: 500 !important;\\r\\n line-height: 20px !important;\\r\\n padding: 15px 20px !important;\\r\\n text-transform: uppercase;\\r\\n margin: 0px 0px 10px 0px;\\r\\n}\\r\\nh2 {\\r\\n font-weight: 600;\\r\\n}\\r\\n@media screen and (max-width:768px) {\\r\\n .test_details_bkl th, .test_details_bkl td {\\r\\n font-size: 13px;\\r\\n padding: 10px;\\r\\n }\\r\\n h4, h2 {\\r\\n font-size: 15px;\\r\\n }\\r\\n .no_data {\\r\\n font-size: 13px;\\r\\n }\\r\\n .upload_imh {\\r\\n font-size: 13px;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .data_blkkk {\\r\\n font-size: 13px;\\r\\n }\\r\\n .diacomImages a {\\r\\n word-break: break-all;\\r\\n font-size: 13px;\\r\\n }\\r\\n}\"","module.exports = \"

{{\\\"Test Details\\\"|translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{\\\"upload_document\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"Upload Url\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ item.fileName }}  \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"documents\\\"|translate}}

\\r\\n \\r\\n {{\\\"No document uploaded yet!\\\"|translate}}\\r\\n
\\r\\n \\r\\n {{ i + 1 }}.  {{ result.originalFileName }}  \\r\\n  \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"url\\\"|translate}}

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{\\\"No document url yet\\\"|translate}}!\\r\\n
\\r\\n \\r\\n {{ i + 1 }}. \\r\\n {{\\r\\n url.radiologyReferralUrl\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n {{\\\"close\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"save\\\"|translate}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Sr. No{{\\\"test_name\\\"|translate}}
{{ i + 1 }}{{ t.TestName }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\\"close\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{\\\"Upload to PACS Server\\\"|translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n
{{\\\"New DICOM Document\\\"|translate}}
\\r\\n \\r\\n {{ item.name }}\\r\\n   \\r\\n
\\r\\n \\r\\n\\r\\n 0\\\"\\r\\n >\\r\\n
{{\\\"DICOM Document\\\"|translate}}
\\r\\n \\r\\n {{ i + 1 }}. {{ file.fileName }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{\\\"DICOM not uploaded yet\\\"|translate}}!\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{\\\"close\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"save\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\"","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport {\r\n Component,\r\n ElementRef,\r\n Inject,\r\n OnInit,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { ResponseModel } from \"../../core/modals/common-model\";\r\nimport { ClientsService } from \"../../client-portal/clients.service\";\r\nimport { FormArray, FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { switchMap } from \"rxjs/operators\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { PatientRadioData } from \"src/app/shared/models/sidebarInfo\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: \"app-radiology-referral-file-upload\",\r\n templateUrl: \"./radiology-referral-file-upload.component.html\",\r\n styleUrls: [\"./radiology-referral-file-upload.component.css\"],\r\n})\r\nexport class RadiologyReferralFileUploadComponent implements OnInit {\r\n testResultDocument: any[] = [];\r\n @ViewChild(\"fileInput\") fileInput: ElementRef;\r\n testNames: Array = [];\r\n testIds: Array = [];\r\n selectedLabReferral: any;\r\n testList: Array<{ TestName: string; TestId: number; labReferralId: number }> =\r\n [];\r\n fileList: Array = [];\r\n\r\n fileListDicom: Array = [];\r\n existingFilesListDicom: any[] = [];\r\n dataURL: any;\r\n\r\n form: FormGroup;\r\n savedURLs: string[] = [];\r\n fieldName: any;\r\n\r\n //patientRadiologyDocumentUrlList: any[] = [];\r\n //patientResultRadiologyDicomDocumentList: any[] = [];\r\n //radilogyDocRes: any[] = [];\r\n allData: PatientRadioData;\r\n\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n private notifier: NotifierService,\r\n private clientService: ClientsService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private http: HttpClient,\r\n private fb: FormBuilder,\r\n private translate:TranslateService,\r\n\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n // console.log(this.data);\r\n this.selectedLabReferral = this.data;\r\n this.testNames = this.data.testName.split(\"|\");\r\n this.testIds = this.data.testIds.split(\"|\");\r\n this.form = this.fb.group({\r\n inputsUrlArray: this.fb.array([]),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n for (let i = 0; i < this.testIds.length; i++) {\r\n this.testList.push({\r\n labReferralId: this.selectedLabReferral.labReferralId,\r\n TestName: this.testNames[i],\r\n TestId: this.testIds[i],\r\n });\r\n // console.log(this.testList);\r\n }\r\n\r\n //this.getLabResult();\r\n // this.getUploadedDicomFiles();\r\n this.getUploadedRadiologyUrl();\r\n this.addInput();\r\n }\r\n\r\n get formControls() {\r\n return this.form.value;\r\n }\r\n\r\n get inputArray() {\r\n return this.form.get(\"inputsUrlArray\") as FormArray;\r\n }\r\n\r\n //RadiologyURL\r\n addInput() {\r\n this.inputArray.push(\r\n this.fb.group({\r\n url: \"\",\r\n })\r\n );\r\n }\r\n removeInput(index: number) {\r\n this.inputArray.removeAt(index);\r\n }\r\n\r\n saveURLs = (urls) => {\r\n const data = {\r\n labReferralId: this.data.labReferralId,\r\n documentUrl: urls,\r\n };\r\n this.clientService.uploadRadiologyUrl(data).subscribe((response) => {\r\n if (response && response.statusCode == 200) {\r\n while (this.inputArray.value.length !== 0) {\r\n this.inputArray.removeAt(0);\r\n }\r\n this.fieldName = \"\";\r\n this.getUploadedRadiologyUrl();\r\n this.notifier.notify(\"success\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n };\r\n\r\n getUploadedRadiologyUrl() {\r\n this.clientService\r\n .getUploadedRadiologyUrl(this.data.labReferralId)\r\n .subscribe((response) => {\r\n if (response.data) {\r\n this.allData = response.data;\r\n // console.log(this.allData);\r\n }\r\n });\r\n }\r\n\r\n closeDialog(action: string) {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n uploadDoc_Url = (field) => {\r\n this.fieldName = field;\r\n };\r\n\r\n openUrlInNewWindow(url: string) {\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n handleImageChange(e, labReferralId) {\r\n let file_data = e.target.files;\r\n if (file_data.length > 0) {\r\n // Define a function to read each file asynchronously\r\n const readFile = (file) => {\r\n return new Promise((resolve, reject) => {\r\n let fileExtension = file.name.split(\".\").pop().toLowerCase();\r\n let reader = new FileReader();\r\n reader.onload = () => {\r\n resolve({\r\n // data: reader.result,\r\n ext: fileExtension,\r\n fileName: file.name,\r\n // testId: testId,\r\n labReferralId: labReferralId,\r\n data: reader.result,\r\n });\r\n };\r\n reader.onerror = reject;\r\n reader.readAsDataURL(file);\r\n });\r\n };\r\n\r\n // Use Promise.all to wait for all files to be processed\r\n Promise.all(Array.from(file_data).map((file) => readFile(file)))\r\n .then((fileList) => {\r\n // Add processed files to this.fileList\r\n this.fileList.push(...fileList);\r\n })\r\n .catch((error) => {\r\n // console.error(\"Error reading files:\", error);\r\n });\r\n }\r\n }\r\n\r\n deleteFile = (index) => {\r\n this.fileList.splice(index, 1);\r\n if (this.fileList.length == 0) {\r\n this.fileInput.nativeElement.value = null;\r\n }\r\n };\r\n\r\n deleteFileDicom = (index) => {\r\n let tempFileName = Array.from(this.fileListDicom);\r\n // console.log(\"Before Files\", this.fileListDicom);\r\n tempFileName.splice(index, 1);\r\n\r\n this.fileListDicom = tempFileName;\r\n // console.log(\"After Files\", this.fileListDicom);\r\n };\r\n\r\n getUploadedDicomFiles() {\r\n this.clientService\r\n .getUploadedDicomFiles(this.data.labReferralId)\r\n .subscribe((filename) => {\r\n this.existingFilesListDicom = filename.data;\r\n // console.log(\"Uploaded dicom files\", this.existingFilesListDicom);\r\n });\r\n }\r\n\r\n openDicomViewer(file: any) {\r\n this.clientService.getUrlForViewer(file.id).subscribe(\r\n (response: any) => {\r\n window.open(response.message, \"_blank\");\r\n },\r\n (error) => {\r\n // console.error(\"Failed to retrieve DICOM viewer URL:\", error);\r\n }\r\n );\r\n }\r\n\r\n handleImageChangeDicom(event: any) {\r\n // this.fileListDicom = event.target.files;\r\n const files: FileList = event.target.files;\r\n\r\n if (files && files.length > 0) {\r\n this.fileListDicom = [];\r\n for (let i = 0; i < files.length; i++) {\r\n this.fileListDicom.push(files[i]);\r\n }\r\n }\r\n // console.log(\"Files selected:\", this.fileListDicom);\r\n }\r\n\r\n onSubmitDicom() {\r\n var command: any = {\r\n LabReferralId: this.data.labReferralId,\r\n // TrainingContantPath: this.dataURL,\r\n // state: 'add'\r\n };\r\n var formData = new FormData();\r\n for (let i = 0; i < this.fileListDicom.length; i++) {\r\n formData.append(`file${i}`, this.fileListDicom[i]);\r\n }\r\n formData.append('labReferal', JSON.stringify(command));\r\n\r\n this.clientService\r\n .uploadDicomfile(formData)\r\n .subscribe(\r\n (response) => {\r\n // console.log(\"Files uploaded successfully\");\r\n let tempFileName = Array.from(this.fileListDicom);\r\n tempFileName.length = 0;\r\n this.fileListDicom = tempFileName;\r\n this.getUploadedRadiologyUrl();\r\n this.notifier.notify(\"success\", response.message);\r\n },\r\n (error) => {\r\n this.notifier.notify(\"error\", error.message);\r\n // console.error(\"Error uploading files:\", error);\r\n }\r\n );\r\n }\r\n\r\n async onSubmit() {\r\n const urls = this.inputArray.controls\r\n .map((control) => control.value.url)\r\n .filter((url) => url);\r\n const documents = this.fileList;\r\n\r\n if (documents.length > 0) {\r\n this.clientService\r\n .updateLabReferral(documents)\r\n .subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.fileList.length = 0;\r\n this.fieldName = \"\";\r\n this.notifier.notify(\"success\", response.message);\r\n this.getUploadedRadiologyUrl();\r\n if (urls.length > 0) {\r\n this.saveURLs(urls);\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n } else if (urls.length > 0) {\r\n this.saveURLs(urls);\r\n } else {\r\n this.notifier.notify(\"error\", \"Both document and URL cannot be empty.\");\r\n }\r\n }\r\n\r\n getLabResult = () => {\r\n this.clientService\r\n .GetAllLabReferralResultDocByReverralId(this.data.labReferralId)\r\n .subscribe((res: any) => {\r\n this.testResultDocument = res.data ? res.data : [];\r\n });\r\n };\r\n\r\n downloadFile(event, fileName) {\r\n this.clientService.downloadLabFile(event).subscribe((response: any) => {\r\n this.clientService.downloadFile(response, response.type, fileName);\r\n });\r\n }\r\n\r\n viewDocument = (act) => {\r\n if (act) {\r\n let byteChar = atob(act.base64);\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let newBlob = new Blob([uIntArray], { type: \"application/pdf\" });\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n };\r\n}\r\n","module.exports = \"/*Table Css*/\\r\\ntable {\\r\\n width: 100%;\\r\\n}\\r\\n.fa-custom {\\r\\n font-size: 1em;\\r\\n color: #fff;\\r\\n}\\r\\n.table {\\r\\n border-collapse: collapse;\\r\\n background-color: transparent;\\r\\n}\\r\\n.mat-cell {\\r\\n padding: 10px 5px;\\r\\n color: #01385f;\\r\\n}\\r\\n.customtable {\\r\\n white-space: normal;\\r\\n}\\r\\ntable th.mat-header-cell>div>button {\\r\\n color: #000;\\r\\n text-transform: uppercase;\\r\\n font-size: 11px;\\r\\n font-weight: 500;\\r\\n}\\r\\ntd.mat-cell,\\r\\ntd.mat-footer-cell,\\r\\nth.mat-header-cell {\\r\\n padding-left: 0.75rem !important;\\r\\n padding-right: 0.75rem !important;\\r\\n}\\r\\n.mat-row:hover {\\r\\n /* background: #f7f5f5; */\\r\\n}\\r\\n/*Pagination*/\\r\\n.mat-paginator .mat-paginator-container {\\r\\n justify-content: space-between;\\r\\n}\\r\\n.bgcolor-circle {\\r\\n border: 1px solid #efefef;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n display: block;\\r\\n padding: 2px;\\r\\n border-radius: 50%;\\r\\n -webkit-border-radius: 50%;\\r\\n}\\r\\n.mat-paginator {\\r\\n background-color: transparent !important;\\r\\n}\\r\\n.search-button {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border: none;\\r\\n background-image: url(\\\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220%2C0%2C256%2C256%22 width%3D%2230px%22 height%3D%2230px%22%3E%3Cg fill-opacity%3D%220.23922%22 fill%3D%22%23000000%22 fill-rule%3D%22nonzero%22 stroke%3D%22none%22 stroke-width%3D%221%22 stroke-linecap%3D%22butt%22 stroke-linejoin%3D%22miter%22 stroke-miterlimit%3D%2210%22 stroke-dasharray%3D%22%22 stroke-dashoffset%3D%220%22 font-family%3D%22none%22 font-weight%3D%22none%22 font-size%3D%22none%22 text-anchor%3D%22none%22 style%3D%22mix-blend-mode%3A normal%22%3E%3Cg transform%3D%22scale(8.53333%2C8.53333)%22%3E%3Cpath d%3D%22M13%2C3c-5.511%2C0 -10%2C4.489 -10%2C10c0%2C5.511 4.489%2C10 10%2C10c2.39651%2C0 4.59738%2C-0.85101 6.32227%2C-2.26367l5.9707%2C5.9707c0.25082%2C0.26124 0.62327%2C0.36648 0.97371%2C0.27512c0.35044%2C-0.09136 0.62411%2C-0.36503 0.71547%2C-0.71547c0.09136%2C-0.35044 -0.01388%2C-0.72289 -0.27512%2C-0.97371l-5.9707%2C-5.9707c1.41266%2C-1.72488 2.26367%2C-3.92576 2.26367%2C-6.32227c0%2C-5.511 -4.489%2C-10 -10%2C-10zM13%2C5c4.43012%2C0 8%2C3.56988 8%2C8c0%2C4.43012 -3.56988%2C8 -8%2C8c-4.43012%2C0 -8%2C-3.56988 -8%2C-8c0%2C-4.43012 3.56988%2C-8 8%2C-8z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-position: center;\\r\\n background-size: 20px 20px;\\r\\n border-radius: 0 4px 4px 0;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n right: 6px;\\r\\n color: grey;\\r\\n top: 4px;\\r\\n}\\r\\n.pos button {\\r\\n background-color: transparent;\\r\\n}\\r\\n.mat-header-cell {\\r\\n padding: 5px;\\r\\n font-size: 15px;\\r\\n white-space: nowrap;\\r\\n color: #01385f;\\r\\n}\\r\\ni.fa.fa-plus {\\r\\n padding-right: 10px;\\r\\n}\\r\\n.test_name_block {\\r\\n display: -webkit-box;\\r\\n /* Required for -webkit-line-clamp to work */\\r\\n -webkit-line-clamp: 4;\\r\\n /* Limit to 4 lines */\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: normal;\\r\\n /* Allow the text to wrap */\\r\\n max-height: 7em;\\r\\n /* Adjust this value to fit four lines, depends on line-height */\\r\\n line-height: 1.5em;\\r\\n /* Adjust this value according to your font size */\\r\\n\\r\\n}\\r\\n.table-responsive {\\r\\n overflow-x: auto;\\r\\n width: 100%;\\r\\n}\\r\\n.responsive-table {\\r\\n width: 100%;\\r\\n min-width: 100%;\\r\\n}\\r\\n.table-responsive img {\\r\\n max-width: 47px;\\r\\n}\\r\\n/* @media (max-width: 1199px){\\r\\n .customtable {\\r\\n white-space: nowrap;\\r\\n }\\r\\n } */\\r\\n@media screen and (max-width:1600px) {\\r\\n mat-header-cell.radiology_name_blkkk,\\r\\n mat-cell.radiology_name_blkkk {\\r\\n flex: 0 0 150px;\\r\\n }\\r\\n mat-header-cell.radiology_action_blkkk , mat-cell.radiology_action_blkkk{\\r\\n flex: 0 0 80px;\\r\\n }\\r\\n mat-header-cell.radiology_result_blkkk , mat-cell.radiology_result_blkkk{\\r\\n flex: 0 0 100px;\\r\\n }\\r\\n mat-header-cell.radiology_date_blkkk , mat-cell.radiology_date_blkkk{\\r\\n flex: 0 0 120px;\\r\\n }\\r\\n mat-header-cell.radiology_note_blkkk , mat-cell.radiology_note_blkkk{\\r\\n flex: 0 0 70px;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width: 520px) {\\r\\n .mat-paginator .mat-paginator-container {\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n .mat-paginator-range-label {\\r\\n margin: 0px !important;\\r\\n }\\r\\n\\r\\n .mat-paginator-range-actions {\\r\\n display: inline-block !important;\\r\\n text-align: center;\\r\\n }\\r\\n mat-header-cell.radiology_name_blkkk,\\r\\n mat-cell.radiology_name_blkkk {\\r\\n flex: 0 0 125px;\\r\\n }\\r\\n mat-header-cell.radiology_result_blkkk , mat-cell.radiology_result_blkkk{\\r\\n flex: 0 0 85px;\\r\\n }\\r\\n mat-header-cell.radiology_action_blkkk , mat-cell.radiology_action_blkkk{\\r\\n flex: 0 0 60px;\\r\\n }\\r\\n}\\r\\n.table-responsive .alert.alert-danger {\\r\\n border-radius: 0px;\\r\\n line-height: 39px;\\r\\n border: none;\\r\\n background: #fff3f3;\\r\\n width: 97%;\\r\\n margin-left: 7px;\\r\\n color: #d00;\\r\\n}\\r\\n.star {\\r\\n margin-right: -9px;\\r\\n font-size: 19px !important;\\r\\n}\\r\\n.average-rating {\\r\\n font-size: 12px !important;\\r\\n line-height: 30px;\\r\\n}\\r\\n.buttons {\\r\\n height: 26px;\\r\\n width: 10px;\\r\\n font-size: 14px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n.dropdown-toggle::after {\\r\\n content: inherit;\\r\\n}\\r\\n/* hhs */\\r\\n/* .mat-cell{\\r\\n overflow: auto;\\r\\n} */\\r\\n.insurance_block {\\r\\n overflow: visible;\\r\\n}\\r\\n.insurance_block button#dropdownMenuButton {\\r\\n /* background: #17a2b8; */\\r\\n color: white;\\r\\n padding: 0px 10px;\\r\\n background: linear-gradient(90.06deg, #014971 0.32%, #03BECA 100.49%) !important;\\r\\n border: none;\\r\\n}\\r\\n/* .insurance_block .dropdown{\\r\\n width: 26px;\\r\\n height: 26px;\\r\\n} */\\r\\nbutton.btn.viewww {\\r\\n background: transparent;\\r\\n font-size: 14px;\\r\\n /* opacity: 0.5; */\\r\\n font-weight: 500 !important;\\r\\n}\\r\\n.mat-row:nth-child(even) {\\r\\n /* background-color: #e4fbff; */\\r\\n background-color: #eafcff;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n /* margin: 10px 0;\\r\\n border-radius: 10px; */\\r\\n}\\r\\n.mat-row .mat-cell {\\r\\n font-weight: 400;\\r\\n}\\r\\n.mat-row {\\r\\n background: white;\\r\\n /* border-radius: 10px; */\\r\\n padding: 0 0 0 10px;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n}\\r\\n.mat-header-row {\\r\\n background: white;\\r\\n padding: 0 0 0 10px;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n}\\r\\n.mat-row , .mat-header-row {\\r\\n align-items: stretch;\\r\\n}\\r\\n.mat-row:nth-child(even) mat-cell{\\r\\nbackground: #eafcff;\\r\\n}\\r\\n.mat-row mat-cell , mat-header-row mat-header-cell{\\r\\n background: white;\\r\\n}\\r\\n/* table */\\r\\n@media screen and (max-width:991px) {\\r\\n .radiology_blkkk {\\r\\n flex-direction: column-reverse;\\r\\n }\\r\\n\\r\\n .radiology_blkkk .col-lg-8,\\r\\n .radiology_blkkk .col-lg-4 {\\r\\n padding: 0;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .radiology_blkkk .col-md-3.col-sm-6 {\\r\\n padding: 0;\\r\\n }\\r\\n\\r\\n}\"","module.exports = \"

{{ \\\"radiology_refferal\\\" | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"radiology_name\\\" | translate }}\\r\\n \\r\\n \\r\\n {{ element.labName }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{\\r\\n \\\"patient_name\\\" | translate\\r\\n }}\\r\\n \\r\\n {{ element.patientName }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ \\\"provider_name\\\" | translate }}\\r\\n \\r\\n \\r\\n {{ element.providerName }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ \\\"test_name\\\" | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n • {{ item }}\\r\\n
\\r\\n
\\r\\n
3\\\"\\r\\n style=\\\"width: 100%; display: flex; justify-content: right\\\">\\r\\n .....\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n {{ \\\"status\\\" | translate }}\\r\\n \\r\\n {{ element.status }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ \\\"notes\\\" | translate }}\\r\\n \\r\\n {{ element.notes }} \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ \\\"collection_date\\\" | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ element.testCollectionDate | date : \\\"dd/MM/yyyy\\\" }}\\r\\n \\r\\n ---- \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Referral Date\\\" | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ element.createdDate | date : \\\"dd/MM/yyyy\\\" }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Qr Code'|translate}} \\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n ---- \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'Result QR'|translate}} \\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n ---- \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ \\\"actions\\\" | translate }}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\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, Input, OnInit } from \"@angular/core\";\r\nimport {\r\n MatDatepickerInputEvent,\r\n MatDialog,\r\n MatTableDataSource,\r\n} from \"@angular/material\";\r\nimport { ResponseModel } from \"../../core/modals/common-model\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { ClientsService } from \"../../client-portal/clients.service\";\r\nimport { AddRadiologyReferralModalComponent } from \"../add-radiology-referral-modal/add-radiology-referral-modal.component\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { RadiologyReferralModalComponent } from \"src/app/shared/radiology-referral-modal/radiology-referral-modal.component\";\r\nimport { QRImageInhanserComponent } from \"src/app/shared/QrCodeScanPage/qrimage-inhanser/qrimage-inhanser.component\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"app-radiology-referral\",\r\n templateUrl: \"./radiology-referral.component.html\",\r\n styleUrls: [\"./radiology-referral.component.css\"],\r\n})\r\nexport class RadiologyReferralComponent implements OnInit {\r\n @Input() appointmentId: number = 0;\r\n @Input() encryptedPatientId;\r\n patientId: number = 0;\r\n searchKey: string = \"\";\r\n public pageSize = 5;\r\n public currentPage = 0;\r\n public totalSize = 0;\r\n actionButtons: Array = [\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n ];\r\n\r\n // displayColumns: Array = [\r\n // {\r\n // displayName: \"Radiology Name\",\r\n // key: \"labName\",\r\n // isSort: false,\r\n // class: \"\",\r\n // },\r\n // {\r\n // displayName: \"Test Name\",\r\n // key: \"testName\",\r\n // isSort: false,\r\n // class: \"\",\r\n // },\r\n // {\r\n // displayName: \"PatientName\",\r\n // key: \"patientName\",\r\n // isSort: false,\r\n // class: \"\",\r\n // },\r\n // {\r\n // displayName: \"Status\",\r\n // key: \"status\",\r\n // isSort: false,\r\n // class: \"\",\r\n // type: \"statusReportupload\",\r\n // },\r\n // {\r\n // displayName: \"Created Date\",\r\n // key: \"createdDate\",\r\n // isSort: false,\r\n // class: \"\",\r\n // type: \"date\",\r\n // },\r\n // {\r\n // displayName: \"Notes\",\r\n // key: \"notes\",\r\n // isSort: false,\r\n // class: \"\",\r\n // },\r\n // {\r\n // displayName: \"Actions\",\r\n // key: \"Actions\",\r\n // isSort: true,\r\n // class: \"\",\r\n // },\r\n // ];\r\n displayedColumns = [\r\n \"Radiology Name\",\r\n \"Patient Name\",\r\n \"Test Name\",\r\n \"Status\",\r\n \"Notes\",\r\n \"Collection Date\",\r\n \"Referral Date\",\r\n \"QrCode\",\r\n \"Result QR\",\r\n \"Actions\",\r\n ];\r\n radiologyReferralList: any;\r\n // @ViewChild(MatPaginator) paginator: MatPaginator;\r\n metaData: any;\r\n userId: number = 0;\r\n currentUser: any;\r\n roleId: number = 329; // role id for Radiology\r\n testFormGroup: FormGroup;\r\n constructor(\r\n private dialogModal: MatDialog,\r\n private commonService: CommonService,\r\n private clientService: ClientsService,\r\n private datePipe: DatePipe,\r\n private formBuilder: FormBuilder,\r\n private notifierService: NotifierService,\r\n private translate: TranslateService,\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.currentLoginUserInfo.subscribe((user) => {\r\n this.currentUser = user;\r\n });\r\n if (this.encryptedPatientId != undefined) {\r\n this.patientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n } else {\r\n this.patientId = 0;\r\n this.appointmentId = 0;\r\n }\r\n\r\n this.testFormGroup = this.formBuilder.group({\r\n searchKey: \"\",\r\n rangeStartDate: \"\",\r\n rangeEndDate: \"\",\r\n });\r\n // this.setIntialValues();\r\n this.getAllLabReferrals();\r\n }\r\n\r\n get f() {\r\n return this.testFormGroup.controls;\r\n }\r\n\r\n setIntialValues() {\r\n var date = new Date();\r\n this.f.rangeStartDate.setValue(\r\n new Date(date.getFullYear(), date.getMonth() - 0, 1)\r\n );\r\n this.f.rangeEndDate.setValue(\r\n new Date(date.getFullYear(), date.getMonth() + 1, 0)\r\n );\r\n }\r\n\r\n applyStartDateFilter(event: MatDatepickerInputEvent) {\r\n this.f.rangeStartDate.setValue(new Date(event.value));\r\n this.getAllLabReferrals();\r\n }\r\n\r\n applyEndDateFilter(event: MatDatepickerInputEvent) {\r\n this.f.rangeEndDate.setValue(new Date(event.value));\r\n this.getAllLabReferrals();\r\n }\r\n\r\n onTableActionClick(actionObj: any) {\r\n if (actionObj.action == \"view\") {\r\n this.openTestDownloadModal(actionObj);\r\n }\r\n }\r\n openTestDownloadModal(actionObj: any) {\r\n const modalPopup = this.dialogModal.open(RadiologyReferralModalComponent, {\r\n hasBackdrop: true,\r\n width: \"30%\",\r\n data: actionObj,\r\n });\r\n modalPopup.afterClosed().subscribe((result) => {});\r\n }\r\n createReferral() {\r\n let referralModal;\r\n referralModal = this.dialogModal.open(AddRadiologyReferralModalComponent, {\r\n data: {\r\n id: this.userId,\r\n //referralList: this.radiologyReferralList,\r\n patientId: this.patientId,\r\n appointmentId: this.appointmentId,\r\n },\r\n });\r\n referralModal.afterClosed().subscribe((result) => {\r\n if (result == \"save\") {\r\n this.getAllLabReferrals();\r\n }\r\n });\r\n }\r\n\r\n ReshareRefferal(data:any) {\r\n console.log(\"data from refferal component\", data)\r\n let referralModal;\r\n referralModal = this.dialogModal.open(AddRadiologyReferralModalComponent, {\r\n data: {\r\n id: this.userId,\r\n //referralList: this.radiologyReferralList,\r\n testIds:data.testIds,\r\n patientId:data.patientId,\r\n notes:data.notes,\r\n labId:data.labId,\r\n appointmentId: this.appointmentId,\r\n },\r\n });\r\n referralModal.afterClosed().subscribe((result) => {\r\n if (result == \"save\") {\r\n this.getAllLabReferrals();\r\n }\r\n });\r\n }\r\n getAllLabReferrals() {\r\n let fromDate =\r\n this.f.rangeStartDate.value != null && this.f.rangeStartDate.value != \"\"\r\n ? this.datePipe.transform(\r\n new Date(this.f.rangeStartDate.value),\r\n \"MM/dd/yyyy\"\r\n )\r\n : \"\";\r\n let toDate =\r\n this.f.rangeEndDate.value != null && this.f.rangeEndDate.value != \"\"\r\n ? this.datePipe.transform(\r\n new Date(this.f.rangeEndDate.value),\r\n \"MM/dd/yyyy\"\r\n )\r\n : \"\";\r\n let searchKey =\r\n this.f.searchKey.value == null ? \"\" : this.f.searchKey.value;\r\n\r\n this.clientService\r\n .getAllLabReferrals(\r\n this.currentUser.users3.userRoles.roleName.toLowerCase() !== \"patient\"?this.currentUser.id:0,\r\n this.patientId,\r\n \"RADIOLOGY\",\r\n this.appointmentId,\r\n searchKey,\r\n fromDate,\r\n toDate,\r\n this.pageSize,\r\n this.currentPage + 1\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n // this.clientService.getAllLabReferrals(this.currentUser.id, this.roleId, this.appointmentId, this.searchKey, \"\", \"\").subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.radiologyReferralList = new MatTableDataSource(\r\n response.data\r\n );\r\n // this.radiologyReferralList = response.data;\r\n this.totalSize = response.data ? response.data[0].totalRecord : 0;\r\n } else {\r\n this.radiologyReferralList = [];\r\n this.metaData = null;\r\n this.totalSize = 0;\r\n }\r\n });\r\n }\r\n\r\n clearFilters() {\r\n this.testFormGroup.reset();\r\n this.currentPage = 0;\r\n this.pageSize = 5;\r\n this.getAllLabReferrals();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n downloadTemplate = (act) => {\r\n let fileName = act.patientName;\r\n this.clientService\r\n .getLabReferralPdfById(act.labReferralId)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = fileURL;\r\n a.download = fileName;\r\n a.click();\r\n a.remove();\r\n\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(file);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n };\r\n viewDocument = (act) => {\r\n // window.open(act.data.url, '_blank')\r\n this.clientService\r\n .getLabReferralPdfById(act.labReferralId)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let newBlob = new Blob([uIntArray], { type: \"application/pdf\" });\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n };\r\n\r\n viewInsuranceDocument(act: any) {\r\n this.clientService\r\n .PatientInsurancePdfByPatientId(this.currentUser.id)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let newBlob = new Blob([uIntArray], { type: \"application/pdf\" });\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n }\r\n downloadInsuranceTemplate(act: any) {\r\n let fileName = act.patientName;\r\n this.clientService\r\n .PatientInsurancePdfByPatientId(this.currentUser.id)\r\n .subscribe((response: any) => {\r\n if (\r\n response &&\r\n response.data &&\r\n Object.keys(response.data).length > 0\r\n ) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = fileURL;\r\n a.download = fileName;\r\n a.click();\r\n a.remove();\r\n\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(file);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Data not found\");\r\n }\r\n });\r\n }\r\n\r\n setPagePaginator = (event: any) => {\r\n // console.log(event);\r\n this.pageSize = event.pageSize;\r\n this.currentPage = event.pageIndex;\r\n this.getAllLabReferrals();\r\n };\r\n\r\n imageInhancer = (element, type) => {\r\n element.type = type;\r\n const modalPopup = this.dialogModal.open(QRImageInhanserComponent, {\r\n hasBackdrop: true,\r\n minWidth: \"0%\",\r\n width: \"20%\",\r\n height: \"40vh\",\r\n data: element,\r\n });\r\n };\r\n}\r\n","export class RadiologyReferralModel {\r\n public labId: number;\r\n public patientId: number;\r\n public appointmentId: number;\r\n public testId: number;\r\n public Status: string;\r\n public ProviderId: number;\r\n public FileName: string = \"\";\r\n public UploadedPath: string = \"\";\r\n public CreatedBy: number;\r\n public notes: string = \"\";\r\n public signature: string;\r\n public logoBase64: string;\r\n public stampBase64: string;\r\n public referTo: string;\r\n}","module.exports = \".test_name_block {\\r\\n display: -webkit-box;\\r\\n -webkit-line-clamp: 4;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: normal;\\r\\n max-height: 7em;\\r\\n line-height: 1.5em;\\r\\n}\\r\\n.mat-cell {\\r\\n padding: 10px 5px;\\r\\n color: #01385f;\\r\\n}\\r\\n.insurance_block button.btn.viewww {\\r\\n background: transparent;\\r\\n font-size: 14px;\\r\\n /* opacity: 0.5; */\\r\\n font-weight: 500 !important;\\r\\n}\\r\\n.dropdown-toggle::after{\\r\\n content: inherit;\\r\\n}\\r\\n.insurance_block{\\r\\n overflow: visible;\\r\\n}\\r\\n.insurance_block button#dropdownMenuButton {\\r\\n /* background: #17a2b8; */\\r\\n color: white;\\r\\n padding: 0px 10px;\\r\\n background: linear-gradient(90.06deg, #014971 0.32%, #03BECA 100.49%) !important;\\r\\n border: none;\\r\\n}\\r\\n.mat-row:nth-child(even) {\\r\\n /* background-color: #e4fbff; */\\r\\n background-color: #eafcff;\\r\\n /* margin: 10px 0;\\r\\n border-radius: 10px; */\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n }\\r\\n.mat-row .mat-cell {\\r\\n font-weight: 400;\\r\\n }\\r\\n.mat-row {\\r\\n background: white;\\r\\n /* border-radius: 10px; */\\r\\n padding: 0 0 0 10px;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n }\\r\\n.mat-header-row {\\r\\n background: white;\\r\\n padding: 0 0 0 10px;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n}\\r\\n.table-responsive{\\r\\n overflow-x: auto;\\r\\n }\\r\\n.mat-paginator {\\r\\n background-color: inherit;\\r\\n}\\r\\n.mat-header-cell {\\r\\n padding: 5px;\\r\\n font-size: 15px;\\r\\n white-space: nowrap;\\r\\n color: #01385f;\\r\\n}\\r\\n.download_block{\\r\\n padding: 0 10px;\\r\\n}\"","module.exports = \"
\\r\\n

{{\\\"radiology_refferal\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n {{\\\"patient_name\\\"|translate}} \\r\\n \\r\\n {{ element.patientName }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{\\\"provider_name\\\"|translate}} \\r\\n \\r\\n {{ element.staffName }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{\\\"test_name\\\"|translate}} \\r\\n \\r\\n
\\r\\n
\\r\\n • {{ item }}\\r\\n
\\r\\n
\\r\\n
3\\\"\\r\\n style=\\\"width: 100%; display: flex; justify-content: right\\\">\\r\\n .....\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n {{ \\\"status\\\" | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ status }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{\\\"notes\\\"|translate}} \\r\\n {{ element.notes }} \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{\\\"collection_date\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\r\\n element.testCollectionDate\\r\\n ? (element.testCollectionDate | date : \\\"dd-MM-yyyy\\\")\\r\\n : \\\"----\\\"\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n QrCode \\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n ---- \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n {{ \\\"actions\\\" | translate }}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\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, ViewChild } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport {\r\n MatDialog,\r\n MatPaginator,\r\n MatSelectChange,\r\n MatTableDataSource,\r\n} from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ClientsService } from \"../../client-portal/clients-details/clients.service\";\r\nimport { ResponseModel } from \"../../core/modals/common-model\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { RadiologyReferralFileUploadComponent } from \"../radiology-referral-file-upload/radiology-referral-file-upload.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { QRImageInhanserComponent } from \"src/app/shared/QrCodeScanPage/qrimage-inhanser/qrimage-inhanser.component\";\r\n\r\n@Component({\r\n selector: \"app-referral-for-radiology\",\r\n templateUrl: \"./referral-for-radiology.component.html\",\r\n styleUrls: [\"./referral-for-radiology.component.css\"],\r\n})\r\nexport class ReferralForRadiologyComponent implements OnInit {\r\n SampleCollectionDate: any = \"\";\r\n checked = false;\r\n labReferralList: any;\r\n metaData: any;\r\n currentUser: any;\r\n pageSize = 5;\r\n currentPage = 0;\r\n totalSize = 0;\r\n testFormGroup: FormGroup;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n\r\n // displayColumns: Array = [\r\n // {\r\n // displayName: \"PatientName\",\r\n // key: \"patientName\",\r\n // class: \"\",\r\n // isSort: false,\r\n // },\r\n // {\r\n // displayName: \"Provider Name\",\r\n // key: \"providerName\",\r\n // class: \"\",\r\n // isSort: false,\r\n // },\r\n // { displayName: \"Test Name\", key: \"testName\", class: \"\", isSort: false },\r\n // {\r\n // displayName: \"Status\",\r\n // key: \"status\",\r\n // class: \"\",\r\n // type: \"statusReportupload\",\r\n // isSort: false,\r\n // },\r\n // { displayName: \"Notes\", key: \"notes\", class: \"\", isSort: false },\r\n // { displayName: \"Actions\", key: \"Actions\", class: \"\", isSort: false },\r\n // ];\r\n displayedColumns = [\r\n \"Patient Name\",\r\n \"Provider Name\",\r\n \"Test Name\",\r\n \"Status\",\r\n \"Notes\",\r\n \"Collection Date\",\r\n \"QrCode\",\r\n //\"Insurance/ Others\",\r\n //\"Referral\",\r\n \"Actions\",\r\n ];\r\n actionButtons: Array = [\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n ];\r\n statusArray = [\r\n \"Request Raised\",\r\n \"In Progress\",\r\n \"Sample Collected\",\r\n \"Partialy Uploaded\",\r\n \"Report Uploaded\",\r\n ];\r\n radiologyRoleId: number = 329;\r\n labReferrals: any = [];\r\n constructor(\r\n // private clientService: ClientsService,\r\n private commonService: CommonService,\r\n private dialogModal: MatDialog,\r\n private formBuilder: FormBuilder,\r\n private datePipe: DatePipe,\r\n private notifireService: NotifierService,\r\n private clientService: ClientsService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n this.currentUser = user;\r\n });\r\n this.testFormGroup = this.formBuilder.group({\r\n searchKey: \"\",\r\n rangeStartDate: \"\",\r\n rangeEndDate: \"\",\r\n });\r\n this.getAllLabReferralList(this.currentUser.id);\r\n }\r\n\r\n get labReferalForm() {\r\n return this.testFormGroup.controls;\r\n }\r\n\r\n setIntialValues() {\r\n var date = new Date();\r\n this.labReferalForm.rangeStartDate.setValue(\r\n new Date(date.getFullYear(), date.getMonth() - 0, 1)\r\n );\r\n this.labReferalForm.rangeEndDate.setValue(\r\n new Date(date.getFullYear(), date.getMonth() + 1, 0)\r\n );\r\n }\r\n\r\n clearFilters() {\r\n this.testFormGroup.reset();\r\n this.currentPage = 0;\r\n this.pageSize = 5;\r\n this.getAllLabReferralList(this.currentUser.id);\r\n }\r\n\r\n getAllLabReferralList(labId: number) {\r\n let fromDate =\r\n this.labReferalForm.rangeStartDate.value != null &&\r\n this.labReferalForm.rangeStartDate.value != \"\"\r\n ? this.datePipe.transform(\r\n new Date(this.labReferalForm.rangeStartDate.value),\r\n \"MM/dd/yyyy\"\r\n )\r\n : \"\";\r\n let toDate =\r\n this.labReferalForm.rangeEndDate.value != null &&\r\n this.labReferalForm.rangeEndDate.value != \"\"\r\n ? this.datePipe.transform(\r\n new Date(this.labReferalForm.rangeEndDate.value),\r\n \"MM/dd/yyyy\"\r\n )\r\n : \"\";\r\n let searchKey =\r\n this.labReferalForm.searchKey.value == null\r\n ? \"\"\r\n : this.labReferalForm.searchKey.value;\r\n this.clientService\r\n .getAllLabReferralList(\r\n labId,\r\n \"RADIOLOGY\",\r\n searchKey,\r\n fromDate,\r\n toDate,\r\n this.pageSize,\r\n this.currentPage + 1,\r\n null\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n // console.log(response);\r\n\r\n this.labReferrals = new MatTableDataSource(response.data);\r\n // this.labReferrals.paginator = this.paginator;\r\n // this.labReferrals = response.data;\r\n this.metaData = response.meta;\r\n } else {\r\n this.labReferrals = [];\r\n this.metaData = null;\r\n }\r\n });\r\n }\r\n\r\n onStatusChange(event: MatSelectChange, element: any) {\r\n element.status = event.value; // Assign the selected value to element.status\r\n let reqData = {\r\n LabReferralId: element.labReferralId,\r\n status: event.value,\r\n };\r\n this.clientService.updateLabReferralStatus(reqData).subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.notifireService.notify(\"success\", res.message);\r\n this.getAllLabReferralList(this.currentUser.id);\r\n } else {\r\n this.notifireService.notify(\"error\", res.message);\r\n }\r\n });\r\n }\r\n\r\n // getAllReferralByPatientId(radiologyId: number) {\r\n // let fromDate = \"\";\r\n // let toDate = \"\";\r\n // let searchKey = \"\";\r\n\r\n // this.clientService\r\n // .getRadiologyReferrals(\r\n // null,\r\n // null,\r\n // radiologyId,\r\n // searchKey,\r\n // fromDate,\r\n // toDate\r\n // )\r\n // .subscribe((response: any) => {\r\n // if (response.statusCode == 200) {\r\n // console.log(response);\r\n\r\n // response.data.map((ele) =>\r\n // ele.radiologyName\r\n // ? (ele.radiologyName = ele.radiologyName)\r\n // : (ele.radiologyName = ele.fullName)\r\n // );\r\n // // this.labReferralList = response.data;\r\n // this.labReferralList = new MatTableDataSource(response.data);\r\n // this.labReferralList.paginator = this.paginator;\r\n // // console.log(this.labReferralList)\r\n // // this.metaData = response.meta;\r\n // } else {\r\n // this.labReferralList = [];\r\n // this.metaData = null;\r\n // }\r\n // });\r\n\r\n // }\r\n\r\n onTableActionClick(actionObj: any) {\r\n if (actionObj.action == \"view\") {\r\n this.openFileDownloadModal(actionObj);\r\n }\r\n }\r\n\r\n openFileDownloadModal(data: any) {\r\n const modalPopup = this.dialogModal.open(\r\n RadiologyReferralFileUploadComponent,\r\n {\r\n hasBackdrop: true,\r\n width: \"70%\",\r\n height: \"60%\",\r\n data: data,\r\n }\r\n );\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result == \"save\") {\r\n this.getAllLabReferralList(this.currentUser.id);\r\n }\r\n });\r\n }\r\n\r\n // Uploaddicomfile(data: any) {\r\n // const modalPopup = this.dialogModal.open(RadiologyUploadDicomFileComponent, {\r\n // hasBackdrop: true,\r\n // width: \"70%\",\r\n // height: \"60%\",\r\n // data: data,\r\n // });\r\n\r\n // modalPopup.afterClosed().subscribe((result) => {\r\n // if (result == \"save\") {\r\n // this.getAllLabReferralList(this.currentUser.id);\r\n // }\r\n // });\r\n // }\r\n\r\n setPagePaginator = (event: any) => {\r\n // console.log(event);\r\n this.pageSize = event.pageSize;\r\n this.currentPage = event.pageIndex;\r\n this.getAllLabReferralList(this.currentUser.id);\r\n\r\n // this.getAllReferralByPatientId(this.currentUser.id);\r\n };\r\n\r\n downloadTemplate = (act) => {\r\n let fileName = act.patientName;\r\n this.clientService\r\n .getLabReferralPdfById(act.labReferralId)\r\n .subscribe((response: any) => {\r\n if (response) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = fileURL;\r\n a.download = fileName;\r\n a.click();\r\n a.remove();\r\n\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(file);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n });\r\n };\r\n viewDocument = (act) => {\r\n // window.open(act.data.url, '_blank')\r\n this.clientService\r\n .getLabReferralPdfById(act.labReferralId)\r\n .subscribe((response: any) => {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let newBlob = new Blob([uIntArray], { type: \"application/pdf\" });\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n });\r\n };\r\n // downloadTemplate = (act) => {\r\n // let fileName = act.patientName;\r\n // this.clientService\r\n // .getLabReferralPdfById(act.labReferralID)\r\n // .subscribe((response: any) => {\r\n // if (response) {\r\n // let byteChar = atob(response.data.toString());\r\n // let byteArray = new Array(byteChar.length);\r\n // for (let i = 0; i < byteChar.length; i++) {\r\n // byteArray[i] = byteChar.charCodeAt(i);\r\n // }\r\n\r\n // let uIntArray = new Uint8Array(byteArray);\r\n // let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n // var fileURL = URL.createObjectURL(file);\r\n // var a = document.createElement(\"a\");\r\n // document.body.appendChild(a);\r\n // a.target = \"_blank\";\r\n // a.href = fileURL;\r\n // a.download = fileName;\r\n // a.click();\r\n // a.remove();\r\n\r\n // const nav = window.navigator as any;\r\n // if (nav && nav.msSaveOrOpenBlob) {\r\n // nav.msSaveOrOpenBlob(file);\r\n // return;\r\n // }\r\n // const data = window.URL.createObjectURL(file);\r\n // var link = document.createElement(\"a\");\r\n // document.body.appendChild(link);\r\n // link.href = data;\r\n // link.target = \"_blank\";\r\n // link.click();\r\n\r\n // setTimeout(function () {\r\n // document.body.removeChild(link);\r\n // window.URL.revokeObjectURL(data);\r\n // }, 100);\r\n // }\r\n // });\r\n // };\r\n\r\n // viewDocument = (act) => {\r\n // // window.open(act.data.url, '_blank')\r\n // this.clientService\r\n // .getLabReferralPdfById(act.labReferralID)\r\n // .subscribe((response: any) => {\r\n // let byteChar = atob(response.data.toString());\r\n // let byteArray = new Array(byteChar.length);\r\n // for (let i = 0; i < byteChar.length; i++) {\r\n // byteArray[i] = byteChar.charCodeAt(i);\r\n // }\r\n\r\n // let uIntArray = new Uint8Array(byteArray);\r\n // let newBlob = new Blob([uIntArray], { type: \"application/pdf\" });\r\n // const nav = window.navigator as any;\r\n // if (nav && nav.msSaveOrOpenBlob) {\r\n // nav.msSaveOrOpenBlob(newBlob);\r\n // return;\r\n // }\r\n // const data = window.URL.createObjectURL(newBlob);\r\n // var link = document.createElement(\"a\");\r\n // document.body.appendChild(link);\r\n // link.href = data;\r\n // link.target = \"_blank\";\r\n // link.click();\r\n\r\n // setTimeout(function () {\r\n // document.body.removeChild(link);\r\n // window.URL.revokeObjectURL(data);\r\n // }, 100);\r\n // });\r\n // };\r\n // changeStatus(data: any) {\r\n // this.checked = true;\r\n // this.clientService.UpdateSampleCollectionStatus(data.labReferralId, this.checked).subscribe((response: any) => {\r\n\r\n // });\r\n // }\r\n changeStatus(data: any) {\r\n data.isSampleCollected ? (this.checked = false) : (this.checked = true);\r\n if (this.checked == false) {\r\n this.SampleCollectionDate = \"\";\r\n this.clientService\r\n .UpdateSampleCollectionStatus(\r\n data.labReferralId,\r\n this.SampleCollectionDate,\r\n this.checked\r\n )\r\n .subscribe((response: any) => {});\r\n }\r\n }\r\n OnDateChange(data: any, eventDate: any) {\r\n this.SampleCollectionDate = eventDate.value;\r\n if (\r\n data.isSampleCollected &&\r\n this.checked == false &&\r\n this.SampleCollectionDate != \"\"\r\n ) {\r\n this.checked = data.isSampleCollected;\r\n this.clientService\r\n .UpdateSampleCollectionStatus(\r\n data.labReferralId,\r\n this.SampleCollectionDate,\r\n this.checked\r\n )\r\n .subscribe((response: any) => {});\r\n }\r\n if (\r\n data.isSampleCollected == false &&\r\n this.checked == true &&\r\n this.SampleCollectionDate != \"\"\r\n ) {\r\n this.clientService\r\n .UpdateSampleCollectionStatus(\r\n data.labReferralId,\r\n this.SampleCollectionDate,\r\n this.checked\r\n )\r\n .subscribe((response: any) => {});\r\n }\r\n // if (this.checked == false) {\r\n // this.SampleCollectionDate = \"\";\r\n // this.clientService.UpdateSampleCollectionStatus(data.labReferralId, this.SampleCollectionDate,\r\n // this.checked).subscribe((response: any) => {\r\n // });\r\n // }\r\n // if (this.checked && this.SampleCollectionDate != \"\") {\r\n // this.clientService.UpdateSampleCollectionStatus(data.labReferralId, this.SampleCollectionDate,\r\n // this.checked).subscribe((response: any) => {\r\n // });\r\n // }\r\n }\r\n viewInsuranceDocument(act: any) {\r\n this.clientService\r\n .PatientInsurancePdfByPatientId(act.patientId)\r\n .subscribe((response: any) => {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let newBlob = new Blob([uIntArray], { type: \"application/pdf\" });\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n });\r\n }\r\n downloadInsuranceTemplate(act: any) {\r\n let fileName = act.patientName;\r\n this.clientService\r\n .PatientInsurancePdfByPatientId(act.patientId)\r\n .subscribe((response: any) => {\r\n if (response) {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = fileURL;\r\n a.download = fileName;\r\n a.click();\r\n a.remove();\r\n\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(file);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n });\r\n }\r\n\r\n applyStartDateFilter = (event) => {\r\n // console.log(event);\r\n };\r\n applyEndDateFilter = (event) => {\r\n // console.log(event);\r\n };\r\n imageInhancer = (element, type) => {\r\n element.type = type;\r\n const modalPopup = this.dialogModal.open(QRImageInhanserComponent, {\r\n hasBackdrop: true,\r\n minWidth: \"0%\",\r\n width: \"20%\",\r\n height: \"40vh\",\r\n data: element,\r\n });\r\n };\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{ 'LETTER_GENERATOR' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ 'PLEASE_ENTER' | translate }} {{ placeholder.key }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'NOTE' | translate }}: {{ error }}

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

{{ 'LETTER_PREVIEW' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { AddLetterModelComponent } from '../add-letter-model/add-letter-model.component';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { SharedService } from 'src/app/shared/shared.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CommonService } from '../../../core/services';\r\nimport { ClientsService } from '../../../client-portal/clients.service';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\n\r\n\r\n\r\nexport class Template {\r\n id: string = '';\r\n name: string = '';\r\n content: string = '';\r\n}\r\n\r\nexport interface Placeholder {\r\n key: string\r\n value: string\r\n}\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-add-letter-form-model',\r\n templateUrl: './add-letter-form-model.component.html',\r\n styleUrls: ['./add-letter-form-model.component.css']\r\n})\r\nexport class AddLetterFormModelComponent implements OnInit {\r\n formValidation = false\r\n submitted = false;\r\n editorConfig: AngularEditorConfig;\r\n letterGeneratorForm: FormGroup;\r\n selectedTemplate: Template = new Template();\r\n placeholders: Placeholder[] = []\r\n preview = \"\";\r\n error = \"\";\r\n\r\n\r\n\r\n\r\n\r\n constructor(\r\n private notifier: NotifierService,\r\n private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private clientService: ClientsService,\r\n private commonService: CommonService,\r\n private translate: TranslateService,\r\n private sharedService: SharedService,\r\n private fb: FormBuilder,\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n console.log(\"Got data \", data);\r\n this.editorConfig = {\r\n editable: false, \r\n spellcheck: false, \r\n height: 'auto',\r\n minHeight: '10rem',\r\n maxHeight: 'auto',\r\n width: 'auto',\r\n minWidth: 'auto',\r\n translate: 'no',\r\n enableToolbar: false, \r\n showToolbar: false, \r\n placeholder: '', \r\n };\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n\r\n this.selectedTemplate.id = this.data.id;\r\n this.selectedTemplate.name = this.data.templateName;\r\n this.selectedTemplate.content = this.data.template.htmlContent\r\n this.letterGeneratorForm = this.fb.group({\r\n });\r\n\r\n\r\n\r\n this.initializePlaceholders()\r\n this.updatePreview()\r\n this.initForm()\r\n }\r\n\r\n private initializePlaceholders() {\r\n const extractedPlaceholders = this.extractPlaceholders(this.selectedTemplate.content)\r\n this.placeholders = extractedPlaceholders.map((p) => ({ key: p, value: \"\" }))\r\n //console.log(\"PlaceHolders\", this.placeholders)\r\n }\r\n\r\n\r\n\r\n private initForm() {\r\n const formControls = {}\r\n this.placeholders.forEach((p) => {\r\n formControls[p.key] = [\"\", Validators.required]\r\n })\r\n this.letterGeneratorForm = this.fb.group(formControls)\r\n }\r\n\r\n // private extractPlaceholders(content: string): string[] {\r\n // const placeholderRegex = /{{\\s*([^}]+)\\s*}}/g;\r\n // const matches: string[] = [];\r\n // let match;\r\n\r\n // while ((match = placeholderRegex.exec(content)) !== null) {\r\n // matches.push(match[1].trim());\r\n // }\r\n\r\n // return matches;\r\n // }\r\n\r\n private extractPlaceholders(content: string): string[] {\r\n const placeholderRegex = /{{\\s*([^}]+)\\s*}}/g;\r\n const matches = new Set();\r\n let match;\r\n\r\n while ((match = placeholderRegex.exec(content)) !== null) {\r\n matches.add(match[1].trim());\r\n }\r\n\r\n return Array.from(matches);\r\n }\r\n\r\n\r\n onPlaceholderChange(key: string, value: string) {\r\n const placeholder = this.placeholders.find(p => p.key === key);\r\n if (placeholder) {\r\n placeholder.value = value;\r\n }\r\n this.updatePreview();\r\n }\r\n\r\n private updatePreview() {\r\n let updatedContent = this.selectedTemplate.content;\r\n this.placeholders.forEach((p) => {\r\n const value = (this.letterGeneratorForm.get(p.key) && this.letterGeneratorForm.get(p.key).value) || `{{ ${p.key} }}`;\r\n updatedContent = updatedContent.replace(new RegExp(`{{\\\\s*${p.key}\\\\s*}}`, \"g\"), value);\r\n });\r\n this.preview = updatedContent;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true\r\n if (this.letterGeneratorForm.valid) {\r\n this.updatePreview()\r\n console.log(\"Generated Letter:\", this.preview)\r\n // Here you would typically send the generated letter to a service\r\n } else {\r\n this.formValidation = true\r\n this.error = \"Please fill in all required fields.\"\r\n }\r\n this.submitted = false\r\n }\r\n\r\n\r\n\r\n\r\n closeDialog() {\r\n this.dialogModalRef.close();\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{\\\"Generate Letter\\\"|translate}}

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

\\r\\n {{'Warning: Avoid including any closing statements, such as \\\"Sincerely,\\\" \\\"Best regards,\\\" or similar phrases, as these are automatically managed by the system.'}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ user.name }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Recipient selection is required\\\" | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ user.name }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Please enter template date\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please enter title\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

{{ 'Enter the placeholder details below' | translate }}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ 'PLEASE_ENTER' | translate }} {{ placeholder.key }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'NOTE' | translate }}: {{ error }}

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

{{ 'LETTER_PREVIEW' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\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, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\nimport { CommonService } from '../../../core/services';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SharedService } from 'src/app/shared/shared.service';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport { SignaturePad } from 'angular2-signaturepad/signature-pad';\r\nimport { LetterModel, TemplateModel } from '../template.model';\r\nimport { ClientsService } from '../../../client-portal/clients.service';\r\nexport class Template {\r\n id: string = '';\r\n name: string = '';\r\n content: string = '';\r\n}\r\n\r\nexport interface Placeholder {\r\n key: string\r\n value: string\r\n}\r\n@Component({\r\n selector: 'app-add-letter-model',\r\n templateUrl: './add-letter-model.component.html',\r\n styleUrls: ['./add-letter-model.component.css']\r\n})\r\nexport class AddLetterModelComponent implements OnInit {\r\n\r\n @ViewChild(SignaturePad) signaturePad: SignaturePad;\r\n private templateModel: LetterModel\r\n templateForm: FormGroup;\r\n htmlContent: any;\r\n editorConfig: AngularEditorConfig;\r\n staffDetails: any;\r\n signDataUrl: string;\r\n submitted: boolean = false;\r\n templateId: number = 0;\r\n staffID: number = 0;\r\n logodataURL: any;\r\n stampdataURL: any;\r\n logoImagePreview: any;\r\n stampImagePreview: any;\r\n searchControl = new FormControl(null, Validators.required);\r\n userList:any[] =[];\r\n formValidation = false\r\n \r\n letterGeneratorForm: FormGroup;\r\n \r\n placeholders: Placeholder[] = []\r\n error = \"\";\r\n appointmentId:any= 0;\r\n isAddTemplate: boolean = false;\r\n userSelected: boolean = false;\r\n constructor(\r\n private notifier: NotifierService,\r\n private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private clientService: ClientsService,\r\n private commonService: CommonService,\r\n private translate:TranslateService,\r\n private sharedService:SharedService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.templateModel = new LetterModel();\r\n // this.templateId = data.template.id;\r\n // this.staffID = data.template.staffID;\r\n \r\n if(data.template.appointmentId){\r\n this.appointmentId = data.template.appointmentId;\r\n }\r\n \r\n this.editorConfig = {\r\n editable: false, \r\n spellcheck: false, \r\n height: 'auto',\r\n minHeight: '10rem',\r\n maxHeight: 'auto',\r\n width: 'auto',\r\n minWidth: 'auto',\r\n translate: 'no',\r\n enableToolbar: false, \r\n showToolbar: false, \r\n placeholder: '', \r\n };\r\n this.staffDetails = null;\r\n }\r\n\r\n ngOnInit() {\r\n this.htmlContent = this.templateModel.htmlContent;\r\n this.templateForm = this.formBuilder.group({\r\n title: [this.data.template.title, Validators.required],\r\n date: [this.data.template.date, Validators.required], \r\n });\r\n \r\n \r\n this.letterGeneratorForm = this.formBuilder.group({\r\n });\r\n\r\n console.log(\"Template Data\",this.data)\r\n this.searchByName(\"\");\r\n this.initializePlaceholders()\r\n this.updatePreview()\r\n this.initForm()\r\n \r\n \r\n }\r\n\r\n\r\n private initializePlaceholders() {\r\n const extractedPlaceholders = this.extractPlaceholders(this.data.template.htmlContent)\r\n this.placeholders = extractedPlaceholders.map((p) => ({ key: p, value: \"\" }))\r\n \r\n }\r\n\r\n\r\n\r\n private initForm() {\r\n const formControls = {}\r\n this.placeholders.forEach((p) => {\r\n formControls[p.key] = [\"\", Validators.required]\r\n })\r\n this.letterGeneratorForm = this.formBuilder.group(formControls)\r\n }\r\n\r\n private extractPlaceholders(content: string): string[] {\r\n const placeholderRegex = /{{\\s*([^}]+)\\s*}}/g;\r\n const matches = new Set();\r\n let match;\r\n\r\n while ((match = placeholderRegex.exec(content)) !== null) {\r\n matches.add(match[1].trim());\r\n }\r\n\r\n return Array.from(matches);\r\n }\r\n\r\n\r\n onPlaceholderChange(key: string, value: string) {\r\n const placeholder = this.placeholders.find(p => p.key === key);\r\n if (placeholder) {\r\n placeholder.value = value;\r\n }\r\n this.updatePreview();\r\n }\r\n\r\n private updatePreview() {\r\n let updatedContent = this.data.template.htmlContent;\r\n this.placeholders.forEach((p) => {\r\n const value = (this.letterGeneratorForm.get(p.key) && this.letterGeneratorForm.get(p.key).value) || `{{ ${p.key} }}`;\r\n updatedContent = updatedContent.replace(new RegExp(`{{\\\\s*${p.key}\\\\s*}}`, \"g\"), value);\r\n });\r\n this.htmlContent = updatedContent;\r\n }\r\n\r\n\r\n ngAfterViewInit(){\r\n\r\n\r\n this.searchControl.valueChanges\r\n .pipe(\r\n debounceTime(300), \r\n distinctUntilChanged()\r\n )\r\n .subscribe(value => {\r\n console.log(value.length)\r\n if (value && (value.trim().length > 0 || value.trim().length == 0)) {\r\n this.searchByName(value);\r\n }\r\n });\r\n }\r\n\r\n\r\n searchByName(value:any){\r\n this.sharedService.GetAllClientNameAndEmailsBySearchText(value).subscribe((response: any) => {\r\n this.userList=response.data;\r\n \r\n }\r\n )\r\n }\r\n AfterReceiverSelect($event){\r\n \r\n this.templateModel.Receipient = $event.value;\r\n // this.templateModel.RecipientName = $event.value.name;\r\n this.userSelected= true;\r\n }\r\n\r\n AfterOtherRecepientSelect($event){\r\n this.templateModel.OtherReceipient = $event.value;\r\n }\r\n\r\n closeDialog(action: string) {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n onSubmit() {\r\n\r\n \r\n\r\n if(!this.userSelected){\r\n return;\r\n }\r\n\r\n if (this.letterGeneratorForm.invalid) {\r\n \r\n return this.letterGeneratorForm;;\r\n }\r\n if (this.templateForm.invalid) {\r\n return this.templateForm;\r\n } else {\r\n this.submitted = true;\r\n this.templateModel.title = this.templateForm.value.title;\r\n this.templateModel.date= this.templateForm.value.date;\r\n this.templateModel.templateId = this.data.template.id;\r\n this.templateModel.staffID = this.data.template.staffID; \r\n this.templateModel.htmlContent = this.htmlContent;\r\n this.templateModel.templeteName = this.data.template.templateName;\r\n this.templateModel.id=0;\r\n this.templateModel.appointmentId = this.appointmentId;\r\n this.clientService.createLetter(this.templateModel).subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message)\r\n this.closeDialog('save');\r\n } else {\r\n this.submitted = false;\r\n this.notifier.notify('error', response.message)\r\n }\r\n });\r\n }\r\n }\r\n\r\n get formControls() {\r\n return this.templateForm.controls;\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"

{{'letter_history'|translate}}

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

{{\\\"View a record of all generated letters.\\\"|translate}}

\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\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, Input, OnInit } from '@angular/core';\r\nimport { AddTemplateModalComponent } from '../../../add-template-modal/add-template-modal.component';\r\nimport { TemplateModel } from '../../template.model';\r\nimport { Metadata, ResponseModel } from 'src/app/super-admin-portal/core/modals/common-model';\r\nimport { MatDatepickerInputEvent, MatDialog } from '@angular/material';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { DatePipe } from '@angular/common';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { DialogService } from 'src/app/shared/layout/dialog/dialog.service';\r\n\r\n\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\nimport { ClientsService } from 'src/app/platform/modules/client-portal/clients.service';\r\nimport { AddLetterModelComponent } from '../../add-letter-model/add-letter-model.component';\r\nimport { AddLetterFormModelComponent } from '../../add-letter-form-model/add-letter-form-model.component';\r\nimport { FilterModel } from 'src/app/platform/modules/core/modals/common-model';\r\n\r\n@Component({\r\n selector: 'app-letter-history',\r\n templateUrl: './letter-history.component.html',\r\n styleUrls: ['./letter-history.component.css']\r\n})\r\nexport class LetterHistoryComponent implements OnInit {\r\n @Input() appointmentId: number = 0;\r\n @Input() encryptedPatientId;\r\n @Input() encryptedPatientUserId;\r\n @Input() PatientId:number = 0;\r\n displayColumns: Array = [\r\n {\r\n displayName: \"name\",\r\n key: \"recipientName\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"date\",\r\n key: \"date\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"date\",\r\n },\r\n {\r\n displayName: \"created_date\",\r\n key: \"createdDate\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"date\",\r\n },\r\n {\r\n displayName: \"actions\",\r\n key: \"Actions\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n ];\r\n\r\n actionButtons: Array = [\r\n { displayName: \"Download\", key: \"download\", class: \"fa fa-download\" },\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n { displayName: \"Delete\", key: \"delete\", class: \"fa fa-trash\" },\r\n // { displayName: \"Edit\", key: \"edit\", class: \"fa fa-pencil\" },\r\n ];\r\n\r\n currentUser: any;\r\n testFormGroup: FormGroup;\r\n templateList: Array = [];\r\n metaData: Metadata;\r\n templateData: TemplateModel;\r\n filterModel:FilterModel\r\n constructor(\r\n private datePipe: DatePipe,\r\n private formBuilder: FormBuilder,\r\n private dialogModal: MatDialog,\r\n private commonService: CommonService,\r\n private clientService: ClientsService,\r\n private dialogService: DialogService,\r\n private notifier: NotifierService,\r\n private translate:TranslateService\r\n ) \r\n {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n //console.log(\"patient id from historuy ccomponent\", this.PatientId);\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.currentLoginUserInfo.subscribe((user) => {\r\n this.currentUser = user;\r\n });\r\n\r\n this.testFormGroup = this.formBuilder.group({\r\n searchKey: \"\",\r\n rangeStartDate: \"\",\r\n rangeEndDate: \"\",\r\n });\r\n this.filterModel = new FilterModel();\r\n this.setIntialValues();\r\n this.getAllTemplates();\r\n\r\n // console.log(\"this appointment id from letter history compoiennt \",this.appointmentId)\r\n }\r\n\r\n get f() {\r\n return this.testFormGroup.controls;\r\n }\r\n\r\n setIntialValues() {\r\n // var date = new Date();\r\n // this.f.rangeStartDate.setValue(\r\n // new Date(date.getFullYear(), date.getMonth(), 1)\r\n // );\r\n // this.f.rangeEndDate.setValue(\r\n // new Date(date.getFullYear(), date.getMonth() + 1, 0)\r\n // );\r\n this.f.rangeEndDate.setValue(\"\");\r\n this.f.rangeStartDate.setValue(\"\");\r\n }\r\n\r\n applyStartDateFilter(event: MatDatepickerInputEvent) {\r\n this.f.rangeStartDate.setValue(new Date(event.value));\r\n this.getAllTemplates();\r\n }\r\n\r\n applyEndDateFilter(event: MatDatepickerInputEvent) {\r\n this.f.rangeEndDate.setValue(new Date(event.value));\r\n this.getAllTemplates();\r\n }\r\n\r\n onPageOrSortChange = (e) => {\r\n console.log(\"onsortpage\", e);\r\n this.filterModel.pageNumber = e.pageNumber;\r\n this.filterModel.pageSize = e.pageSize;\r\n this.filterModel.sortColumn = e.sort;\r\n this.filterModel.sortOrder = e.order;\r\n this.getAllTemplates();\r\n };\r\n\r\n getAllTemplates() {\r\n this.filterModel.fromDate =\r\n this.f.rangeStartDate.value != null && this.f.rangeStartDate.value != \"\"\r\n ? this.datePipe.transform(\r\n new Date(this.f.rangeStartDate.value),\r\n \"MM/dd/yyyy\"\r\n )\r\n : \"\";\r\n this.filterModel.toDate =\r\n this.f.rangeEndDate.value != null && this.f.rangeEndDate.value != \"\"\r\n ? this.datePipe.transform(\r\n new Date(this.f.rangeEndDate.value),\r\n \"MM/dd/yyyy\"\r\n )\r\n : \"\";\r\n this.filterModel.searchText =\r\n this.f.searchKey.value == null ? \"\" : this.f.searchKey.value;\r\n console.log(\"this.PatientId\",this.PatientId)\r\n console.log(\"filter fasfasfda\",this.filterModel);\r\n this.clientService\r\n .getAllLetter(this.currentUser.id, this.appointmentId,this.PatientId,this.filterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.templateList = response.data;\r\n console.log(\"responce meta\",response.meta)\r\n this.metaData = response.meta;\r\n this.metaData.pageSizeOptions=[5,10,25,50,100];\r\n } else {\r\n this.templateList = [];\r\n this.metaData = null;\r\n }\r\n });\r\n }\r\n\r\n clearFilters() {\r\n this.testFormGroup.reset();\r\n this.getAllTemplates();\r\n }\r\n\r\n createTemplate(templateModel: TemplateModel) {\r\n if (templateModel.id == 0) {\r\n templateModel.id = 0;\r\n templateModel.title = \"\";\r\n templateModel.templateName = \"\";\r\n templateModel.staffID = this.currentUser.id;\r\n templateModel.date = new Date();\r\n templateModel.htmlContent = \"\";\r\n templateModel.appointmentId = this.appointmentId; \r\n }\r\n\r\n let templateModal;\r\n // templateModal = this.dialogModal.open(AddLetterModelComponent, {\r\n // data: { template: templateModel , addTemplate : false},\r\n // });\r\n templateModal = this.dialogModal.open(AddLetterFormModelComponent, {\r\n data: { template: templateModel , addTemplate : false},\r\n });\r\n templateModal.afterClosed().subscribe((result) => {\r\n this.getAllTemplates();\r\n });\r\n }\r\n\r\n //table action\r\n onTableActionClick(actionObj?: any) {\r\n console.log(\"actioobj\", actionObj)\r\n const id = actionObj.data && actionObj.data.id;\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"DOWNLOAD\":\r\n this.downloadTemplate(actionObj);\r\n break;\r\n case \"VIEW\":\r\n this.viewTemplate(actionObj);\r\n \r\n break;\r\n case \"EDIT\":\r\n this.openDialog(id);\r\n break;\r\n case \"DELETE\":\r\n this.deleteDetails(id);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n //open popup\r\n openDialog(id: number) {\r\n if (id != null && id > 0) {\r\n this.clientService.getTemplateById(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.templateData = response.data;\r\n this.createTemplate(this.templateData);\r\n }\r\n });\r\n } else {\r\n this.templateData = new TemplateModel();\r\n this.templateData.id = 0;\r\n this.createTemplate(this.templateData);\r\n }\r\n }\r\n\r\n deleteDetails(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this template?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientService.deleteLetter(id).subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getAllTemplates();\r\n } else if (response.statusCode === 401) {\r\n this.notifier.notify(\"warning\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n viewTemplate = (act) => {\r\n this.clientService\r\n .getTemplatePdfById(act.data.id)\r\n .subscribe((response: any) => {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = fileURL;\r\n link.target = \"_blank\";\r\n link.click();\r\n });\r\n };\r\n\r\n downloadTemplate = (act) => {\r\n let fileName = \"Template \" + act.data.name;\r\n this.clientService\r\n .getTemplatePdfById(act.data.id)\r\n .subscribe((response: any) => {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = fileURL;\r\n a.download = fileName;\r\n a.click();\r\n a.remove();\r\n });\r\n };\r\n}\r\n","module.exports = \"/* ::ng-deep .mat-button-wrapper {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n gap: 2px;\\r\\n} */\\r\\n@media screen and (max-width:991px) {\\r\\n .letter_text {\\r\\n flex-direction: column-reverse;\\r\\n }\\r\\n .letter_text .col-lg-8 {\\r\\n padding: 0;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .letter_text_blk .col-md-3.col-sm-6 {\\r\\n padding: 0;\\r\\n }\\r\\n .letter_text .col-lg-4 {\\r\\n padding: 0;\\r\\n }\\r\\n .man_prew {\\r\\n font-size: 12px;\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n\\r\\n \\r\\n

{{\\\"Manage predefined letter templates that can be used to quickly generate new letters.\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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, Input, OnInit } from '@angular/core';\r\nimport { AddTemplateModalComponent } from '../../../add-template-modal/add-template-modal.component';\r\nimport { TemplateModel } from '../../template.model';\r\nimport { MatDatepickerInputEvent, MatDialog } from '@angular/material';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DialogService } from 'src/app/shared/layout/dialog/dialog.service';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { DatePipe } from '@angular/common';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\nimport { ClientsService } from 'src/app/platform/modules/client-portal/clients.service';\r\nimport { AddLetterModelComponent } from '../../add-letter-model/add-letter-model.component';\r\nimport { AddLetterFormModelComponent } from '../../add-letter-form-model/add-letter-form-model.component';\r\nimport { FilterModel } from 'src/app/platform/modules/core/modals/common-model';\r\nimport { Metadata, ResponseModel } from 'src/app/super-admin-portal/core/modals/common-model';\r\n\r\n\r\n@Component({\r\n selector: 'app-letter-template',\r\n templateUrl: './letter-template.component.html',\r\n styleUrls: ['./letter-template.component.css']\r\n})\r\nexport class LetterTemplateComponent implements OnInit {\r\n @Input() appointmentId: number = 0;\r\n displayColumns: Array = [\r\n {\r\n displayName: \"name\",\r\n key: \"templateName\",\r\n isSort: false,\r\n class: \"\",\r\n },\r\n // {\r\n // displayName: \"date\",\r\n // key: \"date\",\r\n // isSort: false,\r\n // class: \"\",\r\n // type: \"date\",\r\n // },\r\n {\r\n displayName: \"created_date\",\r\n key: \"createdDate\",\r\n isSort: false,\r\n class: \"\",\r\n type: \"date\",\r\n },\r\n {\r\n displayName: \"actions\",\r\n key: \"Actions\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n ];\r\n \r\n actionButtons: Array = [\r\n // { displayName: \"Download\", key: \"download\", class: \"fa fa-download\" },\r\n // { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n { displayName: \"Delete\", key: \"delete\", class: \"fa fa-trash\" },\r\n { displayName: \"Edit\", key: \"edit\", class: \"fa fa-pencil\" },\r\n { displayName: \"Generate Letter\", key: \"editletter\", class: \"fa fa-pencil\" },\r\n ];\r\n \r\n currentUser: any;\r\n testFormGroup: FormGroup;\r\n templateList: Array = [];\r\n metaData: Metadata;\r\n templateData: TemplateModel;\r\n filterModel:FilterModel\r\n constructor(\r\n private datePipe: DatePipe,\r\n private formBuilder: FormBuilder,\r\n private dialogModal: MatDialog,\r\n private commonService: CommonService,\r\n private clientService: ClientsService,\r\n private dialogService: DialogService,\r\n private notifier: NotifierService,\r\n private translate:TranslateService\r\n ) \r\n {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n \r\n }\r\n \r\n ngOnInit() {\r\n this.commonService.currentLoginUserInfo.subscribe((user) => {\r\n this.currentUser = user;\r\n });\r\n this.filterModel = new FilterModel();\r\n this.testFormGroup = this.formBuilder.group({\r\n searchKey: \"\",\r\n rangeStartDate: \"\",\r\n rangeEndDate: \"\",\r\n });\r\n \r\n this.setIntialValues();\r\n this.getAllTemplates();\r\n }\r\n \r\n get f() {\r\n return this.testFormGroup.controls;\r\n }\r\n \r\n setIntialValues() {\r\n // var date = new Date();\r\n // this.f.rangeStartDate.setValue(\r\n // new Date(date.getFullYear(), date.getMonth(), 1)\r\n // );\r\n // this.f.rangeEndDate.setValue(\r\n // new Date(date.getFullYear(), date.getMonth() + 1, 0)\r\n // );\r\n this.f.rangeEndDate.setValue(\"\");\r\n this.f.rangeStartDate.setValue(\"\");\r\n }\r\n \r\n applyStartDateFilter(event: MatDatepickerInputEvent) {\r\n this.f.rangeStartDate.setValue(new Date(event.value));\r\n this.getAllTemplates();\r\n }\r\n \r\n applyEndDateFilter(event: MatDatepickerInputEvent) {\r\n this.f.rangeEndDate.setValue(new Date(event.value));\r\n this.getAllTemplates();\r\n }\r\n\r\n onPageOrSortChange = (e) => {\r\n console.log(\"onsortpage\", e);\r\n this.filterModel.pageNumber = e.pageNumber;\r\n this.filterModel.pageSize = e.pageSize;\r\n this.filterModel.sortColumn = e.sort;\r\n this.filterModel.sortOrder = e.order;\r\n this.getAllTemplates();\r\n };\r\n \r\n getAllTemplates() {\r\n this.filterModel.fromDate =\r\n this.f.rangeStartDate.value != null && this.f.rangeStartDate.value != \"\"\r\n ? this.datePipe.transform(\r\n new Date(this.f.rangeStartDate.value),\r\n \"MM/dd/yyyy\"\r\n )\r\n : \"\";\r\n this.filterModel.toDate =\r\n this.f.rangeEndDate.value != null && this.f.rangeEndDate.value != \"\"\r\n ? this.datePipe.transform(\r\n new Date(this.f.rangeEndDate.value),\r\n \"MM/dd/yyyy\"\r\n )\r\n : \"\";\r\n this.filterModel.searchText =\r\n this.f.searchKey.value == null ? \"\" : this.f.searchKey.value;\r\n \r\n this.clientService\r\n .getAllTemplates(this.currentUser.id, this.filterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.templateList = response.data;\r\n this.metaData = response.meta;\r\n this.metaData.pageSizeOptions = [5,10,25,50,100];\r\n } else {\r\n this.templateList = [];\r\n this.metaData = null;\r\n }\r\n });\r\n }\r\n \r\n clearFilters() {\r\n this.testFormGroup.reset();\r\n this.getAllTemplates();\r\n }\r\n \r\n createTemplate(templateModel: TemplateModel) {\r\n if (templateModel.id == 0) {\r\n templateModel.id = 0;\r\n templateModel.title = \"\";\r\n templateModel.templateName = \"\";\r\n templateModel.staffID = this.currentUser.id;\r\n templateModel.date = new Date();\r\n templateModel.htmlContent = \"\";\r\n }\r\n \r\n let templateModal;\r\n templateModal = this.dialogModal.open(AddTemplateModalComponent, {\r\n data: { template: templateModel , addTemplate : false},\r\n });\r\n \r\n templateModal.afterClosed().subscribe((result) => {\r\n this.getAllTemplates();\r\n });\r\n }\r\n\r\n createEditLetterTemplate(templateModel: TemplateModel) {\r\n if (templateModel.id == 0) {\r\n templateModel.id = 0;\r\n templateModel.title = \"\";\r\n templateModel.templateName = \"\";\r\n templateModel.staffID = this.currentUser.id;\r\n templateModel.date = new Date();\r\n templateModel.htmlContent = \"\";\r\n \r\n }\r\n templateModel.appointmentId = this.appointmentId; \r\n // console.log(\"appoint,mentid sadsadasda\",this.appointmentId)\r\n let templateModal;\r\n templateModal = this.dialogModal.open(AddLetterModelComponent, {\r\n data: { template: templateModel , addTemplate : false},\r\n });\r\n // templateModal = this.dialogModal.open(AddLetterFormModelComponent, {\r\n // data: { template: templateModel , addTemplate : false},\r\n // });\r\n templateModal.afterClosed().subscribe((result) => {\r\n this.getAllTemplates();\r\n });\r\n }\r\n \r\n //table action\r\n onTableActionClick(actionObj?: any) {\r\n // console.log(\"gggggg\",(actionObj.action || \"\").toUpperCase());\r\n const id = actionObj.data && actionObj.data.id;\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"DOWNLOAD\":\r\n this.downloadTemplate(actionObj);\r\n break;\r\n case \"VIEW\":\r\n this.viewTemplate(actionObj);\r\n break;\r\n case \"EDIT\":\r\n this.openDialog(id);\r\n break;\r\n case \"EDITLETTER\":\r\n this.openEditLetterDialog(id);\r\n break;\r\n case \"DELETE\":\r\n this.deleteDetails(id);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n \r\n //open popup\r\n openDialog(id: number) {\r\n if (id != null && id > 0) {\r\n this.clientService.getTemplateById(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.templateData = response.data;\r\n console.log(\"Template Data\", this.templateData)\r\n this.createTemplate(this.templateData);\r\n }\r\n });\r\n } else {\r\n this.templateData = new TemplateModel();\r\n this.templateData.id = 0;\r\n this.createTemplate(this.templateData);\r\n }\r\n }\r\n\r\n openEditLetterDialog(id: number) {\r\n // console.log(\"under edit letter\")\r\n if (id != null && id > 0) {\r\n this.clientService.getTemplateById(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.templateData = response.data;\r\n this.createEditLetterTemplate(this.templateData);\r\n }\r\n });\r\n } else {\r\n this.templateData = new TemplateModel();\r\n this.templateData.id = 0;\r\n this.createEditLetterTemplate(this.templateData);\r\n }\r\n }\r\n \r\n deleteDetails(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this template?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientService.deleteTemplate(id).subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getAllTemplates();\r\n } else if (response.statusCode === 401) {\r\n this.notifier.notify(\"warning\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n \r\n viewTemplate = (act) => {\r\n this.clientService\r\n .getTemplatePdfById(act.data.id)\r\n .subscribe((response: any) => {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n \r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = fileURL;\r\n link.target = \"_blank\";\r\n link.click();\r\n });\r\n };\r\n \r\n downloadTemplate = (act) => {\r\n let fileName = \"Template \" + act.data.name;\r\n this.clientService\r\n .getTemplatePdfById(act.data.id)\r\n .subscribe((response: any) => {\r\n let byteChar = atob(response.data.toString());\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n \r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = fileURL;\r\n a.download = fileName;\r\n a.click();\r\n a.remove();\r\n });\r\n };\r\n \r\n}\r\n","module.exports = \".search-button {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border: none;\\r\\n background-image: url(\\\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220%2C0%2C256%2C256%22 width%3D%2230px%22 height%3D%2230px%22%3E%3Cg fill-opacity%3D%220.23922%22 fill%3D%22%23000000%22 fill-rule%3D%22nonzero%22 stroke%3D%22none%22 stroke-width%3D%221%22 stroke-linecap%3D%22butt%22 stroke-linejoin%3D%22miter%22 stroke-miterlimit%3D%2210%22 stroke-dasharray%3D%22%22 stroke-dashoffset%3D%220%22 font-family%3D%22none%22 font-weight%3D%22none%22 font-size%3D%22none%22 text-anchor%3D%22none%22 style%3D%22mix-blend-mode%3A normal%22%3E%3Cg transform%3D%22scale(8.53333%2C8.53333)%22%3E%3Cpath d%3D%22M13%2C3c-5.511%2C0 -10%2C4.489 -10%2C10c0%2C5.511 4.489%2C10 10%2C10c2.39651%2C0 4.59738%2C-0.85101 6.32227%2C-2.26367l5.9707%2C5.9707c0.25082%2C0.26124 0.62327%2C0.36648 0.97371%2C0.27512c0.35044%2C-0.09136 0.62411%2C-0.36503 0.71547%2C-0.71547c0.09136%2C-0.35044 -0.01388%2C-0.72289 -0.27512%2C-0.97371l-5.9707%2C-5.9707c1.41266%2C-1.72488 2.26367%2C-3.92576 2.26367%2C-6.32227c0%2C-5.511 -4.489%2C-10 -10%2C-10zM13%2C5c4.43012%2C0 8%2C3.56988 8%2C8c0%2C4.43012 -3.56988%2C8 -8%2C8c-4.43012%2C0 -8%2C-3.56988 -8%2C-8c0%2C-4.43012 3.56988%2C-8 8%2C-8z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-position: center;\\r\\n background-size: 20px 20px;\\r\\n border-radius: 0 4px 4px 0;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n right: 2px;\\r\\n color: grey;\\r\\n top: 4px;\\r\\n}\\r\\n.pos button{\\r\\n background-color: transparent;\\r\\n}\\r\\ni.fa.fa-plus {\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n\"","module.exports = \"

{{'Generate_letter'|translate}}

\\r\\n
\\r\\n \\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, ComponentFactoryResolver, ComponentRef, Inject, Input, OnInit, ViewChild, ViewContainerRef } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material\";\r\nimport { LetterTemplateComponent } from \"../letter-template/letter-template/letter-template.component\";\r\nimport { LetterHistoryComponent } from \"../letter-history/letter-history/letter-history.component\";\r\n\r\n\r\n@Component({\r\n selector: 'app-template-popup',\r\n templateUrl: './template-popup.component.html',\r\n styleUrls: ['./template-popup.component.css']\r\n})\r\nexport class TemplatePopupComponent implements OnInit {\r\n\r\n @Input() encryptedPatientId;\r\n @Input() encryptedPatientUserId;\r\n @Input() appointmentId: number = 0;\r\n @Input() patientId: number = 0;\r\n @ViewChild(\"tabContent\", { read: ViewContainerRef })\r\n tabContent: ViewContainerRef;\r\n \r\n \r\n timesheetTabs:any = [\"Letter Template\", \"Letter History\"];\r\n openAsPopUp: boolean = false;\r\n \r\n \r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private cfr: ComponentFactoryResolver,\r\n \r\n ) {\r\n if (this.data && this.data.appointmentId !== undefined) {\r\n this.openAsPopUp= true;\r\n this.appointmentId = this.data.appointmentId;\r\n }\r\n }\r\n \r\n ngOnInit(): void {\r\n this.loadChild(\"Letter Template\");\r\n // console.log(\"patientid\", this.patientId)\r\n \r\n \r\n }\r\n \r\n loadComponent(eventType: any): any {\r\n this.loadChild(eventType.tab.textLabel);\r\n }\r\n loadChild(childName: string) {\r\n let factory: any;\r\n if (childName == \"Letter Template\") {\r\n factory = this.cfr.resolveComponentFactory(LetterTemplateComponent);\r\n } else if (childName == \"Letter History\") {\r\n factory = this.cfr.resolveComponentFactory(LetterHistoryComponent);\r\n }\r\n this.tabContent.clear();\r\n \r\n if (childName == \"Letter Template\") {\r\n let comp: ComponentRef =\r\n this.tabContent.createComponent(factory);\r\n comp.instance.appointmentId = this.appointmentId; \r\n \r\n } else if (childName == \"Letter History\") {\r\n let comp: ComponentRef =\r\n this.tabContent.createComponent(factory);\r\n comp.instance.appointmentId = this.appointmentId;\r\n comp.instance.PatientId = this.patientId;\r\n \r\n }\r\n \r\n }\r\n \r\n closeDialog(){\r\n this.dialogModalRef.close();\r\n }\r\n\r\n}\r\n","module.exports = \".search-button {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border: none;\\r\\n background-image: url(\\\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220%2C0%2C256%2C256%22 width%3D%2230px%22 height%3D%2230px%22%3E%3Cg fill-opacity%3D%220.23922%22 fill%3D%22%23000000%22 fill-rule%3D%22nonzero%22 stroke%3D%22none%22 stroke-width%3D%221%22 stroke-linecap%3D%22butt%22 stroke-linejoin%3D%22miter%22 stroke-miterlimit%3D%2210%22 stroke-dasharray%3D%22%22 stroke-dashoffset%3D%220%22 font-family%3D%22none%22 font-weight%3D%22none%22 font-size%3D%22none%22 text-anchor%3D%22none%22 style%3D%22mix-blend-mode%3A normal%22%3E%3Cg transform%3D%22scale(8.53333%2C8.53333)%22%3E%3Cpath d%3D%22M13%2C3c-5.511%2C0 -10%2C4.489 -10%2C10c0%2C5.511 4.489%2C10 10%2C10c2.39651%2C0 4.59738%2C-0.85101 6.32227%2C-2.26367l5.9707%2C5.9707c0.25082%2C0.26124 0.62327%2C0.36648 0.97371%2C0.27512c0.35044%2C-0.09136 0.62411%2C-0.36503 0.71547%2C-0.71547c0.09136%2C-0.35044 -0.01388%2C-0.72289 -0.27512%2C-0.97371l-5.9707%2C-5.9707c1.41266%2C-1.72488 2.26367%2C-3.92576 2.26367%2C-6.32227c0%2C-5.511 -4.489%2C-10 -10%2C-10zM13%2C5c4.43012%2C0 8%2C3.56988 8%2C8c0%2C4.43012 -3.56988%2C8 -8%2C8c-4.43012%2C0 -8%2C-3.56988 -8%2C-8c0%2C-4.43012 3.56988%2C-8 8%2C-8z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-position: center;\\r\\n background-size: 20px 20px;\\r\\n border-radius: 0 4px 4px 0;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n right: 2px;\\r\\n color: grey;\\r\\n top: 4px;\\r\\n}\\r\\n.pos button{\\r\\n background-color: transparent;\\r\\n}\\r\\ni.fa.fa-plus {\\r\\n margin-right: 10px;\\r\\n}\\r\\n.header-container {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n position: relative;\\r\\n margin-bottom: 20px;\\r\\n }\\r\\n.page_title {\\r\\n margin: 0;\\r\\n }\\r\\n.help-button {\\r\\n width: 36px;\\r\\n height: 36px;\\r\\n border-radius: 50%;\\r\\n background-color: #01385f;\\r\\n color: white;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\\r\\n border: none;\\r\\n transition: all 0.3s ease;\\r\\n margin-left: auto;\\r\\n }\\r\\n.help-button:hover {\\r\\n background-color: #025990;\\r\\n -webkit-transform: scale(1.05);\\r\\n transform: scale(1.05);\\r\\n }\\r\\n.help-button i {\\r\\n font-size: 18px;\\r\\n }\\r\\n@media screen and (max-width:575px) {\\r\\n .help-button {\\r\\n width: 26px;\\r\\n height: 26px;\\r\\n }\\r\\n\\r\\n }\"","module.exports = \"
\\r\\n
\\r\\n

{{'Generate_letter'|translate}}

\\r\\n \\r\\n
\\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, ComponentFactoryResolver, ComponentRef, Inject, Input, OnInit, ViewChild, ViewContainerRef } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from \"@angular/material\";\r\nimport { LetterTemplateComponent } from \"./letter-template/letter-template/letter-template.component\";\r\nimport { LetterHistoryComponent } from \"./letter-history/letter-history/letter-history.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { LetterTemplateGuidencePopupComponent } from \"src/app/shared/letter-template-guidence-popup/letter-template-guidence-popup.component\";\r\n\r\n@Component({\r\n selector: \"app-template\",\r\n templateUrl: \"./template.component.html\",\r\n styleUrls: [\"./template.component.css\"],\r\n})\r\nexport class TemplateComponent implements OnInit {\r\n @Input() encryptedPatientId;\r\n @Input() encryptedPatientUserId;\r\n @Input() appointmentId: number = 0;\r\n @Input() patientId: number = 0;\r\n @Input() isFromMyClient = false;\r\n @ViewChild(\"tabContent\", { read: ViewContainerRef })\r\n tabContent: ViewContainerRef;\r\n \r\n\r\n timesheetTabs:any = [\"Letter Template\", \"Letter History\"];\r\n openAsPopUp: boolean = false;\r\n \r\n\r\n constructor(\r\n private cfr: ComponentFactoryResolver,\r\n private dialogModal: MatDialog,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n // if(this.isFromMyClient){\r\n this.timesheetTabs = [\"Letter History\", \"Letter Template\"];\r\n this.loadChild(\"Letter History\");\r\n // }\r\n // else{\r\n // this.loadChild(\"Letter Template\");\r\n // }\r\n \r\n // console.log(\"patientid\", this.patientId)\r\n\r\n \r\n }\r\n loadComponent(eventType: any): any {\r\n this.loadChild(eventType.tab.textLabel);\r\n }\r\n loadChild(childName: string) {\r\n let factory: any;\r\n if (childName == this.translate.instant(\"Letter Template\")) {\r\n factory = this.cfr.resolveComponentFactory(LetterTemplateComponent);\r\n } else if (childName == this.translate.instant(\"Letter History\")) {\r\n factory = this.cfr.resolveComponentFactory(LetterHistoryComponent);\r\n }\r\n this.tabContent.clear();\r\n\r\n if (childName == this.translate.instant(\"Letter Template\")) {\r\n let comp: ComponentRef =\r\n this.tabContent.createComponent(factory);\r\n comp.instance.appointmentId = this.appointmentId; \r\n \r\n } else if (childName == this.translate.instant(\"Letter History\")) {\r\n let comp: ComponentRef =\r\n this.tabContent.createComponent(factory);\r\n comp.instance.appointmentId = this.appointmentId;\r\n comp.instance.PatientId = this.patientId;\r\n \r\n }\r\n\r\n }\r\n\r\n\r\n openGuidance(){\r\n let letterguidencepopup = this.dialogModal.open(LetterTemplateGuidencePopupComponent, {\r\n data: {},\r\n });\r\n \r\n letterguidencepopup.afterClosed().subscribe((result) => {\r\n \r\n });\r\n }\r\n}","export class TemplateModel {\r\n id?: number;\r\n title: string;\r\n templateName: string;\r\n staffID: number;\r\n date: Date;\r\n htmlContent: string;\r\n RecipientName:string;\r\n RecipientUserId:number;\r\n appointmentId?:number;\r\n SenderUserId?:number;\r\n}\r\n\r\nexport class LetterModel {\r\n id?: number;\r\n title: string;\r\n templeteName: string;\r\n templateId?:number;\r\n staffID: number;\r\n date: Date;\r\n htmlContent: string;\r\n // RecipientName:string;\r\n // RecipientUserId:number;\r\n Receipient:User;\r\n OtherReceipient:User[]=[];\r\n appointmentId?:number;\r\n SenderUserId?:number;\r\n \r\n}\r\n\r\n\r\n\r\ninterface User {\r\n userId: number;\r\n name: string;\r\n email: string;\r\n}\r\n","import { StaffExperience } from \"./../../../../front/doctor-profile/doctor-profile.model\";\r\nexport class UserModel {\r\n id: number;\r\n prefixName:string=\"\";\r\n name: string = \"\";\r\n address: string = \"\";\r\n city: string = \"\";\r\n countryID: number;\r\n dateJoined: string = \"\";\r\n dob: string = \"\";\r\n doj: string = \"\";\r\n email: string = \"\";\r\n firstName: string = \"\";\r\n staffName: string = \"\";\r\n staffTitle:string = \"\";\r\n gender: number;\r\n isActive: boolean = false;\r\n isBlock: boolean = false;\r\n isDeleted: boolean = false;\r\n lastName: string = \"\";\r\n maritalStatus: number;\r\n middleName: string = \"\";\r\n npiNumber: string = \"\";\r\n organizationID: number;\r\n password: string = \"\";\r\n phoneNumber: string = \"\";\r\n photoPath: string = \"\";\r\n clinicName: string = \"\";\r\n cliniclogoPath: string = \"\";\r\n clinicstampPath: string = \"\";\r\n photoThumbnailPath: string = \"\";\r\n cliniclogoThumbnailPath: string = \"\";\r\n clinicStampThumbnailPath: string = \"\";\r\n signaturePath: string = \"\";\r\n signatureThumbnailPath: string = \"\";\r\n roleID: number;\r\n roleName: string = \"\";\r\n staffID: number;\r\n stateID: number;\r\n totalRecords: number;\r\n userID: number;\r\n userName: string = \"\";\r\n zip: string = \"\";\r\n aptNo: string = \"\";\r\n taxId: string = \"\";\r\n caqhid: string = \"\";\r\n language: string = \"\";\r\n taxonomy:string=\"\";\r\n degreeID: number;\r\n payrollGroupID: number;\r\n payRate: number;\r\n ftFpayRate: number;\r\n homeVisitPayRate: number;\r\n isRenderingProvider: boolean = false;\r\n isUrgentCare: boolean = false;\r\n latitude: string = \"\";\r\n longitude: string = \"\";\r\n apartmentNumber: string = \"\";\r\n employeeID: number;\r\n confirmPassword: string = \"\";\r\n staffLocationList: StaffLocation[] = null;\r\n staffTeamList: StaffTeam[] = null;\r\n staffTagsModel: StaffTags[] = null;\r\n staffSpecialityModel: StaffSpeciality[] = null;\r\n StaffCareCategoryModel: StaffRole[] = null;\r\n userRolesModels:StaffRole = null;\r\n staffTaxonomyModel: StaffTaxonomy[] = null;\r\n staffServicesModels: StaffServices[] = null;\r\n languageKeys : any=[];\r\n locationIds: any = [];\r\n staffTeamKeys: any = [];\r\n staffTagsKeys: any = [];\r\n StaffUserRoleModelkeys: any;\r\n staffSpecialityKeys: any = [];\r\n staffCarecategoryKeys: any = [];\r\n staffTaxonomyKeys: any = [];\r\n servicesKeys: StaffServices[] = null;\r\n defaultLocation: number;\r\n photoBase64: string;\r\n clinicLogoBase64:string;\r\n stamplogoBase64:string;\r\n aboutMe: string;\r\n labPharmacyName: string;\r\n signatureBase64: string;\r\n clinicId: any;\r\n}\r\nexport class UserProfile {\r\n name: string;\r\n profileImage: string;\r\n gender: string;\r\n dob: string;\r\n address: string;\r\n phone: string;\r\n}\r\nexport class StaffLocation {\r\n id: number;\r\n isDefault: boolean = false;\r\n}\r\nexport class StaffTeam {\r\n id: number;\r\n staffid: number;\r\n staffteamid: number;\r\n isdeleted: boolean = false;\r\n}\r\nexport class StaffTags {\r\n id: number;\r\n staffID: number;\r\n tagID: number;\r\n isDeleted: boolean = false;\r\n}\r\nexport class StaffSpeciality {\r\n id: number;\r\n staffID: number;\r\n specialityId: number; \r\n isDeleted: boolean = false;\r\n}\r\n\r\nexport class StaffCareCategoryModel {\r\n id: number;\r\n staffID: number;\r\n healthcarecategoryID: number;\r\n isDeleted: boolean = false;\r\n isActive:boolean=true;\r\n}\r\n\r\n\r\nexport class StaffRole{\r\n id: number;\r\n roleName?: string;\r\n userType?: string;\r\n organizationID?: number;\r\n value?: string;\r\n constructor(\r\n id: number = null,\r\n roleName: string = '',\r\n userType: string = '',\r\n organizationID: number = null,\r\n value: string = ''\r\n ) {\r\n this.id = id;\r\n this.roleName = roleName;\r\n this.userType = userType;\r\n this.organizationID = organizationID;\r\n this.value = value;\r\n }\r\n}\r\n\r\nexport class StaffTaxonomy {\r\n id: number;\r\n staffID: number;\r\n taxonomyID: number;\r\n isDeleted: boolean = false;\r\n}\r\nexport class StaffServices {\r\n id: number;\r\n staffID: number;\r\n serviceId: number;\r\n isDeleted: boolean = false;\r\n}\r\nexport class StaffAssignedLocationModel {\r\n id: number;\r\n value: string;\r\n staffLocationId: number;\r\n locationName: string;\r\n staffId: number;\r\n isDefault: true;\r\n}\r\n\r\nexport class StaffLeaveModel {\r\n id: number;\r\n staffId: number;\r\n staffName: string;\r\n leaveType: string;\r\n leaveTypeId: number;\r\n leaveReason: string;\r\n leaveReasonId: number;\r\n fromDate: string;\r\n toDate: string;\r\n description: string;\r\n leaveStatusId: number;\r\n leaveStatus: string;\r\n}\r\n\r\nexport class StaffPayrollRateModel {\r\n id: number;\r\n staffId: number;\r\n appointmentTypeId: number;\r\n payRate: number;\r\n appointmentName: string;\r\n totalRecords: number;\r\n}\r\nexport class UserDocumentModel {\r\n id: number;\r\n userId: number;\r\n documentTitle: string;\r\n url: string;\r\n documentTypeIdStaff: number;\r\n documentTypeNameStaff: string;\r\n documentTypeName: string\r\n expiration: Date;\r\n extenstion: string;\r\n otherDocumentType: string;\r\n createdDate: Date;\r\n key: string;\r\n isActive: boolean;\r\n}\r\nexport class AddUserDocumentModel {\r\n base64: any[];\r\n documentTitle: string;\r\n documentTypeIdStaff: number;\r\n expiration: string;\r\n key: string;\r\n otherDocumentType: string;\r\n userId: number;\r\n //isProviderEducationalDocument:boolean;\r\n}\r\n\r\nexport class UpdatePatAppointmentIdUserDocumentModel {\r\n docId: string;\r\n patientAppointmentId: number;\r\n //isProviderEducationalDocument:boolean;\r\n}\r\n\r\nexport class AddUserDocumentPatientModel {\r\n base64: any[];\r\n documentTitle: string;\r\n documentTypeId: number;\r\n expiration: string;\r\n key: string;\r\n otherDocumentType: string;\r\n userId: number;\r\n}\r\n\r\nexport class StaffProfileModel {\r\n staffId: number;\r\n email: string;\r\n firstName: string;\r\n lastName: string;\r\n middleName: string;\r\n photoPath: string;\r\n cliniclogoPath: string = \"\";\r\n clinicstampPath: string = \"\";\r\n photoThumbnailPath: string;\r\n cliniclogoThumbnailPath: string = \"\";\r\n clinicStampThumbnailPath: string = \"\";\r\n signaturePath: string = \"\";\r\n signatureThumbnailPath: string = \"\";\r\n\r\n npiNumber: string;\r\n taxId: string;\r\n doj: string;\r\n phoneNumber: string;\r\n staffFullAddress: string;\r\n gender: string;\r\n userId: number;\r\n degreeName: string;\r\n providerId:string;\r\n staffTags: StaffTagModel[] = [];\r\n staffLocations: StaffLocationModel[] = [];\r\n staffSpecialities: StaffProfileSpecialityModel[] = [];\r\n staffTaxonomies: StaffProfileTaxonomyModel[] = [];\r\n staffServices: StaffServicesModel[] = [];\r\n rating:Rating;\r\n clinicName:string;\r\n}\r\nexport class Rating{\r\n staffId: number=0;\r\n average: number=0;\r\n totalReviews: number=0;\r\n}\r\nexport class StaffServicesModel {\r\n serviceName: string;\r\n}\r\nexport class StaffLocationModel {\r\n isDefault: boolean;\r\n locationDescription: string;\r\n locationName: string;\r\n stateName: string;\r\n locationFullAddress: string;\r\n}\r\n\r\nexport class StaffTagModel {\r\n tag: string;\r\n colorCode: string;\r\n colorName?: string;\r\n fontColorCode: string;\r\n}\r\nexport class StaffProfileSpecialityModel {\r\n speciality: string;\r\n specialityValue: string;\r\n}\r\nexport class StaffProfileTaxonomyModel {\r\n taxonomy: string;\r\n taxonomyValue: string;\r\n}\r\nexport class AddProviderEducationalDocumentModel {\r\n base64: any[];\r\n documentTitle: string;\r\n documentTypeIdStaff: number;\r\n expiration: string;\r\n key: string;\r\n otherDocumentType: string;\r\n userId: number;\r\n isProviderEducationalDocument: boolean;\r\n}\r\n\r\nexport class FileViewModel {\r\n blob: Blob;\r\n filetype: string;\r\n fileUrl: string;\r\n}","import { StaffExperience } from \"./../../../../front/doctor-profile/doctor-profile.model\";\r\nimport { Observable } from \"rxjs\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { FilterModel } from \"../../core/modals/common-model\";\r\nimport { debug } from \"util\";\r\nimport { HttpHeaders, HttpClient } from \"@angular/common/http\";\r\nimport { Subject, BehaviorSubject } from \"rxjs\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { map } from \"rxjs/operators\";\r\nimport {\r\n UserModel,\r\n StaffPayrollRateModel,\r\n AddUserDocumentModel,\r\n StaffLeaveModel,\r\n AddProviderEducationalDocumentModel,\r\n UpdatePatAppointmentIdUserDocumentModel,\r\n} from \"./users.model\";\r\nimport { StaffCustomLabel } from \"./staff-custom-label.model\";\r\nimport { StaffAvailabilityModel } from \"./staff-availability.model\";\r\nimport { $ } from \"protractor\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class UsersService {\r\n private loginSubject = new BehaviorSubject(false);\r\n loginState = this.loginSubject.asObservable();\r\n private loadingStateSubject = new Subject();\r\n public loadingState = this.loadingStateSubject.asObservable();\r\n private getMasterDataURL = \"api/MasterData/MasterDataByName\";\r\n private getMasterDataByNameURL = \"Home/MasterDataByName\";\r\n private createURL = \"Staffs/CreateUpdateStaff\";\r\n private deleteURL = \"Staffs/DeleteStaff\";\r\n private getStaffByIdURL = \"Staffs/GetStaffById\";\r\n private getAllURL = \"Staffs/GetStaffs\";\r\n private getStaffsByCreatedByURL = \"Staffs/GetStaffsByCreatedBy\";\r\n private getStaffHeaderInfoURL = \"Staffs/GetStaffHeaderData\";\r\n private getStaffLeavesURL = \"StaffLeave/GetStaffLeaveList\";\r\n private updateLeaveStatusURL = \"StaffLeave/UpdateLeaveStatus\";\r\n private getStaffLeaveByIdURL = \"StaffLeave/GetAppliedStaffLeaveById\";\r\n private deleteStaffLeaveByIdURL = \"StaffLeave/DeleteAppliedLeave\";\r\n private DeleteUploadedImagesURL= \"Staffs/DeleteUploadedImages?\"\r\n private saveStaffLeaveURL = \"StaffLeave/SaveStaffAppliedLeave\";\r\n private getStateByCountryIDURL = \"api/MasterData/GetStateByCountryID\"\r\n private getStaffCustomLabelsURL = \"StaffCustomLabel/GetStaffCustomLabels\";\r\n private saveStaffCustomLabelsURL = \"StaffCustomLabel/SaveCustomLabels\";\r\n\r\n private getStaffLocationURL = \"Staffs/GetAssignedLocationsById\";\r\n private getStaffAvailabilityByLocationURL =\r\n \"AvailabilityTemplates/GetStaffAvailabilityWithLocation\";\r\n private getLabAvailabilityByLocationURL =\r\n \"AvailabilityTemplates/GetLabAvailabilityWithLocation\";\r\n private saveStaffAvailabilityByLocationURL =\r\n \"AvailabilityTemplates/SaveUpdateAvailabilityWithLocation\";\r\n\r\n private getStaffPayrollRateURL =\r\n \"StaffPayrollRateForActivity/GetStaffPayRateOfActivity\";\r\n private saveUpdatePayrollRateURL =\r\n \"StaffPayrollRateForActivity/SaveUpdateStaffPayrollRateForActivity\";\r\n\r\n private getUserDocumentsURL = \"userDocument/GetUserDocuments\";\r\n private getUserByLocationURL =\r\n \"api/PatientAppointments/GetStaffAndPatientByLocation\";\r\n private getUserDocumentURL = \"userDocument/GetUserDocument\";\r\n private deleteUserDocumentURL = \"userDocument/DeleteUserDocument\";\r\n private updateDocumentStatusURL =\r\n \"userDocument/UpdateProviderEducationalDocumentStatus\";\r\n private uploadUserDocumentURL = \"userDocument/UploadUserDocuments\";\r\n private UpdatePatientAppointmentDocumentsURL =\r\n \"userDocument/UpdatePatientAppointmentDocuments\";\r\n\r\n private getStaffProfileURL = \"Staffs/GetStaffProfileData\";\r\n\r\n private updateUserStatusURL = \"user/UpdateUserStatus\";\r\n private updateUserActiveStatusURL = \"staffs/UpdateStaffActiveStatus\";\r\n\r\n private getStaffExperienceURL = \"Staffs/GetStaffExperience\";\r\n private saveStaffExperienceURL = \"Staffs/SaveUpdateStaffExperience\";\r\n\r\n private deleteUserExperienceUrl = \"Staffs/DeleteUserExperience\";\r\n\r\n private getStaffQualificationURL = \"Staffs/GetStaffQualifications\";\r\n private deleteUserQualificationUrl = \"Staffs/DeleteUserQualification\";\r\n private deleteUserAwardUrl = \"Staffs/DeleteUserAward\";\r\n\r\n private saveStaffQualificationURL = \"Staffs/SaveUpdateStaffQualifications\";\r\n\r\n private newSaveStaffQualificationUrl = \"Staffs/SaveStaffQualification\";\r\n\r\n private getStaffAwardURL = \"Staffs/GetStaffAwards\";\r\n private saveStaffAwardURL = \"Staffs/SaveUpdateStaffAwards\";\r\n private updateProviderTimeIntervalURL = \"Staffs/UpdateProviderTimeInterval/\";\r\n private getprovidereductaionalDocumentsURL =\r\n \"userDocument/GetProviderEducationalDocuments\";\r\n private getprovidereductaionalDocumentsForPatientCheckinURL =\r\n \"userDocument/GetprovidereductaionalDocumentsForPatientCheckin\";\r\n private getCountryPhoneCodeUrl: string = \"Home/GetCountryPhoneCode\";\r\n constructor(private http: HttpClient, private commonService: CommonService) { }\r\n create(data: UserModel) {\r\n return this.commonService.post(this.createURL, data);\r\n }\r\n\r\n delete(id: number) {\r\n return this.commonService.post(this.deleteURL + \"/\" + id, {});\r\n }\r\n deleteStaff(id: number) {\r\n return this.commonService.post(this.deleteURL + \"?id=\" + id, {});\r\n }\r\n\r\n getStaffLeaves(filterModel: FilterModel, staffId: number) {\r\n let url =\r\n this.getStaffLeavesURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&sortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&sortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&staffId=\" +\r\n staffId +\r\n \"&fromDate=\" +\r\n \"1990-01-01\" +\r\n \"&toDate=\" +\r\n \"2018-11-28\";\r\n return this.commonService.getAll(url, {});\r\n }\r\n deleteStaffLeave(id: number) {\r\n return this.commonService.post(\r\n this.deleteStaffLeaveByIdURL + \"?StaffLeaveId=\" + id,\r\n {}\r\n );\r\n }\r\n getStaffLeaveById(id: number) {\r\n return this.commonService.getById(\r\n this.getStaffLeaveByIdURL + \"?StaffLeaveId=\" + id,\r\n {}\r\n );\r\n }\r\n saveStaffLeave(data: StaffLeaveModel) {\r\n return this.commonService.post(this.saveStaffLeaveURL, data);\r\n }\r\n getAll(\r\n filterModel: FilterModel,\r\n tags: any,\r\n roleIds: any,\r\n locationId: number\r\n ) {\r\n let url =\r\n this.getAllURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&sortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&sortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&LocationIDs=\" +\r\n locationId +\r\n \"&searchKey=\" +\r\n (filterModel.searchText || \"\") +\r\n \"&RoleIds=\" +\r\n roleIds +\r\n \"&Tags=\" +\r\n tags;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getStaffsByCreatedByAll(\r\n filterModel: FilterModel,\r\n tags: any,\r\n roleIds: any,\r\n locationId: number\r\n ) {\r\n let url =\r\n this.getStaffsByCreatedByURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&sortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&sortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&LocationIDs=\" +\r\n locationId +\r\n \"&searchKey=\" +\r\n (filterModel.searchText || \"\") +\r\n \"&RoleIds=\" +\r\n roleIds +\r\n \"&Tags=\" +\r\n tags;\r\n return this.commonService.getAll(url, {});\r\n }\r\n // getMasterData(value: string = \"\") {\r\n // return this.commonService.post(this.getMasterDataURL, {\r\n // masterdata: value\r\n // });\r\n // }\r\n\r\n\r\n DeleteUploadedImages(id:any,type:any){\r\n \r\n return this.commonService.post(this.DeleteUploadedImagesURL + \"Id=\" + id + \"&type=\"+ type,{});\r\n \r\n }\r\n\r\n getMasterData(\r\n value: string = \"\",\r\n isLoading: boolean = true,\r\n globalCodeId: any[] = []\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getMasterDataByNameURL + \"?globalCodeId=\" + globalCodeId\r\n }`,\r\n { masterdata: value },\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getStaffCustomLabels(staffId: number) {\r\n let url = this.getStaffCustomLabelsURL + \"?staffId=\" + staffId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getStaffById(id: number) {\r\n return this.commonService.getById(this.getStaffByIdURL + \"?id=\" + id, {},true);\r\n }\r\n\r\n getStaffHeaderInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getStaffHeaderInfoURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n saveCustomLabels(data: StaffCustomLabel[]) {\r\n return this.commonService.post(this.saveStaffCustomLabelsURL, data);\r\n }\r\n getStaffLocations(staffId: number) {\r\n return this.commonService.getById(\r\n this.getStaffLocationURL + \"?Id=\" + staffId,\r\n {}\r\n );\r\n }\r\n getStaffAvailabilityByLocation(staffId: number, locationId: number, date: any, appointmentmode: any,fromDate:any=null,toDate=null) {\r\n return this.commonService.getById(\r\n this.getStaffAvailabilityByLocationURL +\r\n \"?staffId=\" +\r\n staffId +\r\n \"&locationId=\" +\r\n locationId +\r\n \"&appointmentmode=\" + appointmentmode +\r\n \"&date=\" + date +\r\n \"&fromDate=\" + fromDate +\r\n \"&toDate=\" + toDate,\r\n {}\r\n );\r\n }\r\n getLabAvailabilityByLocation(labId: number, locationId: number) {\r\n return this.commonService.getById(\r\n this.getLabAvailabilityByLocationURL +\r\n \"?labId=\" +\r\n labId +\r\n \"&locationId=\" +\r\n locationId +\r\n \"&isLeaveNeeded=false\",\r\n {}\r\n );\r\n }\r\n saveStaffAvailability(data: any) {\r\n return this.commonService.post(\r\n this.saveStaffAvailabilityByLocationURL,\r\n data\r\n );\r\n }\r\n updateLeaveStatus(data: any) {\r\n return this.commonService.post(this.updateLeaveStatusURL, data);\r\n }\r\n\r\n getStaffPayrollRate(staffId: number) {\r\n return this.commonService.getById(\r\n this.getStaffPayrollRateURL + \"?staffId=\" + staffId,\r\n {}\r\n );\r\n }\r\n\r\n saveStaffPayrollRate(data: StaffPayrollRateModel[]) {\r\n return this.commonService.post(this.saveUpdatePayrollRateURL, data);\r\n }\r\n getUserDocuments(userId: number, from: string, toDate: string) {\r\n return this.commonService.getAll(\r\n this.getUserDocumentsURL +\r\n \"?userId=\" +\r\n userId +\r\n \"&from=\" +\r\n from +\r\n \"&to=\" +\r\n toDate,\r\n {}\r\n );\r\n }\r\n\r\n getUserByLocation(locationId: number) {\r\n let url =\r\n this.getUserByLocationURL +\r\n \"?locationIds=\" +\r\n locationId +\r\n \"&permissionKey=SCHEDULING_LIST_VIEW_OTHERSTAFF_SCHEDULES&isActiveCheckRequired=YES\";\r\n return this.commonService.getAll(url, {});\r\n }\r\n \r\n getUserDocument(id: number) {\r\n return this.commonService.download(\r\n this.getUserDocumentURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n getDocumentForDownlod(id: number, key: any = \"userdoc\") {\r\n return this.commonService.get(\r\n this.getUserDocumentURL + \"?id=\" + id + \"&key=\" + key\r\n );\r\n }\r\n\r\n deleteUserDocument(id: number) {\r\n return this.commonService.post(\r\n this.deleteUserDocumentURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n updateDocumentStatus(id: number, documentstatus: boolean) {\r\n //////;\r\n return this.commonService.post(\r\n //this.updateDocumentStatusURL + \"?id=\" + id +\"&documentstatus\"+documentstatus,\r\n this.updateDocumentStatusURL + \"/\" + id + \"/\" + documentstatus,\r\n {}\r\n );\r\n }\r\n\r\n uploadUserDocuments(data: AddUserDocumentModel) {\r\n //////;\r\n return this.commonService.post(this.uploadUserDocumentURL, data);\r\n }\r\n\r\n updatePatientAppointmentDocuments(\r\n data: UpdatePatAppointmentIdUserDocumentModel[]\r\n ) {\r\n //////;\r\n return this.commonService.post(\r\n this.UpdatePatientAppointmentDocumentsURL,\r\n data\r\n );\r\n }\r\n\r\n getStaffProfileData(id: number) {\r\n return this.commonService.getById(this.getStaffProfileURL + \"/\" + id, {});\r\n }\r\n\r\n\r\n \r\n downloadFile(blob: Blob, filetype: string, filename: string) {\r\n var newBlob = new Blob([blob], { type: filetype });\r\n // IE doesn't allow using a blob object directly as link href\r\n // instead it is necessary to use msSaveOrOpenBlob\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n // For other browsers:\r\n // Create a link pointing to the ObjectURL containing the blob.\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(function () {\r\n // For Firefox it is necessary to delay revoking the ObjectURL\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n return this.commonService.getUserScreenActionPermissions(\r\n moduleName,\r\n screenName\r\n );\r\n }\r\n\r\n updateUserStatus(userId: number, status: boolean) {\r\n return this.commonService.post(\r\n this.updateUserStatusURL + \"/\" + userId + \"/\" + status,\r\n {}\r\n );\r\n }\r\n\r\n updateUserActiveStatus(staffId: number, status: boolean) {\r\n return this.commonService.post(\r\n this.updateUserActiveStatusURL +\r\n \"?staffId=\" +\r\n staffId +\r\n \"&isActive=\" +\r\n status,\r\n {}\r\n );\r\n }\r\n\r\n getUserExperience(data) {\r\n let url =\r\n this.getStaffExperienceURL +\r\n \"?pageNumber=\" +\r\n data.pageNumber +\r\n \"&pageSize=\" +\r\n data.pageSize +\r\n \"&SortColumn=\" +\r\n data.sortColumn +\r\n \"&SortOrder=\" +\r\n data.sortOrder +\r\n \"&searchCriteria=\" +\r\n data.searchText +\r\n \"&staffId=\" +\r\n data.staffId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n saveStaffExperience(data: any) {\r\n return this.commonService.post(this.saveStaffExperienceURL, data);\r\n }\r\n DeleteUserExperience = (data) => {\r\n return this.commonService.post(this.deleteUserExperienceUrl, data);\r\n };\r\n\r\n getUserQualification = (data) => {\r\n let url =\r\n this.getStaffQualificationURL +\r\n \"?pageNumber=\" +\r\n data.pageNumber +\r\n \"&pageSize=\" +\r\n data.pageSize +\r\n \"&SortColumn=\" +\r\n data.sortColumn +\r\n \"&SortOrder=\" +\r\n data.sortOrder +\r\n \"&searchCriteria=\" +\r\n data.searchText +\r\n \"&staffId=\" +\r\n data.staffId;\r\n\r\n return this.commonService.getAll(url, {});\r\n };\r\n\r\n DeleteUserQualification = (data) => {\r\n return this.commonService.post(this.deleteUserQualificationUrl, data);\r\n };\r\n\r\n saveStaffQualification(data: any) {\r\n return this.commonService.post(this.saveStaffQualificationURL, data);\r\n }\r\n\r\n newSaveStaffQualification(data: any) {\r\n return this.commonService.post(this.newSaveStaffQualificationUrl, data);\r\n }\r\n\r\n getUserAward(data) {\r\n let url =\r\n this.getStaffAwardURL +\r\n \"?pageNumber=\" +\r\n data.pageNumber +\r\n \"&pageSize=\" +\r\n data.pageSize +\r\n \"&SortColumn=\" +\r\n data.sortColumn +\r\n \"&SortOrder=\" +\r\n data.sortOrder +\r\n \"&searchCriteria=\" +\r\n data.searchText +\r\n \"&staffId=\" +\r\n data.staffId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n saveStaffAward(data: any) {\r\n return this.commonService.post(this.saveStaffAwardURL, data);\r\n }\r\n\r\n DeleteUserAward = (data) => {\r\n return this.commonService.post(this.deleteUserAwardUrl, data);\r\n };\r\n\r\n updateProviderTimeInterval(id: string) {\r\n return this.commonService.put(this.updateProviderTimeIntervalURL + id, {});\r\n }\r\n\r\n getprovidereductaionalDocuments(\r\n userId: number,\r\n from: string,\r\n toDate: string\r\n ) {\r\n return this.commonService.getAll(\r\n this.getprovidereductaionalDocumentsURL +\r\n \"?userId=\" +\r\n userId +\r\n \"&from=\" +\r\n from +\r\n \"&to=\" +\r\n toDate,\r\n {}\r\n );\r\n }\r\n\r\n getprovidereductaionalDocumentsForPatientCheckin(staffid: number) {\r\n return this.commonService.getAll(\r\n this.getprovidereductaionalDocumentsForPatientCheckinURL +\r\n \"?staffid=\" +\r\n staffid,\r\n\r\n {}\r\n );\r\n }\r\n\r\n uploadProviderEducationalDocuments(\r\n data: AddProviderEducationalDocumentModel\r\n ) {\r\n //////;\r\n return this.commonService.post(this.uploadUserDocumentURL, data);\r\n }\r\n\r\n getStateByCountryId(id: number) {\r\n return this.commonService.getById(\r\n this.getStateByCountryIDURL + \"?countryID=\" + id,\r\n {}\r\n );\r\n }\r\n getCountriesPhoneCode(countryId: number) {\r\n return this.commonService.getAll(`${this.getCountryPhoneCodeUrl}?countryId=${countryId}`, {})\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { CommonService } from \"../core/services/common.service\";\r\nimport { environment } from \"../../../../environments/environment\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class AuthenticationService {\r\n constructor(private http: HttpClient, private commonService: CommonService) { }\r\n\r\n login(postData: any) {\r\n \r\n this.commonService.setSecurityQuestions({} as object);\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(`${environment.api_url}/Login/login`, postData, {\r\n headers: headers\r\n })\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n // console.log(\"loginuserdetails: \", response.data);\r\n if (response && response.access_token) {\r\n this.commonService.setAuth(response);\r\n this.commonService.setCurrentUser(response.data);\r\n } else if (response && response.data) {\r\n this.commonService.setSecurityQuestions({\r\n loginResponse: response,\r\n authData: postData\r\n });\r\n }\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n loginUsingOtp(postData: any) {\r\n \r\n //this.commonService.setSecurityQuestions({} as object);\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(`${environment.api_url}/Login/LoginByOtp`, postData, {\r\n headers: headers\r\n })\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n // console.log(\"loginuserdetails: \", response.data);\r\n console.log(response);\r\n if (response && response.access_token) {\r\n // console.log(\"from authservice\")\r\n this.commonService.setAuth(response);\r\n this.commonService.setCurrentUser(response.data);\r\n this.commonService.processAdminStaffToken();\r\n\r\n } else if (response && response.data) {\r\n this.commonService.setSecurityQuestions({\r\n loginResponse: response,\r\n authData: postData\r\n });\r\n }\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n resendOtp(postData: any) {\r\n \r\n //this.commonService.setSecurityQuestions({} as object);\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(`${environment.api_url}/Login/ResendOtp`, postData, {\r\n headers: headers\r\n })\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n // console.log(\"loginuserdetails: \", response.data);\r\n // console.log(response);\r\n // if (response && response.access_token) {\r\n // this.commonService.setAuth(response);\r\n // this.commonService.setCurrentUser(response.data);\r\n // } else if (response && response.data) {\r\n // this.commonService.setSecurityQuestions({\r\n // loginResponse: response,\r\n // authData: postData\r\n // });\r\n // }\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n clientLogin(postData: any) {\r\n this.commonService.setSecurityQuestions({} as object);\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(`${environment.api_url}/Login/PatientLogin`, postData, {\r\n headers: headers\r\n })\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n if (response && response.access_token) {\r\n this.commonService.setCurrentUser(response.data);\r\n this.commonService.setAuth(response);\r\n\r\n } else if (response && response.data) {\r\n this.commonService.setSecurityQuestions({\r\n loginResponse: response,\r\n authData: postData\r\n });\r\n }\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n labLogin(postData: any) {\r\n this.commonService.setSecurityQuestions({} as object);\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(`${environment.api_url}/Login/LabLogin`, postData, {\r\n headers: headers\r\n })\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n if (response && response.access_token) {\r\n this.commonService.setCurrentUser(response.data);\r\n this.commonService.setAuth(response);\r\n\r\n } else if (response && response.data) {\r\n this.commonService.setSecurityQuestions({\r\n loginResponse: response,\r\n authData: postData\r\n });\r\n }\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n pharmacyLogin(postData: any) {\r\n this.commonService.setSecurityQuestions({} as object);\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(`${environment.api_url}/Login/PharmacyLogin`, postData, {\r\n headers: headers\r\n })\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n if (response && response.access_token) {\r\n this.commonService.setCurrentUser(response.data);\r\n this.commonService.setAuth(response);\r\n\r\n } else if (response && response.data) {\r\n this.commonService.setSecurityQuestions({\r\n loginResponse: response,\r\n authData: postData\r\n });\r\n }\r\n return response;\r\n })\r\n );\r\n }\r\n radiologyLogin(postData: any) {\r\n this.commonService.setSecurityQuestions({} as object);\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http.post(`${environment.api_url}/Login/RadiologyLogin`, postData, {\r\n headers: headers\r\n }).pipe(map(response => {\r\n if (response && response.access_token) {\r\n this.commonService.setCurrentUser(response.data);\r\n this.commonService.setAuth(response);\r\n } else if (response && response.data) {\r\n this.commonService.setSecurityQuestions({\r\n loginResponse: response,\r\n authData: postData\r\n });\r\n }\r\n return response;\r\n }));\r\n }\r\n saveSecurityQuestion(postData: any) {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(\r\n `${environment.api_url}/Login/SaveUserSecurityQuestion`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n if (response && response.access_token) {\r\n this.commonService.setAuth(response);\r\n this.commonService.setCurrentUser(response.data);\r\n }\r\n return response;\r\n })\r\n );\r\n }\r\n checkQuestionAnswer(postData: any) {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(`${environment.api_url}/Login/CheckQuestionAnswer`, postData, {\r\n headers: headers\r\n })\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n if (response && response.access_token) {\r\n this.commonService.setAuth(response);\r\n this.commonService.setCurrentUser(response.data);\r\n }\r\n return response;\r\n })\r\n );\r\n }\r\n forgotPassword(postData: any) {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(`${environment.api_url}/ForgotPassword`, postData, {\r\n headers: headers\r\n })\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n return response;\r\n })\r\n );\r\n }\r\n resetPassword(postData: any) {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(`${environment.api_url}/Home/UpdatePassword`, postData, {\r\n headers: headers\r\n })\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n\r\n\r\n\r\n // SetUserOffline() {\r\n // \r\n // const headers = new HttpHeaders({\r\n // businessToken: localStorage.getItem(\"business_token\")\r\n // });\r\n // return this.http\r\n // .post(`${environment.api_url}/Login/Logout`, {\r\n // headers: headers\r\n // })\r\n // .pipe(\r\n // map(response => {\r\n\r\n // return response;\r\n // })\r\n // );\r\n // }\r\n\r\n SetUserOffline() {\r\n\r\n return this.http\r\n .get(`${environment.api_url}/Login/SetUserOffline`)\r\n .subscribe((response) => {\r\n\r\n return response;\r\n });\r\n\r\n }\r\n\r\n sideScreenImgSrc = new BehaviorSubject('');\r\n\r\n updateSideScreenImgSrc(path: string) {\r\n this.sideScreenImgSrc.next(path);\r\n }\r\n getSideScreenImgSrc(): Observable {\r\n return this.sideScreenImgSrc.asObservable();\r\n }\r\n clearSideScreenImgSrc() {\r\n this.sideScreenImgSrc.next('');\r\n }\r\n}\r\n","import * as internal from \"assert\";\r\nimport { PatientMedicalFamilyHistoryDiseaseModel } from \"../agency-portal/clients/family-history/family-history.model\";\r\nimport { FilterModel } from \"../core/modals/common-model\";\r\n\r\nexport class Metadata {\r\n totalRecords: number;\r\n currentPage: number;\r\n pageSize: number;\r\n defaultPageSize: number;\r\n totalPages: number;\r\n pageSizeOptions:number[]=[5,10,25,50,100];\r\n}\r\n\r\nexport class PatientInfo {\r\n patientID: number;\r\n name: string;\r\n dob: Date;\r\n age: number;\r\n gender: string;\r\n ssn: string;\r\n mrn: string;\r\n status: string;\r\n phone: string;\r\n email: string;\r\n address: string;\r\n photoPath: string;\r\n photoThumbnailPath: string = '';\r\n isPortalActivate: boolean;\r\n isBlock: boolean;\r\n isActive: boolean;\r\n userID: number;\r\n city: string;\r\n countryName: string;\r\n ethnicity: string;\r\n firstName: string;\r\n lastName: string;\r\n raceName: string;\r\n stateName: string;\r\n zip: string=\"0\";\r\n note: string;\r\n isPortalRequired: boolean;\r\n renderingProviderId?: number;\r\n renderingProviderName?: string;\r\n renderingProviderThumbnail?: string;\r\n}\r\n\r\nexport class PatientVital {\r\n patientVitalID: number;\r\n heartRate: number;\r\n bmi: number;\r\n bpDiastolic: number;\r\n bpSystolic: number;\r\n pulse: number;\r\n respiration: number;\r\n temperature: number;\r\n heightIn: number;\r\n weightLbs: number;\r\n vitalDate: Date;\r\n}\r\n\r\nexport class PatientDiagnosisDetail {\r\n code: string;\r\n description: string;\r\n isPrimary: boolean;\r\n diagnosisDate: Date;\r\n}\r\n\r\nexport class PhoneNumberModel {\r\n phoneNumberId: number;\r\n phoneNumber: string;\r\n phoneNumberTypeId: number;\r\n phoneNumberType: string;\r\n preferenceID: number;\r\n preference: string;\r\n otherPhoneNumberType: string;\r\n}\r\n\r\nexport class PatientTagsModel {\r\n patientTagID: number;\r\n tagID: number;\r\n tag: string;\r\n colorCode: string;\r\n colorName: string;\r\n roleTypeID: number;\r\n fontColorCode: string;\r\n isDeleted: boolean;\r\n}\r\n\r\nexport class PatientAddressesModel {\r\n addressID: number;\r\n isMailingSame: boolean;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n stateID: number;\r\n stateName: string;\r\n stateAbbr: string;\r\n countryID: number;\r\n countryName: string;\r\n zip: string=\"0\";\r\n addressTypeID: number;\r\n addressType: string;\r\n isPrimary: boolean;\r\n others: string;\r\n}\r\n\r\nexport class PatientAllergyModel {\r\n patientAllergyId: number;\r\n allergen: string;\r\n allergyTypeId: number;\r\n allergyType: string;\r\n reactionID: number;\r\n reaction: string;\r\n note: string;\r\n createdDate: Date;\r\n isActive: boolean;\r\n}\r\nexport class PatientInsuranceModel {\r\n id: number;\r\n patientID: number;\r\n insuranceCompanyID: number;\r\n insuranceCompanyAddress: string ='';\r\n insuranceIDNumber: string ='';\r\n insuranceGroupName: string ='';\r\n insurancePlanName: string ='';\r\n insurancePlanTypeID: number;\r\n cardIssueDate: Date;\r\n notes: string ='';\r\n insurancePhotoPathFront: string ='';\r\n insurancePhotoPathThumbFront: string ='';\r\n insurancePhotoPathBack: string ='';\r\n insurancePhotoPathThumbBack: string ='';\r\n insurancePersonSameAsPatient: boolean = false;\r\n carrierPayerID: string ='';\r\n isDeleted: boolean =false;\r\n insuranceCompanyName: string ='';\r\n}\r\nexport class PatientMedicalFamilyHistoryModel {\r\n medicalFamilyHistoryId: number;\r\n patientID: number = null;\r\n dob: Date;\r\n dateOfDeath: Date;\r\n causeOfDeath: string = '';\r\n firstName: string ='';\r\n genderID: number;\r\n gender: string = '';\r\n lastName: string = '';\r\n observation: string;\r\n relationShipID: number;\r\n relationshipName: string ='';\r\n patientMedicalFamilyHistoryDiseases?: PatientMedicalFamilyHistoryDiseaseModel[];\r\n}\r\n\r\nexport class PatientMedicationModel {\r\n patientMedicationId: number;\r\n dose: string;\r\n endDate: Date;\r\n startDate: Date;\r\n frequencyID: number;\r\n frequency: string;\r\n medicine: string;\r\n strength: string;\r\n}\r\n\r\nexport class PatientSocialHistory {\r\n id: number;\r\n patientID: number;\r\n alcohalID: number;\r\n tobaccoID: number;\r\n drugID: number;\r\n occupation: string;\r\n travelID: number;\r\n isActive: boolean;\r\n isDeleted: boolean;\r\n createdBy: number;\r\n createdDate: Date;\r\n updatedDate: Date;\r\n updatedBy: number;\r\n}\r\n\r\nexport class PatientImmunization {\r\n id: number;\r\n patientID: number;\r\n orderBy: number;\r\n vfcid: number;\r\n administeredDate: Date;\r\n immunization: number;\r\n amountAdministered: number;\r\n manufactureID: number;\r\n expireDate: Date;\r\n vaccineLotNumber: string ='';\r\n administrationSiteID: number;\r\n routeOfAdministrationID: number;\r\n administeredBy: number;\r\n immunityStatusID: number;\r\n rejectedImmunization: boolean;\r\n rejectionReasonID: number;\r\n rejectionReasonNote: string='';\r\n manufacturerName: string='';\r\n isActive: boolean;\r\n isDeleted: boolean;\r\n createdBy: number;\r\n createdDate: Date;\r\n}\r\n\r\nexport class Organization {\r\n id: number;\r\n organizationName: string;\r\n businessName: string;\r\n value: string;\r\n description: string;\r\n address1: string;\r\n city: string;\r\n stateName: string;\r\n zip: string=\"0\";\r\n phone: string;\r\n fax: string;\r\n email: string;\r\n logo: string;\r\n favicon: string;\r\n contactPersonFirstName: string;\r\n contactPersonLastName: string;\r\n contactPersonPhoneNumber: string;\r\n contactPersonMaritalStatus: number;\r\n databaseDetailId: number;\r\n isActive: boolean;\r\n createdDate: Date;\r\n isDeleted: boolean;\r\n createdBy: number;\r\n updatedDate: Date;\r\n latitude: number;\r\n longitude: number;\r\n apartmentNumber: string;\r\n vendorIdDirect: string;\r\n vendorIdIndirect: string;\r\n vendorNameDirect: string;\r\n vendorNameIndirect: string;\r\n payrollStartWeekDay: string;\r\n payrollEndWeekDay: string;\r\n}\r\n\r\nexport class ClientProfileModel {\r\n patientInfo = new Array();\r\n patientVitals = new Array();\r\n lastAppointmentDetails: any[] = [];\r\n upcomingAppointmentDetails: any[] = [];\r\n patientDiagnosisDetails = new Array();\r\n phoneNumberModel = new Array();\r\n patientTagsModel = new Array();\r\n patientAddressesModel = new Array()\r\n patientAllergyModel = new Array();\r\n patientLabTestModel: any[] = [];\r\n patientMedicalFamilyHistoryModel = new Array();\r\n patientCustomLabelModel: any[];\r\n patientMedicationModel = new Array();\r\n staffs: any[] = [];\r\n patientSocialHistory = new Array();\r\n patientEncounter: any[];\r\n patientImmunization = new Array();\r\n organization = new Array();\r\n claimServiceLine: any[] = [];\r\n}\r\nexport class PatientAppointmentListModel {\r\n patientAppointmentId: number;\r\n startDateTime: Date;\r\n endDateTime: Date;\r\n appointmentTypeName: string;\r\n appointmentTypeID: number;\r\n color: string;\r\n fontColor: string;\r\n defaultDuration: number;\r\n isBillable: boolean;\r\n patientName: string;\r\n patientID: number;\r\n patientEncounterId: number;\r\n claimId: number;\r\n canEdit: boolean;\r\n patientAddressID: number;\r\n serviceLocationID: number;\r\n appointmentStaffs: AppointmentStaff[];\r\n isClientRequired: boolean;\r\n isRecurrence: boolean;\r\n offSet: number;\r\n allowMultipleStaff: boolean;\r\n cancelTypeId: number;\r\n isExcludedFromMileage: boolean;\r\n isDirectService: boolean;\r\n patientPhotoThumbnailPath: string;\r\n statusId: number;\r\n statusName: string;\r\n address: string;\r\n latitude: number;\r\n longitude: number;\r\n isTelehealthAppointment: boolean;\r\n customAddress: string;\r\n customAddressID?: number;\r\n notes: string;\r\n officeAddressID?: number;\r\n recurrenceRule: string;\r\n parentAppointmentId?: number;\r\n}\r\nexport class AppointmentStaff {\r\n staffId: number;\r\n staffName: string;\r\n isDeleted: boolean;\r\n}\r\nexport class PatientAuthorizationModel {\r\n authorizationId: number;\r\n authorizationNumber: string;\r\n startDate: Date;\r\n endDate: Date;\r\n payerName: string;\r\n payerPreference: string;\r\n totalCount: number;\r\n patientInsuranceId: number;\r\n authorizationTitle: string;\r\n notes: string;\r\n payerId: number;\r\n isExpired: boolean;\r\n}\r\n//chat\r\nexport class ChatHistoryModel {\r\n id?: number;\r\n message: string;\r\n isSeen?: boolean;\r\n fromUserId?: number;\r\n toUserId?: number;\r\n chatDate?: string;\r\n isRecieved?: boolean;\r\n}\r\n\r\nexport class LabListModel {\r\n labId?: Number;\r\n labName: string;\r\n labPhotoThumbnailPath: string;\r\n}\r\n\r\nexport class Subscriptionplan {\r\n patientSubscriptionPlanId: number;\r\n subscriptionPlanId:number;\r\n patientId:number;\r\n planType:string;\r\n amountPerClient:number;\r\n createdBy: number;\r\n createdDate: Date;\r\n deletedBy?: number;\r\n deletedDate?: Date;\r\n isActive?: boolean = true;\r\n isDeleted?: boolean = false;\r\n title: string;\r\n descriptions: string;\r\n organizationId: number;\r\n phone?: string;\r\n updatedBy: number;\r\n updatedDate: Date;\r\n expiryDate?: Date;\r\n startDate?: Date;\r\n organizationName:string;\r\n email:string;\r\n locationId:number;\r\n}\r\nexport class UserDocumentReq extends FilterModel{\r\n userId:number;\r\n documentType?:number;\r\n searchCriteria:string=\"\";\r\n fromDate: string;\r\n toDate:string;\r\n CreatedBy:string;\r\n FirstCall:boolean=true;\r\n}\r\n\r\n\r\nexport interface Ticket {\r\n id?: string;\r\n category: string;\r\n priority: string;\r\n description: string;\r\n files?: File[];\r\n status: string;\r\n remarks?: string;\r\n }\r\n \r\n\r\n export interface GetRaisedTicketByIdResponceModel {\r\n ticketId: number;\r\n category: string;\r\n status: string;\r\n remarks?: string;\r\n priority: string;\r\n description: string;\r\n key?: string;\r\n creatorName: string;\r\n createdDate?: Date;\r\n resolvedDate?: Date;\r\n files?: GetRaisedTicketResponceModelFiles[];\r\n }\r\n \r\n export interface GetRaisedTicketResponceModelFiles {\r\n fileId: number;\r\n ticketId: number;\r\n base64: string;\r\n fileName: string;\r\n }\r\n \r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { ClientModel } from \"./client.model\";\r\nimport { FilterLabReferralModel } from \"../../core/modals/common-model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ClientsService {\r\n private getMasterDataByNameURL = \"api/MasterData/MasterDataByName\";\r\n private createURL = \"Patients/CreateUpdateClient\";\r\n //private createURL = \"Patients/Client\";\r\n private getClientByIdURL = \"Patients/GetPatientById\";\r\n private getClientHeaderInfoURL = \"Patients/GetPatientHeaderInfo\";\r\n private getClientProfileInfoURL = \"Patients/GetPatientsDetails\";\r\n\r\n private updateClientStatusURL = \"patients/UpdatePatientActiveStatus\";\r\n private updateUserStatusURL = \"user/UpdateUserStatus\";\r\n private getPatientCCDAURL = \"patients/GetPatientCCDA\";\r\n private updatePatientPortalVisibilityURL =\r\n \"patients/UpdatePatientPortalVisibility\";\r\n\r\n private updateLabReferralURL = \"LabReferral/UpdateLabReferral\";\r\n //Address URL\r\n private getAddressAndPhoneNumbersURL =\r\n \"PatientsAddress/GetPatientPhoneAddress\";\r\n private saveAddressAndPhoneNumbersURL = \"PatientsAddress/SavePhoneAddress\";\r\n private getAllLabReferralsURL = \"LabReferral/GetAllLabReferralsByLabId\";\r\n private getAllFilterLabReferralsByLabIdURL =\r\n \"LabReferral/GetAllFilterLabReferralsByLabId\";\r\n private downloadLabFileURL = \"LabReferral/GetUserDocument\";\r\n private getLabReferralPdfByIdURL = \"LabReferral/GetLabReferralPdfById\";\r\n private GetAllLabReferralResultDocByReverralIdUrl =\r\n \"LabReferral/GetAllLabReferralResultDocByReverralId\";\r\n private UpdateSampleCollectionStatusUrl =\r\n \"LabReferral/UpdateStatusForSampleCollected\";\r\n\r\n private GetPatientLatestInsurancePdfByPatientId =\r\n \"PatientsInsurance/GetPatientLatestInsurancePdfByPatientId\";\r\n\r\n private LabRefferalStatusChangeURL = \"LabReferral/LabRefferalStatusChange\"\r\n\r\n constructor(private commonService: CommonService) {}\r\n create(data: ClientModel) {\r\n return this.commonService.post(this.createURL, data);\r\n }\r\n getMasterData(value: string = \"\") {\r\n return this.commonService.post(this.getMasterDataByNameURL, {\r\n masterdata: value,\r\n });\r\n }\r\n updateClientNavigations(id: number, userId: number = null) {\r\n this.commonService.updateClientNaviagations(id, userId);\r\n }\r\n getClientById(id: number) {\r\n return this.commonService.getById(\r\n this.getClientByIdURL + \"?patientId=\" + id,\r\n {}\r\n );\r\n }\r\n getClientHeaderInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getClientHeaderInfoURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n getClientProfileInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getClientProfileInfoURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n updateClientStatus(patientId: number, isActive: boolean) {\r\n return this.commonService.post(\r\n this.updateClientStatusURL +\r\n \"?patientID=\" +\r\n patientId +\r\n \"&isActive=\" +\r\n isActive,\r\n {}\r\n );\r\n }\r\n\r\n updateUserStatus(patientId: number, isActive: boolean) {\r\n return this.commonService.post(\r\n this.updateUserStatusURL + \"/\" + patientId + \"/\" + isActive,\r\n {}\r\n );\r\n }\r\n getPatientCCDA(patientId: number) {\r\n return this.commonService.download(\r\n this.getPatientCCDAURL + \"?id=\" + patientId,\r\n {}\r\n );\r\n }\r\n updatePatientPortalVisibility(\r\n patientId: number,\r\n userId: number,\r\n value: boolean\r\n ) {\r\n let url =\r\n this.updatePatientPortalVisibilityURL +\r\n \"?patientID=\" +\r\n patientId +\r\n \"&userID=\" +\r\n userId +\r\n \"&isPortalActive=\" +\r\n value;\r\n return this.commonService.post(url, {});\r\n }\r\n\r\n //Address Method -- Remove all if not needed\r\n getPatientAddressesAndPhoneNumbers(clientId: number) {\r\n return this.commonService.getById(\r\n this.getAddressAndPhoneNumbersURL + \"?patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n\r\n savePatientAddressesAndPhoneNumbers(data: any) {\r\n return this.commonService.post(this.saveAddressAndPhoneNumbersURL, data);\r\n }\r\n\r\n downloadFile(blob: Blob, filetype: string, filename: string) {\r\n var newBlob = new Blob([blob], { type: filetype });\r\n // IE doesn't allow using a blob object directly as link href\r\n // instead it is necessary to use msSaveOrOpenBlob\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n // For other browsers:\r\n // Create a link pointing to the ObjectURL containing the blob.\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(function () {\r\n // For Firefox it is necessary to delay revoking the ObjectURL\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n return this.commonService.getUserScreenActionPermissions(\r\n moduleName,\r\n screenName\r\n );\r\n }\r\n\r\n getAllLabReferralList(\r\n labId: number,\r\n role: string,\r\n searchText: string,\r\n fromDate: any,\r\n toDate: any,\r\n pageSize: any,\r\n pageNumber: any,\r\n dob?:any,\r\n patientId?:any\r\n ) {\r\n \r\n return this.commonService.get(\r\n `${this.getAllLabReferralsURL}?labId=${labId}&referTo=${role}&searchText=${searchText}&fromDate=${fromDate}&toDate=${toDate}&pageSize=${pageSize}&pageNumber=${pageNumber}&dob=${dob}&patientId=${patientId}`\r\n );\r\n }\r\n getAllFilterLabReferralsByLabId(data: FilterLabReferralModel) {\r\n return this.commonService.post(\r\n `${this.getAllFilterLabReferralsByLabIdURL}`,\r\n data\r\n );\r\n }\r\n downloadLabFile(labReferralMappingId: number) {\r\n return this.commonService.download(\r\n this.downloadLabFileURL + \"?id=\" + labReferralMappingId,\r\n {}\r\n );\r\n }\r\n\r\n getLabReferralPdfById(id: number) {\r\n return this.commonService.getById(\r\n this.getLabReferralPdfByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n GetAllLabReferralResultDocByReverralId(referralId: number) {\r\n return this.commonService.get(\r\n this.GetAllLabReferralResultDocByReverralIdUrl +\r\n \"?labReferralId=\" +\r\n referralId\r\n );\r\n }\r\n UpdateSampleCollectionStatus(referralId, date, status) {\r\n var data = {\r\n LabReferralId: referralId,\r\n SampleCollectionDate: date,\r\n IsSampleCollectedStatus: status,\r\n };\r\n return this.commonService.post(\r\n `${this.UpdateSampleCollectionStatusUrl}`,\r\n data\r\n );\r\n }\r\n updateLabReferral(data: any) {\r\n return this.commonService.post(this.updateLabReferralURL, data);\r\n //return this.commonService.post(this.updateLabReferralReportURL, data);\r\n }\r\n PatientInsurancePdfByPatientId(patientId) {\r\n return this.commonService.getById(\r\n this.GetPatientLatestInsurancePdfByPatientId + \"?patientId=\" + patientId,\r\n {}\r\n );\r\n }\r\n\r\n\r\n updateLabReferralStatus(data: any) {\r\n return this.commonService.post(this.LabRefferalStatusChangeURL, data);\r\n //return this.commonService.post(this.updateLabReferralReportURL, data);\r\n }\r\n\r\n\r\n\r\n}\r\n","import {\r\n PaymentFilterModel,\r\n RefundFilterModel,\r\n} from \"./../core/modals/common-model\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../core/services/common.service\";\r\nimport { FilterModel } from \"../core/modals/common-model\";\r\nimport { Observable } from \"rxjs\";\r\nimport { UserDocumentReq } from \"./client-profile.model\";\r\nimport { ImmunizationModel } from \"../agency-portal/clients/immunization/immunization.model\";\r\nimport { MedicationModel } from \"../agency-portal/clients/medication/medication.model\";\r\nimport { AllergyModel } from \"../agency-portal/clients/allergies/allergies.model\";\r\nimport { AuthModel } from \"../agency-portal/clients/authorization/authorization.model\";\r\nimport { PatientMedicalFamilyHistoryModel } from \"../agency-portal/clients/family-history/family-history.model\";\r\nimport { PatientInsuranceModel } from \"../agency-portal/clients/insurance.model\";\r\nimport { providerDef } from \"@angular/core/src/view\";\r\nimport { TemplateModel } from \"../agency-portal/template/template.model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ClientsService {\r\n private GetCheckout ='api/EFawateerPayment/GetCheckout/'\r\n private getClientByIdURL = \"Patients/GetPatientById\";\r\n private getMasterDataByNameURL = \"api/MasterData/MasterDataByName\";\r\n private getClientProfileInfoURL = \"Patients/GetPatientsDetails\";\r\n private getPatientCCDAURL = \"patients/GetPatientCCDA\";\r\n // private getAllergyListURL = \"PatientsAllergy/GetAllergies\";\r\n // private getAllAuthorizationsForPatientURL = \"Authorizations/GetAllAuthorizationsForPatient\";\r\n // private getImmunizationListURL = \"PatientsImmunization/GetImmunization\";\r\n // private getPatientMedicalFamilyHistoryListURL = \"PatientMedicalFamilyHistory/GetPatientMedicalFamilyHistoryById\";\r\n // private getPatientInsurances = \"PatientsInsurance/GetPatientInsurances\";\r\n private getPatientAppointment =\r\n \"api/PatientAppointments/GetPatientAppointmentList\";\r\n // private getMedicationListURL = \"PatientsMedication/GetMedication\";\r\n private GetFilterLabAppointmentUrl = \"Patients/GetPatientLabAppointments\";\r\n //chat\r\n private getChatHistoryURL = \"Chat/GetChatHistory\";\r\n private getPaymentUrl = \"AppointmentPayment/ClientPayments\";\r\n private getRefundUrl = \"AppointmentPayment/ClientRefunds\";\r\n //review/ratings\r\n private getAllReviewRatingURL = \"ReviewRatings/GetAllReviewRatings\";\r\n private getReviewRatingURL = \"ReviewRatings/GetReviewRatingById\";\r\n private saveReviewRatingURL = \"ReviewRatings/SaveUpdateReviewRating\";\r\n private getClientNetAppointmentPaymentUrl =\r\n \"AppointmentPayment/ClientNetAppointmentPayment\";\r\n private getPatientsDashboardDetailsURL =\r\n \"Patients/GetPatientsDashboardDetails\";\r\n\r\n //Patient Vitals URL\r\n private createVitalURL = \"PatientsVitals/SaveVital\";\r\n private getVitalListURL = \"PatientsVitals/GetVitals\";\r\n private getVitalByIdURL = \"PatientsVitals/GetVitalById\";\r\n\r\n private deleteVitalURL = \"PatientsVitals/DeleteVital\";\r\n\r\n //Patient Encounters URL\r\n private getPatientEncountersListURL = \"patient-encounter/GetPatientEncounter\";\r\n\r\n //Patient Prescription URL\r\n private getAllPharmacyURL: string = \"Pharmacy/GetAllPharmacy\";\r\n private addSharePrescriptionURL = \"Patients/SaveSharePrescription\";\r\n private addFavouritePharmacyURL: string = \"Pharmacy/AddFavouritePharmacy\";\r\n private getFavouritePharmacyListURL: string =\r\n \"Pharmacy/GetAllFavouritePharmacy\";\r\n private getAllProvidersURL: string = \"Staffs/GetAllProviders\";\r\n // private addPatientFavouriteProviderURL: string =\r\n // \"Staffs/AddPatientFavouriteProvider\";\r\n // private getAllPatientFavouriteProviders: string =\r\n // \"Staffs/GetPatientFavouriteProviders\";\r\n\r\n // Patient card\r\n private GetAllLabReferralResultDocByReverralIdUrl =\r\n \"LabReferral/GetAllLabReferralResultDocByReverralId\";\r\n private saveCardDetailsUrl: string = \"User/SaveCardDetails\";\r\n private getUserSavedCardUrl: string = \"User/GetUserSavedCard\";\r\n private deleteUserCardUrl: string = \"User/DeleteUserCard\";\r\n private updateUserSavedCardUrl: string = \"User/UpdateUserSavedCard\";\r\n private addPatientFavouriteProviderURL: string =\r\n \"Staffs/AddPatientFavouriteProvider\";\r\n private getAllPatientFavouriteProviders: string =\r\n \"Staffs/GetPatientFavouriteProviders\";\r\n\r\n //Template\r\n private getAllTemplatesURL = \"Staffs/GetAllTemplates\";\r\n private getAllLeterURL = \"Staffs/GetAllLetter\";\r\n private createTemplateURL = \"Staffs/SaveTemplate\";\r\n private createLetterURL = \"Staffs/SaveLetter\";\r\n private getTemplateByIdURL = \"Staffs/GetTemplateById\";\r\n private deleteTemplateURL = \"Staffs/DeleteTemplate\";\r\n private deleteTemplateLetterURL = \"Staffs/DeleteLetter\";\r\n private getTemplatePdfByIdURL = \"Staffs/GetTemplatePdfById\";\r\n\r\n //Patient Documents URL\r\n private getFilterUserDocumentsUrl = \"userDocument/GetFilterUserDocuments\";\r\n private getDocumentURL = \"userDocument/GetUserDocument\";\r\n private deleteUserDocumentURL = \"userDocument/DeleteUserDocument\";\r\n private uploadUserDocumentURL = \"userDocument/UploadUserDocuments\";\r\n\r\n //Patient Immunization URL\r\n private createImmunizationURL =\r\n \"PatientsImmunization/SavePatientImmunization\";\r\n private getImmunizationListURL = \"PatientsImmunization/GetImmunization\"; //\r\n private getImmunizationByIdURL = \"PatientsImmunization/GetImmunizationById\";\r\n private deleteImmunizationURL = \"PatientsImmunization/DeleteImmunization\";\r\n\r\n //Patient Medication URL\r\n private createMedicationURL = \"PatientsMedication/SaveMedication\";\r\n private getMedicationListURL = \"PatientsMedication/GetMedication\";\r\n private getMedicationByIdURL = \"PatientsMedication/GetMedicationById\";\r\n private deleteMedicationURL = \"PatientsMedication/DeleteMedication\";\r\n\r\n //Patient Allergy URL\r\n private createAllergyURL = \"PatientsAllergy/SaveAllergy\";\r\n private getAllergyListURL = \"PatientsAllergy/GetAllergies\";\r\n private getAllergyByIdURL = \"PatientsAllergy/GetAllergyById\";\r\n private deleteAllergyURL = \"PatientsAllergy/DeleteAllergy\";\r\n private getPatientsByStaffIdURL = \"Patients/GetPatientsByStaffId\";\r\n private addLabReferralURL = \"LabReferral/AddLabReferral\";\r\n private updateLabReferralURL = \"LabReferral/UpdateLabReferral\";\r\n private updateLabReferralReportURL = \"LabReferral/UploadLabReferralsReport\";\r\n private getLabReferralsURL = \"LabReferral/GetAllLabReferrals\";\r\n private getLabReferralsByPatientIdURL =\r\n \"LabReferral/GetAllLabReferralsByPatientId\";\r\n private GetRadiologyReferralsUrl = \"Radiology/GetRadiologyReferrals\";\r\n //Patient Authorization URL\r\n private getAllAuthorizationsForPatientURL =\r\n \"Authorizations/GetAllAuthorizationsForPatient\";\r\n private getAuthorizationByIdURL = \"Authorizations/GetAuthorizationById\";\r\n private deleteAuthorizationURL = \"Authorizations/DeleteAutorization\";\r\n private getPatientPayerServiceCodesAndModifiersURL =\r\n \"patients/GetPatientPayerServiceCodesAndModifiers\";\r\n private createAuthorizationURL = \"Authorizations/SaveAuthorization\";\r\n\r\n private getAllLabsURL: string = \"Labs/GetAllLabs\";\r\n private getAllLabApprovedListsURL: string = \"Home/LabApprovedList\";\r\n private addFavouriteLabURL: string = \"Labs/AddFavouriteLab\";\r\n private getAllFavouriteLabsURL: string = \"Labs/GetAllFavouriteLabs\";\r\n private getAllRadiologyURL: string = \"Radiology/GetAllRadiology\";\r\n private addFavouriteRadiologyURL: string = \"Radiology/AddFavouriteRadiology\";\r\n private getAllFavouriteRadiologyURL: string =\r\n \"Radiology/GetAllFavouriteRadiology\";\r\n\r\n // Patient Family History URL\r\n private getPatientMedicalFamilyHistoryListURL =\r\n \"PatientMedicalFamilyHistory/GetPatientMedicalFamilyHistoryById\";\r\n private deletePatientMedicalFamilyHistoryURL =\r\n \"PatientMedicalFamilyHistory/DeletePatientMedicalFamilyHistory\";\r\n private savePatientFamilyHistoryDataURL =\r\n \"PatientMedicalFamilyHistory/SavePatientMedicalfamilyHistory\";\r\n\r\n //Patient Insurance URL\r\n private getPatientInsurances = \"PatientsInsurance/GetPatientInsurances\";\r\n private getPatientInsurancesById =\r\n \"PatientsInsurance/GetPatientInsuranceById\";\r\n private savePatientInsurances = \"PatientsInsurance/SavePatientInsurance\";\r\n private deletePatientInsurances = \"PatientsInsurance/DeletePatientInsurance\";\r\n private getPatientInsurancePdfByIdUrl =\r\n \"PatientsInsurance/GetPatientInsurancePdfById\";\r\n private createOrUpdateDoctorPatientNotesURL =\r\n \"Patients/CreateOrUpdateDoctorPatientNotes\";\r\n private getDoctorNotesURL = \"Patients/GetDoctorPatientNotes\";\r\n\r\n private downloadLabFileURL = \"LabReferral/GetUserDocument\";\r\n private getLabReferralPdfByIdURL = \"LabReferral/GetLabReferralPdfById\";\r\n private UpdateSampleCollectionStatusUrl =\r\n \"LabReferral/UpdateStatusForSampleCollected\";\r\n private GetPatientLatestInsurancePdfByPatientId =\r\n \"PatientsInsurance/GetPatientLatestInsurancePdfByPatientId\";\r\n private GetReferalDetailsByReferalIdUrl =\r\n \"LabReferral/GetReferalDetailsByReferalId\";\r\n\r\n //dicom\r\n private addDicomImageURL = \"Dicom/UploadDicomFile\";\r\n //private addDicomImageURL = \"Dicom/TestUploadUI\";\r\n\r\n \r\n private getDicomFilesURL = \"Dicom/GetDicomFiles/\";\r\n private getViewerURL = \"Dicom/GetImageUrlforView/\";\r\n\r\n //RadiologyReferralUrl\r\n private addRadiologyUrl = \"PatientRadiologyDocument/UploadRadiologyUrl\";\r\n private getRadiologyUrl =\r\n \"PatientRadiologyDocument/GetRadiologyDocumentAndUrl/\";\r\n\r\n constructor(private commonService: CommonService) {}\r\n\r\n SaveUserCardDetails = (data) => {\r\n return this.commonService.post(this.saveCardDetailsUrl, data);\r\n };\r\n GetUserSavedCard = (filterModel: any) => {\r\n let url =\r\n this.getUserSavedCardUrl +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&searchCriteria=\" +\r\n filterModel.searchText;\r\n return this.commonService.get(url);\r\n };\r\n DeleteUsercard = (data) => {\r\n return this.commonService.post(this.deleteUserCardUrl, data);\r\n };\r\n UpdateUserCard = (data) => {\r\n return this.commonService.post(this.updateUserSavedCardUrl, data);\r\n };\r\n\r\n GetFilterLabAppointmentByPatientId(filterModel: any) {\r\n let url = `?patientId=${filterModel.patientId}&status=${filterModel.status}&fromDate=${filterModel.fromDate}&toDate=${filterModel.toDate}`;\r\n return this.commonService.get(this.GetFilterLabAppointmentUrl + url);\r\n }\r\n\r\n downloadLabFile(labReferralMappingId: number) {\r\n return this.commonService.download(\r\n this.downloadLabFileURL + \"?id=\" + labReferralMappingId,\r\n {}\r\n );\r\n }\r\n\r\n getMasterData(value: string = \"\") {\r\n return this.commonService.post(this.getMasterDataByNameURL, {\r\n masterdata: value,\r\n });\r\n }\r\n\r\n getClientById(id: number) {\r\n return this.commonService.getById(\r\n this.getClientByIdURL + \"?patientId=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n getPatientAppointmentList(locationId: number, id: number) {\r\n let url = `?locationIds=${locationId}&patientIds=${id}`;\r\n return this.commonService.getById(this.getPatientAppointment + url, {});\r\n }\r\n getClientProfileInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getClientProfileInfoURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n getClientProfileDashboardInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getPatientsDashboardDetailsURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n getPatientCCDA(patientId: number) {\r\n return this.commonService.download(\r\n this.getPatientCCDAURL + \"?id=\" + patientId,\r\n {}\r\n );\r\n }\r\n downloadFile(blob: Blob, filetype: string, filename: string) {\r\n var newBlob = new Blob([blob], { type: filetype });\r\n // IE doesn't allow using a blob object directly as link href\r\n // instead it is necessary to use msSaveOrOpenBlob\r\n\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n // For other browsers:\r\n // Create a link pointing to the ObjectURL containing the blob.\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(function () {\r\n // For Firefox it is necessary to delay revoking the ObjectURL\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n //chat\r\n getChatHistory(fromUserId: number, toUserId: number) {\r\n return this.commonService.getAll(\r\n `${this.getChatHistoryURL}?FromUserId=${fromUserId}&ToUserId=${toUserId}`,\r\n {}\r\n );\r\n }\r\n getAppointmentPayments(postData: PaymentFilterModel): Observable {\r\n return this.commonService.post(this.getPaymentUrl, postData, true);\r\n }\r\n getClientNetAppointmentPayment(clientId: any): Observable {\r\n return this.commonService.getAll(\r\n `${this.getClientNetAppointmentPaymentUrl}?clientId=${clientId}`,\r\n {}\r\n );\r\n }\r\n getAppointmentRefunds(postData: RefundFilterModel): Observable {\r\n return this.commonService.post(this.getRefundUrl, postData, true);\r\n }\r\n getReviewRatingById(id: number) {\r\n return this.commonService.getById(\r\n this.getReviewRatingURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n saveUpdateReviewRating(data: any) {\r\n return this.commonService.post(this.saveReviewRatingURL, data);\r\n }\r\n getReviewRatings() {\r\n return this.commonService.getAll(this.getAllReviewRatingURL, {});\r\n }\r\n getVitalList(clientId: number, filterModel: FilterModel) {\r\n let url =\r\n this.getVitalListURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&PatientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n //client encounter Methods\r\n getClientEncounters(\r\n filterModel: any,\r\n clientId: number,\r\n appointmentType: string,\r\n staffName: string,\r\n status: string,\r\n fromDate: string,\r\n toDate: string\r\n ) {\r\n let url =\r\n this.getPatientEncountersListURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&patientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder;\r\n if (appointmentType && appointmentType.length > 0)\r\n url = url + \"&appointmentType=\" + appointmentType;\r\n if (staffName && staffName != \"\") url = url + \"&staffName=\" + staffName;\r\n if (status && status != \"\") url = url + \"&status=\" + status;\r\n if (fromDate && fromDate != \"\") url = url + \"&fromDate=\" + fromDate;\r\n if (toDate && toDate != \"\") url = url + \"&toDate=\" + toDate;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n return this.commonService.getUserScreenActionPermissions(\r\n moduleName,\r\n screenName\r\n );\r\n }\r\n getAllPharmacyList(organizationId: number) {\r\n return this.commonService.getAll(\r\n `${this.getAllPharmacyURL}?organizationId=${organizationId}`,\r\n {}\r\n );\r\n }\r\n SaveSharePrescription(postData: any): Observable {\r\n return this.commonService.post(\r\n this.addSharePrescriptionURL,\r\n postData,\r\n true\r\n );\r\n }\r\n addFavouritePharmacy(postData: any) {\r\n return this.commonService.post(\r\n this.addFavouritePharmacyURL,\r\n postData,\r\n true\r\n );\r\n }\r\n addFavouriteLab(postData: any) {\r\n return this.commonService.post(this.addFavouriteLabURL, postData, true);\r\n }\r\n getAllFavouritePharmacyList(filter: FilterModel, patientId: Number) {\r\n return this.commonService.getAll(\r\n `${this.getFavouritePharmacyListURL}?sortColumn=${filter.sortColumn}&sortOrder=${filter.sortOrder}&pageNumber=${filter.pageNumber}&pageSize=${filter.pageSize}&patientId=${patientId}`,\r\n {}\r\n );\r\n }\r\n getAllFavouriteLabList(filter: FilterModel, patientId: Number) {\r\n return this.commonService.getAll(\r\n `${this.getAllFavouriteLabsURL}?sortColumn=${filter.sortColumn}&sortOrder=${filter.sortOrder}&pageNumber=${filter.pageNumber}&pageSize=${filter.pageSize}&patientId=${patientId}`,\r\n {}\r\n );\r\n }\r\n addPatientFavouriteProvider(postData: any) {\r\n return this.commonService.post(\r\n this.addPatientFavouriteProviderURL,\r\n postData,\r\n true\r\n );\r\n }\r\n getAllFavouriteProviderList(filter: FilterModel, patientId: Number) {\r\n return this.commonService.getAll(\r\n `${this.getAllPatientFavouriteProviders}?patientId=${patientId}&sortColumn=${filter.sortColumn}&sortOrder=${filter.sortOrder}&pageNumber=${filter.pageNumber}&pageSize=${filter.pageSize}`,\r\n {}\r\n );\r\n }\r\n /*getAllProviders(organizationId: Number) {\r\n return this.commonService.getAll(\r\n `${this.getAllProvidersURL}?organizationId=${organizationId}`,\r\n {}\r\n );\r\n }*/\r\n getFilterUserDocuments(userDocRequest: UserDocumentReq) {\r\n return this.commonService.getAll(\r\n this.getFilterUserDocumentsUrl +\r\n \"?userId=\" +\r\n userDocRequest.userId +\r\n \"&FromDate=\" +\r\n userDocRequest.fromDate +\r\n \"&ToDate=\" +\r\n userDocRequest.toDate +\r\n \"&CreatedBy=\" +\r\n userDocRequest.CreatedBy +\r\n \"&pageNumber=\" +\r\n userDocRequest.pageNumber +\r\n \"&pageSize=\" +\r\n userDocRequest.pageSize +\r\n \"&sortColumn=\" +\r\n userDocRequest.sortColumn +\r\n \"&sortOrder=\" +\r\n userDocRequest.sortOrder +\r\n \"&searchCriteria=\" +\r\n userDocRequest.searchCriteria +\r\n \"&DocumentType=\" +\r\n userDocRequest.documentType +\r\n \"&FirstCall=\" +\r\n userDocRequest.FirstCall,\r\n {}\r\n );\r\n }\r\n getDocument(id: number, key: any = \"userdoc\") {\r\n return this.commonService.download(\r\n this.getDocumentURL + \"?id=\" + id + \"&key=\" + key,\r\n {}\r\n );\r\n }\r\n debug;\r\n getDocumentForDownlod(id: number, key: any = \"userdoc\") {\r\n return this.commonService.get(\r\n this.getDocumentURL + \"?id=\" + id + \"&key=\" + key\r\n );\r\n }\r\n deleteUserDocument(id: number, key = \"userdoc\") {\r\n return this.commonService.post(\r\n this.deleteUserDocumentURL + \"?id=\" + id + \"&key=\" + key,\r\n {}\r\n );\r\n }\r\n //Immunization Method\r\n createImmunization(data: ImmunizationModel) {\r\n return this.commonService.post(this.createImmunizationURL, data);\r\n }\r\n getImmunizationList(clientId: number, filterModel: FilterModel) {\r\n let url =\r\n this.getImmunizationListURL +\r\n \"?patientId=\" +\r\n clientId +\r\n \"&searchText=\" +\r\n filterModel.searchText +\r\n \"&pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getImmunizationById(id: number) {\r\n return this.commonService.getById(\r\n this.getImmunizationByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deleteImmunization(id: number, clientId: number) {\r\n return this.commonService.post(\r\n this.deleteImmunizationURL + \"?id=\" + id + \"&patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n\r\n //Medication Method\r\n createMedication(data: MedicationModel) {\r\n return this.commonService.post(this.createMedicationURL, data);\r\n }\r\n getMedicationList(clientId: number, filterModel: FilterModel) {\r\n \r\n let url =\r\n this.getMedicationListURL +\r\n \"?patientId=\" +\r\n clientId +\r\n \"&pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder+\r\n \"&SearchText=\" +\r\n filterModel.searchText;\r\n return this.commonService.getAll(url, {});\r\n }\r\n \r\n getmedicationById(id: number) {\r\n return this.commonService.getById(\r\n this.getMedicationByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deleteMedication(id: number, clientId: number) {\r\n return this.commonService.post(\r\n this.deleteMedicationURL + \"?id=\" + id + \"&patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n\r\n //Allergy Method\r\n createAllergy(data: AllergyModel) {\r\n return this.commonService.post(this.createAllergyURL, data);\r\n }\r\n getAllergyLists(clientId: number) {\r\n let url = this.getAllergyListURL + \"?patientid=\" + clientId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n // getAllergyList(clientId: number) {\r\n // let url = this.getAllergyListURL + \"?patientid=\" + clientId;\r\n // return this.commonService.getAll(url, {});\r\n // }\r\n getAllergyList(clientId: number, filterModel: FilterModel) {\r\n let url =\r\n this.getAllergyListURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&PatientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getAllergyById(id: number) {\r\n return this.commonService.getById(this.getAllergyByIdURL + \"?id=\" + id, {});\r\n }\r\n deleteAllergy(id: number, clientId: number) {\r\n return this.commonService.post(\r\n this.deleteAllergyURL + \"?id=\" + id + \"&patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n\r\n //Authorization Methods\r\n // getAllAuthorization(clientId: number) {\r\n // let url = this.getAllAuthorizationsForPatientURL + \"?patientId=\" + clientId;\r\n // return this.commonService.getAll(url, {});\r\n // }\r\n getAllAuthorization(clientId: number, filterModel: any) {\r\n let url =\r\n this.getAllAuthorizationsForPatientURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&patientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&authType=\" +\r\n filterModel.authType;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getAuthorizationById(authorizationId: number) {\r\n return this.commonService.getById(\r\n this.getAuthorizationByIdURL + \"?authorizationId=\" + authorizationId,\r\n {}\r\n );\r\n }\r\n deleteAuthorization(id: number) {\r\n return this.commonService.post(\r\n this.deleteAuthorizationURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n getPatientPayerServiceCodesAndModifiers(\r\n clientId: number,\r\n payerId: number,\r\n patientInsuranceId: number\r\n ) {\r\n let url =\r\n this.getPatientPayerServiceCodesAndModifiersURL +\r\n \"?patientId=\" +\r\n clientId +\r\n \"&PayerPreference=\" +\r\n \"Primary\" +\r\n \"&date=\" +\r\n new Date() +\r\n \"&payerId=\" +\r\n payerId +\r\n \"&patientInsuranceId=\" +\r\n patientInsuranceId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n createAuthorization(data: AuthModel) {\r\n return this.commonService.post(this.createAuthorizationURL, data);\r\n }\r\n\r\n //Patient Medical Family History\r\n getPatientMedicalFamilyHistoryList(clientId: number) {\r\n let url =\r\n this.getPatientMedicalFamilyHistoryListURL + \"?patientid=\" + clientId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getPatientMedicalFamilyHistoryById(id: number) {\r\n return this.commonService.getById(\r\n this.getPatientMedicalFamilyHistoryListURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deletePatientMedicalFamilyHistory(id: number) {\r\n return this.commonService.post(\r\n this.deletePatientMedicalFamilyHistoryURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n savePatientFamilyHistoryData(data: PatientMedicalFamilyHistoryModel) {\r\n return this.commonService.post(this.savePatientFamilyHistoryDataURL, data);\r\n }\r\n getAllProviders(organizationId: Number, filter: FilterModel) {\r\n return this.commonService.getAll(\r\n `${this.getAllProvidersURL}?organizationId=${organizationId}&sortColumn=${filter.sortColumn}&sortOrder=${filter.sortOrder}&pageNumber=${filter.pageNumber}&pageSize=${filter.pageSize}`,\r\n {}\r\n );\r\n }\r\n getAllLabList(organizationId: Number, roleId: Number, patientId:number=0, searchtext=\"\") {\r\n return this.commonService.getAll(\r\n `${this.getAllLabsURL}?organizationId=${organizationId}&roleId=${roleId}&patientId=${patientId}&searchtext=${searchtext}`,\r\n {}\r\n );\r\n }\r\n\r\n getAllLabApprovedListist(data: any) {\r\n return this.commonService.post(`${this.getAllLabApprovedListsURL}`, data);\r\n }\r\n\r\n getAllRadiologyList(organizationId: Number, patientId: Number) {\r\n return this.commonService.getAll(\r\n `${this.getAllRadiologyURL}?organizationId=${organizationId}&patientId=${patientId}`,\r\n {}\r\n );\r\n }\r\n getAllFavouriteRadiologies(filter: FilterModel, patientId: Number) {\r\n return this.commonService.getAll(\r\n `${this.getAllFavouriteRadiologyURL}?sortColumn=${filter.sortColumn}&sortOrder=${filter.sortOrder}&pageNumber=${filter.pageNumber}&pageSize=${filter.pageSize}&patientId=${patientId}`,\r\n {}\r\n );\r\n }\r\n addFavouriteRadiology(postData: any) {\r\n return this.commonService.post(\r\n this.addFavouriteRadiologyURL,\r\n postData,\r\n true\r\n );\r\n }\r\n\r\n //Patient Inurance\r\n getPatientInsurance(clientId: number, filter: FilterModel) {\r\n return this.commonService.getById(\r\n this.getPatientInsurances +\r\n \"?patientId=\" +\r\n clientId +\r\n \"&searchText=\" +\r\n filter.searchText +\r\n \"&pageNumber=\" +\r\n filter.pageNumber +\r\n \"&pageSize=\" +\r\n filter.pageSize,\r\n {}\r\n );\r\n }\r\n getPatientInsuranceById(id: number, clientId: number) {\r\n return this.commonService.getById(\r\n this.getPatientInsurancesById + \"?id=\" + id + \"&patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n getPatientInsurancePdf(id: number, patientId: number) {\r\n return this.commonService.getById(\r\n this.getPatientInsurancePdfByIdUrl +\r\n \"?id=\" +\r\n id +\r\n \"&patientId=\" +\r\n patientId,\r\n {}\r\n );\r\n }\r\n savePatientInsurance(data: Array) {\r\n return this.commonService.post(this.savePatientInsurances, data);\r\n }\r\n deletePatientInsurance(id, clientId: number) {\r\n return this.commonService.post(\r\n this.deletePatientInsurances + \"?id=\" + id + \"&patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n getPatientsByStaffId(staffId: number) {\r\n return this.commonService.get(\r\n `${this.getPatientsByStaffIdURL}?staffId=${staffId}`\r\n );\r\n }\r\n addLabReferral(data: any) {\r\n return this.commonService.post(this.addLabReferralURL, data);\r\n }\r\n updateLabReferral(data: any) {\r\n return this.commonService.post(this.updateLabReferralURL, data);\r\n //return this.commonService.post(this.updateLabReferralReportURL, data);\r\n }\r\n getAllLabReferrals(\r\n providerId: number,\r\n patientId: number,\r\n role: string,\r\n appointmentId: number,\r\n searchText: string,\r\n fromDate: any,\r\n toDate: any,\r\n pageSize: any,\r\n pageNumber: any,\r\n labstaffid:any = 0\r\n ) {\r\n return this.commonService.get(\r\n `${this.getLabReferralsURL}?providerId=${providerId}&patientId=${patientId}&referTo=${role}&AppointmentId=${appointmentId}&searchText=${searchText}&fromDate=${fromDate}&toDate=${toDate}&pageSize=${pageSize}&pageNumber=${pageNumber}&labId=${labstaffid}`\r\n );\r\n }\r\n getAllReferralsByPatientId(\r\n patientId: number,\r\n roleId: number,\r\n searchText: string,\r\n fromDate: any,\r\n toDate: any\r\n ) {\r\n return this.commonService.get(\r\n `${this.getLabReferralsByPatientIdURL}?patientId=${patientId}&roleId=${roleId}&searchText=${searchText}&fromDate=${fromDate}&toDate=${toDate}`\r\n );\r\n }\r\n getRadiologyReferrals(\r\n patientId: number,\r\n providerId: number,\r\n radiologyId: number,\r\n searchText: string,\r\n fromDate: any,\r\n toDate: any\r\n ) {\r\n return this.commonService.get(\r\n `${this.GetRadiologyReferralsUrl}?patientId=${patientId}&providerId=${providerId}&radiologyId=${radiologyId}&searchText=${searchText}&fromDate=${fromDate}&toDate=${toDate}`\r\n );\r\n }\r\n\r\n createOrUpdateDoctorPatientNotes(data: any) {\r\n return this.commonService.post(\r\n this.createOrUpdateDoctorPatientNotesURL,\r\n data\r\n );\r\n }\r\n getDoctorNotes(patientId: number, staffId: number) {\r\n return this.commonService.get(\r\n `${this.getDoctorNotesURL}?patientId=${patientId}&providerId=${staffId}`\r\n );\r\n }\r\n getAllTemplates(\r\n providerId: number,\r\n filterModel:any\r\n ) {\r\n return this.commonService.get(\r\n `${this.getAllTemplatesURL}?providerId=${providerId}&searchText=${filterModel.searchText}&fromDate=${filterModel.fromDate}&toDate=${filterModel.toDate}&appointmentId=${0}&pageSize=${filterModel.pageSize}&pageNumber=${filterModel.pageNumber}`\r\n );\r\n }\r\n\r\n getAllLetter(\r\n providerId: number,\r\n appointmentId:any = 0,\r\n patientId:number,\r\n filterModel:any\r\n ) {\r\n console.log(\"filterModel\", filterModel)\r\n console.log(\"Patientid,providerid\",patientId,providerId);\r\n console.log(\"appointmentid\",appointmentId)\r\n\r\n return this.commonService.get(\r\n `${this.getAllLeterURL}?providerId=${providerId}&searchText=${filterModel.searchText}&fromDate=${filterModel.fromDate}&toDate=${filterModel.toDate}&appointmentId=${appointmentId}&patientId=${patientId}&pageSize=${filterModel.pageSize}&pageNumber=${filterModel.pageNumber}`\r\n );\r\n }\r\n\r\n\r\n createTemplate(data: TemplateModel) {\r\n return this.commonService.post(this.createTemplateURL, data);\r\n }\r\n\r\n createLetter(data: any) {\r\n return this.commonService.post(this.createLetterURL, data);\r\n }\r\n\r\n getTemplateById(id: number) {\r\n return this.commonService.getById(\r\n this.getTemplateByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deleteTemplate(id: number) {\r\n return this.commonService.post(this.deleteTemplateURL + \"?id=\" + id, {});\r\n }\r\n\r\n deleteLetter(id: number) {\r\n return this.commonService.post(this.deleteTemplateLetterURL + \"?id=\" + id, {});\r\n }\r\n getTemplatePdfById(id: number) {\r\n return this.commonService.getById(\r\n this.getTemplatePdfByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n GetAllLabReferralResultDocByReverralId(referralId: number) {\r\n return this.commonService.get(\r\n this.GetAllLabReferralResultDocByReverralIdUrl +\r\n \"?labReferralId=\" +\r\n referralId\r\n );\r\n }\r\n getLabReferralPdfById(id: number) {\r\n return this.commonService.getById(\r\n this.getLabReferralPdfByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n // UpdateSampleCollectionStatus(referralId, status) {\r\n // var data = {\r\n // LabReferralId: referralId,\r\n // IsSampleCollectedStatus: status,\r\n // };\r\n // return this.commonService.post(\r\n // `${this.UpdateSampleCollectionStatusUrl}`,\r\n // data\r\n // );\r\n // }\r\n UpdateSampleCollectionStatus(referralId, date, status) {\r\n var data = {\r\n LabReferralId: referralId,\r\n SampleCollectionDate: date,\r\n IsSampleCollectedStatus: status,\r\n };\r\n return this.commonService.post(\r\n `${this.UpdateSampleCollectionStatusUrl}`,\r\n data\r\n );\r\n }\r\n PatientInsurancePdfByPatientId(patientId) {\r\n return this.commonService.getById(\r\n this.GetPatientLatestInsurancePdfByPatientId + \"?patientId=\" + patientId,\r\n {}\r\n );\r\n }\r\n\r\n GetReferalDetailsByReferalIdAPi(referalId) {\r\n return this.commonService.get(\r\n this.GetReferalDetailsByReferalIdUrl + \"?labReferralId=\" + referalId\r\n );\r\n }\r\n\r\n uploadDicomfile(formData: any) {\r\n return this.commonService.post(this.addDicomImageURL, formData);\r\n }\r\n\r\n getUploadedDicomFiles(labReferralId) {\r\n return this.commonService.get(this.getDicomFilesURL + labReferralId);\r\n }\r\n\r\n getUrlForViewer(fileId: any) {\r\n return this.commonService.get(this.getViewerURL + fileId);\r\n }\r\n\r\n //RadiologyReferralUrl\r\n uploadRadiologyUrl = (data: any) => {\r\n return this.commonService.post(this.addRadiologyUrl, data);\r\n };\r\n\r\n getUploadedRadiologyUrl = (labReferralId) => {\r\n return this.commonService.get(this.getRadiologyUrl + labReferralId);\r\n };\r\n getCheckoutByAppointmentId(AppointmentId:any){\r\n return this.commonService.get(this.GetCheckout + AppointmentId,false);\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{ \\\"upload_document\\\" | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"please_enter_notes\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n 0\\r\\n \\\">\\r\\n \\r\\n {{ category.type | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"please_select_document_title\\\" | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n {{ file.fileName }}\\r\\n \\r\\n

\\r\\n
\\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, Inject } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { ClassGetter } from \"@angular/compiler/src/output/output_ast\";\r\n\r\n@Component({\r\n selector: \"app-document-modal\",\r\n templateUrl: \"./document-modal.component.html\",\r\n styleUrls: [\"./document-modal.component.css\"],\r\n})\r\nexport class DocumentModalComponent implements OnInit {\r\n userId: number = null;\r\n masterDocumentTypes: any = [];\r\n filtermasterDocumentTypes: any = [];\r\n filterString;\r\n formType = \"add\";\r\n editFormData;\r\n filterStringId;\r\n addDocumentForm: FormGroup;\r\n fileList: any = [];\r\n documentNotes: { documentTitle: string, documentTypeId: string }[] = [];\r\n dataURL: any;\r\n documentCategoryList: any[];\r\n selectedCategory: any;\r\n submitted: boolean = false;\r\n todayDate = new Date();\r\n\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n private clientService: ClientsService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService\r\n ) {\r\n console.log(\"My Care Library\", this.data);\r\n this.userId = this.data.id;\r\n this.formType = this.data.type;\r\n this.editFormData = this.data.documentData;\r\n }\r\n\r\n ngOnInit() {\r\n this.getMasterData();\r\n this.addDocumentForm = this.formBuilder.group({\r\n documentType: [],\r\n documentTypeId: [],\r\n expirationDate: [],\r\n title: [],\r\n });\r\n this.getMasterData();\r\n if (this.formType == \"edit\") {\r\n this.setFormData();\r\n }\r\n }\r\n get formControls() {\r\n return this.addDocumentForm.controls;\r\n }\r\n\r\n setFormData = () => {\r\n this.addDocumentForm.patchValue({\r\n documentType: this.editFormData.documentTypeName\r\n ? this.editFormData.documentTypeName\r\n : this.editFormData.otherDocumentType,\r\n expirationDate: this.editFormData.expiration,\r\n title: this.editFormData.documentTitle,\r\n documentTypeId: this.editFormData.documentTypeId\r\n });\r\n this.filterString = this.editFormData.documentTypeName\r\n ? this.editFormData.documentTypeName\r\n : this.editFormData.otherDocumentType;\r\n };\r\n\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n handleImageChange(e) {\r\n let fileExtension = e.target.files[0].name.split(\".\").pop().toLowerCase();\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.fileList.push({\r\n data: this.dataURL,\r\n ext: fileExtension,\r\n fileName: e.target.files[0].name,\r\n });\r\n\r\n this.documentNotes.push({\r\n documentTitle: this.addDocumentForm.value.title,\r\n documentTypeId: this.addDocumentForm.value.documentTypeId\r\n });\r\n\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n\r\n // }\r\n // else\r\n // this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n this.documentNotes.splice(index, 1);\r\n }\r\n documentTypeHandler = (e) => {\r\n if (e !== \"\") {\r\n this.filtermasterDocumentTypes = this.masterDocumentTypes.filter(\r\n (doc) => doc.value.toLowerCase().indexOf(e) != -1\r\n );\r\n } else {\r\n this.filtermasterDocumentTypes = [];\r\n }\r\n };\r\n onSelFunc(data) {\r\n this.filterString = data.type;\r\n this.filterStringId = data.id;\r\n }\r\n\r\n onCategorySelectionChange = (event) => {\r\n console.log(event);\r\n };\r\n\r\n getMasterData() {\r\n this.clientService\r\n .getMasterData(\"MASTERDOCUMENTTYPESSTAFF\")\r\n .subscribe((response: any) => {\r\n if (response != null)\r\n this.documentCategoryList = response.masterDocumentTypesStaff =\r\n response.masterDocumentTypesStaff != null\r\n ? response.masterDocumentTypesStaff\r\n : [];\r\n });\r\n }\r\n\r\n onEditSubmit = () => {\r\n let formValues = {\r\n documentId: this.editFormData.id,\r\n documentTitle: this.addDocumentForm.value.title,\r\n documentTypeId: this.addDocumentForm.value.documentTypeId,\r\n expiration: this.addDocumentForm.value.expirationDate,\r\n documentTypeIdStaff: null,\r\n otherDocumentType: this.filterStringId != null ? null : this.filterString,\r\n };\r\n // console.log(\"formvalues\",formValues);\r\n // return;\r\n this.submitted = true;\r\n console.log(formValues);\r\n this.clientService\r\n .updateUserDocuments(formValues)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.closeDialog(\"save\");\r\n } else this.notifier.notify(\"error\", response.message);\r\n });\r\n };\r\n onSubmit() {\r\n\r\n\r\n console.log(this.addDocumentForm);\r\n if (!this.addDocumentForm.invalid) {\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: this.addDocumentForm.value.title,\r\n documentTypeId: this.addDocumentForm.value.documentTypeId,\r\n expiration: this.addDocumentForm.value.expirationDate,\r\n documentTypeIdStaff: null,\r\n otherDocumentType:\r\n this.filterStringId != null ? null : this.filterString,\r\n key: \"PATIENT\",\r\n userId: this.userId,\r\n patientAppointmentId: null,\r\n documentNotes: this.documentNotes\r\n };\r\n // console.log(\"this fromadata\",formValues)\r\n // return;\r\n let dic = [];\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(\r\n `\"${element.data.replace(\r\n /^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/,\r\n \"\"\r\n )}\": \"${element.ext}\"`\r\n );\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {});\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n console.log(formValues);\r\n this.clientService\r\n .uploadUserDocuments(formValues)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.closeDialog(\"save\");\r\n } else this.notifier.notify(\"error\", response.message);\r\n });\r\n } else this.notifier.notify(\"error\", \"Please add atleast one file\");\r\n }\r\n }\r\n}\r\n","module.exports = \"/* Issue 53 Fix Start*/\\r\\n.spnCenter{ text-align: center;}\\r\\n/* Issue 53 Fix Start*/\"","module.exports = \"
\\r\\n

{{\\\"family_history\\\" | translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_first_name\\\" | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_last_name\\\" | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value|translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_gender\\\" | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_dob\\\" | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value | translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_relationship\\\" | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value|translate}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{'is_person_deceased'|translate}} \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_cause_of_death\\\" | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Age of diagnosis cannot be\\r\\n greater than age of person \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\"","import { Component, OnInit, EventEmitter, Output, Inject } from \"@angular/core\";\r\n\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n FormControl,\r\n Validators,\r\n FormArray\r\n} from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\n\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport {\r\n PatientMedicalFamilyHistoryModel,\r\n PatientMedicalFamilyHistoryDiseaseModel\r\n} from \"src/app/platform/modules/agency-portal/clients/family-history/family-history.model\";\r\nimport { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\n\r\n@Component({\r\n selector: \"app-family-history-model\",\r\n templateUrl: \"./family-history-model.component.html\",\r\n styleUrls: [\"./family-history-model.component.css\"]\r\n})\r\nexport class FamilyHistoryModelComponent implements OnInit {\r\n familyHistoryModel: PatientMedicalFamilyHistoryModel;\r\n familyHistoryForm: FormGroup;\r\n masterRelationship: Array = [];\r\n masterICD: Array = [];\r\n masterGender: Array = [];\r\n masterStatus: Array = [\r\n { id: true, value: \"Active\" },\r\n { id: false, value: \"In Active\" }\r\n ];\r\n maxDate = new Date();\r\n submitted: boolean = false;\r\n clientId: number;\r\n showError: boolean;\r\n diagnosisAge: any;\r\n Showque:boolean=false;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private familyHistoryDialogModalRef: MatDialogRef<\r\n FamilyHistoryModelComponent\r\n >,\r\n private familyHistoryService: ClientsService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService\r\n ) {\r\n this.familyHistoryModel = data;\r\n this.clientId = this.familyHistoryModel.patientID;\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeFormFields(this.familyHistoryModel);\r\n this.getMasterData();\r\n this.formControlValueChanged();\r\n }\r\n initializeFormFields(familyHistoryObj?: PatientMedicalFamilyHistoryModel) {\r\n familyHistoryObj =\r\n familyHistoryObj || new PatientMedicalFamilyHistoryModel();\r\n const configControls = {\r\n id: [familyHistoryObj.id],\r\n firstName: [familyHistoryObj.firstName, Validators.required],\r\n lastName: [familyHistoryObj.lastName, Validators.required],\r\n genderID: [familyHistoryObj.genderID, Validators.required],\r\n dob: [familyHistoryObj.dob, Validators.required],\r\n relationshipID: [familyHistoryObj.relationshipID, Validators.required],\r\n dateOfDeath: [familyHistoryObj.dateOfDeath],\r\n causeOfDeath: [familyHistoryObj.causeOfDeath],\r\n observation: [familyHistoryObj.observation],\r\n patientMedicalFamilyHistoryDiseases: this.formBuilder.array([]),\r\n patientID: [familyHistoryObj.patientID]\r\n };\r\n this.familyHistoryForm = this.formBuilder.group(configControls);\r\n // initialize modifier modal\r\n if (\r\n familyHistoryObj.patientMedicalFamilyHistoryDiseases &&\r\n familyHistoryObj.patientMedicalFamilyHistoryDiseases.length\r\n ) {\r\n // console.log(':::::::::::::::::::::::::::',this.patientMedicalFamilyHistoryDiseases['controls']);\r\n familyHistoryObj.patientMedicalFamilyHistoryDiseases.forEach(obj => {\r\n // console.log('obj:::::: ',obj);\r\n this.addDiseaseFields(obj);\r\n });\r\n } else {\r\n this.addDiseaseFields();\r\n }\r\n }\r\n get patientMedicalFamilyHistoryDiseases() {\r\n return this.familyHistoryForm.get(\r\n \"patientMedicalFamilyHistoryDiseases\"\r\n ) as FormArray;\r\n }\r\n addDiseaseFields(diseaseObj?: PatientMedicalFamilyHistoryDiseaseModel) {\r\n const diseaseControls =\r\n diseaseObj || new PatientMedicalFamilyHistoryDiseaseModel();\r\n this.patientMedicalFamilyHistoryDiseases.push(\r\n this.formBuilder.group(diseaseControls)\r\n );\r\n }\r\n removeDiseaseFields(ix: number) {\r\n this.patientMedicalFamilyHistoryDiseases.removeAt(ix);\r\n }\r\n get formControls() {\r\n return this.familyHistoryForm.controls;\r\n }\r\n onSubmit() {\r\n debugger\r\n // Issue 53 Fix Start\r\n this.showError = false;\r\n var dob = this.familyHistoryForm.get('dob').value;\r\n var result: any;\r\n if (dob != null && dob != undefined) {\r\n var diff = Math.abs(new Date() - new Date(dob));\r\n result = Math.floor(diff / (1000 * 3600 * 24 * 365));\r\n }\r\n if (result != null && dob != null && this.diagnosisAge > result) {\r\n this.showError = true;\r\n return;\r\n }\r\n // Issue 53 Fix end\r\n if (this.familyHistoryForm.invalid) {\r\n return;\r\n }\r\n this.submitted = true;\r\n let postData: any;\r\n postData = {\r\n ...this.familyHistoryForm.value,\r\n patientMedicalFamilyHistoryDiseases: (this.familyHistoryForm.value\r\n .patientMedicalFamilyHistoryDiseases || []\r\n ).map(obj => {\r\n return {\r\n ...obj,\r\n patientID: this.clientId,\r\n medicalFamilyHistoryId: this.familyHistoryForm.value.id\r\n };\r\n })\r\n };\r\n this.familyHistoryService\r\n .savePatientFamilyHistoryData(postData)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.closeDialog(\"SAVE\");\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n \r\n Deathrealtedquestion(){\r\n // debugger\r\n this.Showque=!this.Showque;\r\n }\r\n formControlValueChanged() {\r\n const causeOfDeathControl = this.familyHistoryForm.get(\"causeOfDeath\");\r\n const dateOfDeathControl = this.familyHistoryForm.get(\"dateOfDeath\");\r\n\r\n // this.familyHistoryForm\r\n // .get(\"dateOfDeath\")\r\n dateOfDeathControl.valueChanges.subscribe((mode: any) => {\r\n if (mode != null) {\r\n causeOfDeathControl.setValidators([Validators.required]);\r\n } else {\r\n causeOfDeathControl.clearValidators();\r\n }\r\n causeOfDeathControl.updateValueAndValidity();\r\n });\r\n }\r\n // formControlValueChanged() {\r\n // const causeOfDeathControl = this.familyHistoryForm.get(\"causeOfDeath\");\r\n // const dateOfDeathControl = this.familyHistoryForm.get(\"dateOfDeath\");\r\n \r\n // // Subscribe to changes in dateOfDeath control\r\n // dateOfDeathControl.valueChanges.subscribe((mode: any) => {\r\n // if (mode != null) {\r\n // // If dateOfDeath has a value, make causeOfDeath required\r\n // causeOfDeathControl.setValidators([Validators.required]);\r\n // } else {\r\n // // If dateOfDeath doesn't have a value, clear the required validator\r\n // causeOfDeathControl.clearValidators();\r\n // }\r\n \r\n // // Update the validity of causeOfDeath control\r\n // causeOfDeathControl.updateValueAndValidity();\r\n // });\r\n // }\r\n closeDialog(action: string): void {\r\n this.familyHistoryDialogModalRef.close(action);\r\n }\r\n getMasterData() {\r\n let data = \"MASTERGENDER,MASTERICD,MASTERRELATIONSHIP\";\r\n this.familyHistoryService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n // let defaultCountryObj = (response.masterCountry || []).find((obj) => (obj.countryName || '').toUpperCase() === 'US');\r\n // this.defaultCountryId = defaultCountryObj && defaultCountryObj.id;\r\n this.masterICD = response.masterICD != null ? response.masterICD : [];\r\n this.masterRelationship =\r\n response.masterRelationship != null\r\n ? response.masterRelationship\r\n : [];\r\n }\r\n });\r\n }\r\n // Issue 53 Fix Start\r\n ageValueChange(event: any) {\r\n this.diagnosisAge = event.target.value;\r\n }\r\n // Issue 53 Fix end\r\n}\r\n","module.exports = \"@media (max-width: 1199px) {\\r\\n .family-history .ml-4 {\\r\\n margin-left: 10px !important;\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{history.firstName+' '+history.lastName}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n

{{'relationship'|translate}}: {{history.relationShipName}}

\\r\\n

{{'date_of_birth'|translate}}: {{history.dob | date}}

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

{{'date_of_death'|translate}}: {{history.dateOfDeath | date}}

\\r\\n

{{'cause_of_death'|translate}}: {{history.causeOfDeath}}

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

{{'disease'|translate}}: {{ getDisease(history) }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { MatDialog } from \"@angular/material\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { DialogService } from \"src/app/shared/layout/dialog/dialog.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\n\r\n//import { FamilyHistoryModelComponent } from \"src/app/platform/modules/client-portal/family-history/family-history-model/family-history-model.component\";\r\nimport { PatientMedicalFamilyHistoryModel } from \"src/app/platform/modules/agency-portal/clients/family-history/family-history.model\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { FamilyHistoryModelComponent } from \"./family-history-model/family-history-model.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-family-history-app\",\r\n templateUrl: \"./family-history.component.html\",\r\n styleUrls: [\"./family-history.component.css\"]\r\n})\r\nexport class FamilyHistoryComponent implements OnInit {\r\n clientId: number;\r\n header: string = \"Family History\";\r\n patientMedicalFamilyHistoryModel: PatientMedicalFamilyHistoryModel;\r\n patientMedicalFamilyHistoryList: Array = [];\r\n addPermission: boolean;\r\n updatePermission: boolean;\r\n tooltipdMessage=\"Maximum 7 members are allowed\";\r\n maxAllowedLimit=7;\r\n deletePermission: boolean;\r\n userInfo: any;\r\n subscription: Subscription;\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private dialogService: DialogService,\r\n private clientsService: ClientsService,\r\n private patientMedicalFamilyHistoryDialogModal: MatDialog,\r\n private notifier: NotifierService,\r\n private commonService: CommonService,\r\n private translate:TranslateService \r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.patientMedicalFamilyHistoryModel = new PatientMedicalFamilyHistoryModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.addPermission = true;\r\n this.updatePermission = true;\r\n this.deletePermission = true;\r\n this.subscription = this.commonService.currentLoginUserInfo.subscribe(\r\n (user: any) => {\r\n if (user) {\r\n this.clientId = user.id;\r\n this.getPatientMedicalFamilyHistoryList();\r\n //this.getUserPermissions();\r\n }\r\n }\r\n );\r\n }\r\n\r\n getDisease(history:PatientMedicalFamilyHistoryModel):string{\r\n if(history.patientMedicalFamilyHistoryDiseases && history.patientMedicalFamilyHistoryDiseases.length > 0){\r\n return history.patientMedicalFamilyHistoryDiseases[0].disease;\r\n }else{\r\n return 'NA';\r\n }\r\n }\r\n\r\n getPatientMedicalFamilyHistoryList() {\r\n this.clientsService\r\n .getPatientMedicalFamilyHistoryList(this.clientId)\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response != null &&\r\n response.data != null &&\r\n response.data.length > 0\r\n ) {\r\n this.patientMedicalFamilyHistoryList = response.data;\r\n }\r\n });\r\n }\r\n\r\n openDialog(id?: number) {\r\n if (id != null && id > 0) {\r\n this.clientsService\r\n .getPatientMedicalFamilyHistoryById(id)\r\n .subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.patientMedicalFamilyHistoryModel = response.data;\r\n this.createModal(this.patientMedicalFamilyHistoryModel);\r\n }\r\n });\r\n } else {\r\n this.patientMedicalFamilyHistoryModel = new PatientMedicalFamilyHistoryModel();\r\n this.createModal(this.patientMedicalFamilyHistoryModel);\r\n }\r\n }\r\n\r\n createModal(\r\n patientMedicalFamilyHistoryModel: PatientMedicalFamilyHistoryModel\r\n ) {\r\n this.patientMedicalFamilyHistoryModel.patientID = this.clientId;\r\n let historyModal;\r\n historyModal = this.patientMedicalFamilyHistoryDialogModal.open(\r\n FamilyHistoryModelComponent,\r\n { data: patientMedicalFamilyHistoryModel }\r\n );\r\n historyModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") this.getPatientMedicalFamilyHistoryList();\r\n });\r\n }\r\n\r\n delete(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this family history?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientsService\r\n .deletePatientMedicalFamilyHistory(id)\r\n .subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n if (response.statusCode == 204) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getPatientMedicalFamilyHistoryList();\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n disableButton()\r\n {\r\n return this.patientMedicalFamilyHistoryList && this.patientMedicalFamilyHistoryList.length>this.maxAllowedLimit\r\n }\r\n // getUserPermissions() {\r\n // const actionPermissions = this.clientsService.getUserScreenActionPermissions(\r\n // \"CLIENT\",\r\n // \"CLIENT_FAMILYHISTORY_LIST\"\r\n // );\r\n // const {\r\n // CLIENT_FAMILYHISTORY_LIST_ADD,\r\n // CLIENT_FAMILYHISTORY_LIST_UPDATE,\r\n // CLIENT_FAMILYHISTORY_LIST_DELETE\r\n // } = actionPermissions;\r\n\r\n // this.addPermission = CLIENT_FAMILYHISTORY_LIST_ADD || false;\r\n // this.updatePermission = CLIENT_FAMILYHISTORY_LIST_UPDATE || false;\r\n // this.deletePermission = CLIENT_FAMILYHISTORY_LIST_DELETE || false;\r\n // }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FamilyHistoryComponent } from './family-history/family-history.component';\r\nimport { SocialHistoryComponent } from './social-history/social-history.component';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"my-family-history\",\r\n component: FamilyHistoryComponent\r\n },\r\n {\r\n path: \"my-social-history\",\r\n component: SocialHistoryComponent\r\n },\r\n];\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class HistoryRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { SharedModule } from \"src/app/shared/shared.module\";\r\nimport { FamilyHistoryComponent } from \"./family-history/family-history.component\";\r\nimport { HistoryRoutingModule } from \"./history-routing.module\";\r\nimport { SocialHistoryComponent } from \"./social-history/social-history.component\";\r\nimport { PlatformMaterialModule } from \"src/app/platform/platform.material.module\";\r\nimport { TranslateLoader, TranslateModule } from \"@ngx-translate/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { TranslateHttpLoader } from \"@ngx-translate/http-loader\";\r\nimport { MedicalHistoryComponent } from \"./medical-history/medical-history.component\";\r\nimport { AddEditMedicalHistoryComponent } from './medical-history/add-edit-medical-history/add-edit-medical-history.component';\r\n//import { HistoryContainerComponent } from './history-container/history-container.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HistoryRoutingModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n PlatformMaterialModule,\r\n SharedModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n declarations: [\r\n FamilyHistoryComponent,\r\n SocialHistoryComponent,\r\n MedicalHistoryComponent,\r\n AddEditMedicalHistoryComponent,\r\n ],\r\n entryComponents: [\r\n FamilyHistoryComponent,\r\n SocialHistoryComponent,\r\n MedicalHistoryComponent,\r\n AddEditMedicalHistoryComponent\r\n ],\r\n exports: [\r\n FamilyHistoryComponent,\r\n SocialHistoryComponent,\r\n MedicalHistoryComponent,\r\n AddEditMedicalHistoryComponent\r\n ],\r\n})\r\nexport class HistoryModule {}\r\nexport function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {\r\n return new TranslateHttpLoader(http);\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{ headerText }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ maritalStatus.name }}\\r\\n \\r\\n \\r\\n \\r\\n Please select marital status!\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ illness.illnessType }}\\r\\n \\r\\n \\r\\n \\r\\n Please select Childhood Illness!\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Age of onset mensuration\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Number of pregnancies\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Number of live births\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Add statement\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ medicalStatement.statement }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Yes/No and Details\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{\\\"year\\\" | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n List any medical problems that other doctors have\\r\\n diagnosed\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{\\\"save\\\" | translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { DatePipe } from \"@angular/common\";\r\nimport { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { FormArray, FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\n\r\n@Component({\r\n selector: \"app-add-edit-medical-history\",\r\n templateUrl: \"./add-edit-medical-history.component.html\",\r\n styleUrls: [\"./add-edit-medical-history.component.css\"],\r\n})\r\nexport class AddEditMedicalHistoryComponent implements OnInit {\r\n headerText: string = \"Add Medical History\";\r\n medicalHistoryForm: FormGroup;\r\n statusModel = [\r\n { id: true, value: \"Active\" },\r\n { id: false, value: \"Inactive\" },\r\n ];\r\n dropDownListArray: any;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private AddEditMedicalHistory: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private clientService: ClientsService,\r\n private datePipe: DatePipe\r\n ) {\r\n this.medicalHistoryForm = this.formBuilder.group({\r\n id: [0],\r\n patientID: [],\r\n maritalStatus: [\"\", [Validators.required]],\r\n childhoodIllness: [],\r\n AgeOnsetMensuration: null,\r\n noOfPregnancies: null,\r\n liveBirths: null,\r\n medicalStatement: this.formBuilder.array([]),\r\n otherProblem: \"\",\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.getAllmedicalDropdown();\r\n\r\n // console.log(this.data);\r\n // if (this.data.actionObj != undefined) {\r\n // this.updateDataInForm(this.data.actionObj.data);\r\n // }\r\n\r\n // console.log(this.medicalHistoryForm);\r\n }\r\n\r\n get formAddControls() {\r\n return this.medicalHistoryForm.controls;\r\n }\r\n\r\n get medicalStatement(): FormArray {\r\n return this.medicalHistoryForm.get(\"medicalStatement\") as FormArray;\r\n }\r\n\r\n newmedicalStatement(): FormGroup {\r\n return this.formBuilder.group({\r\n id: 0,\r\n statement: \"\",\r\n details: \"\",\r\n statementDate: null,\r\n isDeleted: false,\r\n });\r\n }\r\n\r\n addNewMedicalStatementArray() {\r\n this.medicalStatement.push(this.newmedicalStatement());\r\n }\r\n\r\n removeMedicalStatement(i: number) {\r\n let getStatement = this.medicalStatement.at(i) as FormGroup;\r\n getStatement.patchValue({\r\n isDeleted: true,\r\n });\r\n\r\n // this.medicalStatement.removeAt(i);\r\n }\r\n\r\n getAllmedicalDropdown = () => {\r\n this.clientService.GetMedicalHistoryDropdownApi().subscribe((res) => {\r\n // console.log(res);\r\n this.dropDownListArray = res.data;\r\n\r\n if (this.data.actionObj != undefined) {\r\n this.updateDataInForm(this.data.actionObj, this.data.medicalStatement);\r\n } else {\r\n this.addNewMedicalStatementArray();\r\n }\r\n });\r\n };\r\n\r\n updateDataInForm = (actionObj: any, medicalStatement: any) => {\r\n if (medicalStatement.length != 0) {\r\n medicalStatement.map((ele) => {\r\n // this.formBuilder.group({\r\n // id: ele.id,\r\n // statement: ele.statementId ? ele.statementId : null,\r\n // details: \"\",\r\n // statementDate: ele.statementDate ? ele.statementDate : null,\r\n // isDeleted: false,\r\n // });\r\n\r\n // const pushData = {\r\n // id: ele.id,\r\n // statement: ele.statementId ? ele.statementId : null,\r\n // details: \"\",\r\n // statementDate: ele.statementDate ? ele.statementDate : null,\r\n // isDeleted: false,\r\n // };\r\n this.medicalStatement.push(\r\n this.formBuilder.group({\r\n id: ele.id,\r\n statement: ele.statementId ? ele.statementId : null,\r\n details: ele.details ? ele.details : null,\r\n statementDate: ele.statementDate ? ele.statementDate : null,\r\n isDeleted: false,\r\n })\r\n );\r\n });\r\n }\r\n\r\n // let tempchild = actionObj.childhoodIllness\r\n // if(tempchild.length>0){\r\n // tempchild=tempchild.toString()\r\n\r\n // }\r\n\r\n this.medicalHistoryForm.patchValue({\r\n id: actionObj.id,\r\n patientID: actionObj.patientID,\r\n maritalStatus: actionObj.maritalStatus,\r\n childhoodIllness: actionObj.childhoodIllness\r\n ? [...actionObj.childhoodIllness.split(\",\")].map((digit) =>\r\n parseInt(digit)\r\n )\r\n : null,\r\n AgeOnsetMensuration: actionObj.ageOnsetMensuration\r\n ? actionObj.ageOnsetMensuration\r\n : null,\r\n noOfPregnancies: actionObj.noOfPregnancies\r\n ? actionObj.noOfPregnancies\r\n : null,\r\n liveBirths: actionObj.liveBirths ? actionObj.liveBirths : null,\r\n //medicalStatement: [this.formBuilder.array([])],\r\n otherProblem: actionObj.otherProblem ? actionObj.otherProblem : null,\r\n });\r\n\r\n // console.log(this.medicalHistoryForm);\r\n };\r\n\r\n closeDialog(action: string): void {\r\n this.AddEditMedicalHistory.close(action);\r\n }\r\n\r\n onSubmit = () => {\r\n // console.log(this.medicalHistoryForm.value);\r\n\r\n let patientStatement =\r\n this.medicalHistoryForm.controls[\"medicalStatement\"].value;\r\n if (patientStatement.length > 0 || patientStatement != null) {\r\n patientStatement.map((ele: any) => {\r\n ele.statementDate =\r\n ele.statementDate == null\r\n ? null\r\n : this.datePipe.transform(ele.statementDate, \"MM/dd/yyyy\");\r\n });\r\n } else {\r\n patientStatement = null;\r\n }\r\n\r\n const tempData = {\r\n id: this.medicalHistoryForm.controls[\"id\"].value,\r\n patientId: this.data.patientId,\r\n maritalStatus: this.medicalHistoryForm.controls[\"maritalStatus\"].value,\r\n childhoodIllness:\r\n this.medicalHistoryForm.controls[\"childhoodIllness\"].value == null\r\n ? null\r\n : this.medicalHistoryForm.controls[\r\n \"childhoodIllness\"\r\n ].value.toString(),\r\n ageOnsetMensuration:\r\n this.medicalHistoryForm.controls[\"AgeOnsetMensuration\"].value,\r\n noOfPregnancies:\r\n this.medicalHistoryForm.controls[\"noOfPregnancies\"].value,\r\n liveBirths: this.medicalHistoryForm.controls[\"liveBirths\"].value,\r\n otherProblem: this.medicalHistoryForm.controls[\"otherProblem\"].value,\r\n patientMedicalStatement: patientStatement,\r\n };\r\n\r\n // console.log(tempData);\r\n\r\n this.clientService\r\n .addEditPatientMedicalhistory(tempData)\r\n .subscribe((res: any) => {\r\n // console.log(res);\r\n this.closeDialog(\"save\");\r\n });\r\n };\r\n}\r\n","module.exports = \".blk_form textarea {\\r\\n border: 1px solid #ddd;\\r\\n margin: 18px 0px;\\r\\n border-radius: 10px;\\r\\n padding: 6px;\\r\\n height: 50px;\\r\\n}\\r\\n::ng-deep .blk_form .mat-form-field-flex{\\r\\n border: none !important;\\r\\n padding: 0;\\r\\n}\\r\\nmat-label {\\r\\n font-size: 16px;\\r\\n color: #646262;\\r\\n font-weight: 300;\\r\\n}\\r\\n.year_blk input.mat-input-element {\\r\\n position: relative !important;\\r\\ntop: -13px !important;\\r\\n}\\r\\nh4 {\\r\\n font-weight: 600;\\r\\n}\\r\\ntextarea {\\r\\n font-weight: 600;\\r\\n font-size: 16px;\\r\\n}\\r\\n.border-rad {\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 5px 2px;\\r\\n height: 50px;\\r\\n position: relative;\\r\\n top: 5px;\\r\\n}\\r\\n.medical_blk {\\r\\n background-color: #fff;\\r\\n border-radius: 10px;\\r\\n padding: 5px !important;\\r\\n box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2);\\r\\n margin-bottom: 20px !important;\\r\\n}\\r\\n::ng-deep .border-rad .mat-error {\\r\\n margin-top: 15px;\\r\\n}\\r\\n::ng-deep .custom_form .mat-form-field-flex {\\r\\n /* height: 45px; */\\r\\n /* border-color: #dfd5d5; */\\r\\n border: none !important;\\r\\n height: auto !important;\\r\\n}\\r\\n::ng-deep .custom_form .mat-form-field-appearance-legacy .mat-form-field-wrapper {\\r\\n padding-bottom: 0 !important;\\r\\n}\\r\\n::ng-deep .user-block .mat-form-field-appearance-legacy .mat-form-field-wrapper {\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n@media screen and (max-width:600px) {\\r\\n h4 strong {\\r\\n font-size: 13px;\\r\\n }\\r\\n}\"","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{\\\"Please answer the below question where applicable\\\"|translate}}.\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ maritalStatus.name | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please select marital status!\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ illness.illnessType | translate}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{\\\"for_female_related_questions\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\\"Age of onset mensuration\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{\\\"Number of pregnancies\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{\\\"Number of live births\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\\"Yes/No and Details\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{\\\"year\\\" | translate}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

{{\\\"other\\\" | translate}}

\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\\"List any medical problems that other doctors have diagnosed\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\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 { FormArray, FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { DialogService } from \"src/app/shared/layout/dialog/dialog.service\";\r\nimport { ClientsService } from \"../../../agency-portal/clients/clients.service\";\r\nimport { Metadata } from \"../../../core/modals/common-model\";\r\nimport { CommonService } from \"../../../core/services\";\r\n\r\n@Component({\r\n selector: \"app-medical-history\",\r\n templateUrl: \"./medical-history.component.html\",\r\n styleUrls: [\"./medical-history.component.css\"],\r\n})\r\nexport class MedicalHistoryComponent implements OnInit {\r\n medicatlHistoryListModel: any;\r\n metaData: Metadata;\r\n maxDate: Date = new Date();\r\n\r\n medicatlHistoryColumn = [\r\n {\r\n displayName: \"Diagnosed Type\",\r\n key: \"medicalConditionType\",\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"Diagnosed on\",\r\n key: \"diagnoseDate\",\r\n type: \"date\",\r\n class: \"\",\r\n },\r\n { displayName: \"Status\", key: \"diagnosisStatus\", class: \"\" },\r\n {\r\n displayName: \"Discription\",\r\n key: \"discription\",\r\n },\r\n {\r\n displayName: \"Actions\",\r\n key: \"Actions\",\r\n class: \"\",\r\n width: \"15%\",\r\n },\r\n ];\r\n medicatlHistoryActionButtons = [\r\n { displayName: \"Edit\", key: \"edit\", class: \"fa fa-edit\" },\r\n { displayName: \"Delete\", key: \"delete\", class: \"fa fa-trash\" },\r\n ];\r\n pageNumber: any = 1;\r\n pageSize: any = 10;\r\n sortOrder: any = null;\r\n sortColumn: any = null;\r\n clientId: number;\r\n fromUserId: any;\r\n userId: any;\r\n locationId: any;\r\n Showfemaleque:boolean=false;\r\n //==========================\r\n\r\n headerText: string = \"Add Medical History\";\r\n medicalHistoryForm: FormGroup;\r\n statusModel = [\r\n { id: true, value: \"Active\" },\r\n { id: false, value: \"Inactive\" },\r\n ];\r\n dropDownListArray: any;\r\n\r\n constructor(\r\n translate: TranslateService,\r\n private dialogModal: MatDialog,\r\n private commonService: CommonService,\r\n private dialogService: DialogService,\r\n private notifier: NotifierService,\r\n private clientService: ClientsService,\r\n private datePipe: DatePipe,\r\n private formBuilder: FormBuilder\r\n ) {\r\n // this.route.queryParams.subscribe((params: any) => {\r\n // this.clientId = +params[\"id\"];\r\n // });\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.clientId = user.id;\r\n this.fromUserId = user.userID;\r\n this.userId = user.userID;\r\n this.locationId = user.locationID;\r\n }\r\n });\r\n\r\n this.medicalHistoryForm = this.formBuilder.group({\r\n id: [0],\r\n patientID: [],\r\n maritalStatus: \"\",\r\n childhoodIllness: [],\r\n AgeOnsetMensuration: null,\r\n noOfPregnancies: null,\r\n liveBirths: null,\r\n medicalStatement: this.formBuilder.array([]),\r\n otherProblem: \"\",\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.getAllmedicalDropdown();\r\n // this.getMedicalHistory();\r\n }\r\n\r\n onfemalequestiontoggle(){\r\n this.Showfemaleque=!this.Showfemaleque;\r\n }\r\n getMedicalHistory = () => {\r\n this.clientService\r\n .GetPatientMedicalhistory(\r\n this.clientId,\r\n this.pageNumber,\r\n this.pageSize,\r\n this.sortColumn,\r\n this.sortOrder\r\n )\r\n .subscribe((res: any) => {\r\n // console.log(res);\r\n if (res.data != null && res.statusCode == 200) {\r\n this.metaData = res.meta;\r\ndebugger\r\n this.updateDataInForm(\r\n this.dropDownListArray.medicalStatement,\r\n res.data.medicalStatementResList\r\n );\r\n\r\n this.medicalHistoryForm.patchValue({\r\n id: res.data.patientMedicalHistoryList[0].id,\r\n patientID: res.data.patientMedicalHistoryList[0].patientID,\r\n maritalStatus: res.data.patientMedicalHistoryList[0].maritalStatus,\r\n childhoodIllness: res.data.patientMedicalHistoryList[0]\r\n .childhoodIllness\r\n ? [\r\n ...res.data.patientMedicalHistoryList[0].childhoodIllness.split(\r\n \",\"\r\n ),\r\n ].map((digit) => parseInt(digit))\r\n : null,\r\n AgeOnsetMensuration: res.data.patientMedicalHistoryList[0]\r\n .ageOnsetMensuration\r\n ? res.data.patientMedicalHistoryList[0].ageOnsetMensuration\r\n : null,\r\n noOfPregnancies: res.data.patientMedicalHistoryList[0]\r\n .noOfPregnancies\r\n ? res.data.patientMedicalHistoryList[0].noOfPregnancies\r\n : null,\r\n liveBirths: res.data.patientMedicalHistoryList[0].liveBirths\r\n ? res.data.patientMedicalHistoryList[0].liveBirths\r\n : null,\r\n otherProblem: res.data.patientMedicalHistoryList[0].otherProblem\r\n ? res.data.patientMedicalHistoryList[0].otherProblem\r\n : null,\r\n });\r\n }\r\n });\r\n };\r\n get formAddControls() {\r\n return this.medicalHistoryForm.controls;\r\n }\r\n\r\n get medicalStatement(): FormArray {\r\n return this.medicalHistoryForm.get(\"medicalStatement\") as FormArray;\r\n }\r\n\r\n getAllmedicalDropdown = () => {\r\n this.clientService.GetMedicalHistoryDropdownApi().subscribe((res) => {\r\n // console.log(res);\r\n this.dropDownListArray =JSON.parse(JSON.stringify(res.data));\r\n this.getMedicalHistory();\r\n });\r\n };\r\n\r\n updateDataInForm = (medicalStatement: any, medicalStatementObj: any) => {\r\n debugger\r\n let medArray = this.medicalHistoryForm.get(\"medicalStatement\") as FormArray;\r\n for (let index = 0; index < medArray.length;) {\r\n medArray.removeAt(0);\r\n }\r\n if (medArray.length == 0) {\r\n if (medicalStatement.length != 0) {\r\n medicalStatement.map((ele) => {\r\n if (medicalStatementObj.some((medS) => medS.statementId == ele.id)) {\r\n let tempObj: any = [];\r\n tempObj = medicalStatementObj.filter(\r\n (a) => a.statementId == ele.id\r\n );\r\n // console.log(ele);\r\n this.medicalStatement.push(\r\n this.formBuilder.group({\r\n id: tempObj[0].id,\r\n statement: ele.id ? ele.id : null,\r\n statementid:ele.statementId? ele.statementId :null,\r\n statementName: ele.statement ? ele.statement : null,\r\n details: tempObj[0].details,\r\n statementDate: tempObj[0].statementDate,\r\n isDeleted: false,\r\n })\r\n );\r\n } else {\r\n this.medicalStatement.push(\r\n this.formBuilder.group({\r\n id: 0,\r\n statement: ele.id ? ele.id : null,\r\n statementName: ele.statement ? ele.statement : null,\r\n details: null,\r\n statementDate: null,\r\n isDeleted: false,\r\n })\r\n );\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n // console.log(this.medicalStatement);\r\n \r\n };\r\n\r\n onSubmit = () => {\r\n if (this.medicalHistoryForm.invalid) {\r\n this.notifier.notify(\"error\", \"Form is invalid\");\r\n return;\r\n }\r\n let patientStatement =\r\n this.medicalHistoryForm.controls[\"medicalStatement\"].value;\r\n if (patientStatement.length > 0 || patientStatement != null) {\r\n patientStatement.map((ele: any) => {\r\n ele.statementDate =\r\n ele.statementDate == null\r\n ? null\r\n : this.datePipe.transform(ele.statementDate, \"MM/dd/yyyy\");\r\n });\r\n } else {\r\n patientStatement = null;\r\n }\r\n\r\n const tempData = {\r\n id: this.medicalHistoryForm.controls[\"id\"].value,\r\n patientId: this.clientId,\r\n maritalStatus: this.medicalHistoryForm.controls[\"maritalStatus\"].value,\r\n childhoodIllness:\r\n this.medicalHistoryForm.controls[\"childhoodIllness\"].value == null\r\n ? null\r\n : this.medicalHistoryForm.controls[\r\n \"childhoodIllness\"\r\n ].value.toString(),\r\n ageOnsetMensuration:\r\n this.medicalHistoryForm.controls[\"AgeOnsetMensuration\"].value,\r\n noOfPregnancies:\r\n this.medicalHistoryForm.controls[\"noOfPregnancies\"].value,\r\n liveBirths: this.medicalHistoryForm.controls[\"liveBirths\"].value,\r\n otherProblem: this.medicalHistoryForm.controls[\"otherProblem\"].value,\r\n patientMedicalStatement: patientStatement,\r\n };\r\n\r\n // console.log(tempData);\r\n\r\n this.clientService\r\n .addEditPatientMedicalhistory(tempData)\r\n .subscribe((res: any) => {\r\n // console.log(res);\r\n if (res.statusCode == 200) {\r\n this.notifier.notify(\"success\", res.message);\r\n this.getMedicalHistory();\r\n } else {\r\n this.notifier.notify(\"error\", res.message);\r\n }\r\n });\r\n };\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ alcohol.value == 'Former' ? ('quited' | translate) : (alcohol.value | translate) }}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_select_alcohol_usage_status'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{tobacco.value == 'Former'? ('quited'|translate) : (tobacco.value|translate) }}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_select_tobacco_usage_status'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{drugs.value == 'Former'? (' quited'|translate) : (drugs.value|translate) }}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_select_drugs_usage_status'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_occupation'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{travel.value| translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{'please_enter_travel_status'|translate}}\\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 { Subscription } from \"rxjs\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\n\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\nimport { SocialHistoryModel } from \"src/app/platform/modules/agency-portal/clients/client.model\";\r\nimport { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-social-history-app\",\r\n templateUrl: \"./social-history.component.html\",\r\n styleUrls: [\"./social-history.component.css\"]\r\n})\r\nexport class SocialHistoryComponent implements OnInit {\r\n masterSocialHistory: Array;\r\n socialHistory: SocialHistoryModel;\r\n socialForm: FormGroup;\r\n masterTravel: Array = [];\r\n subscription: Subscription;\r\n submitted: boolean = false;\r\n clientId: number;\r\n header: string = \"Social History\";\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private formBuilder: FormBuilder,\r\n private clientService: ClientsService,\r\n private notifier: NotifierService,\r\n private commonService: CommonService,\r\n private translate:TranslateService \r\n ) {\r\n this.masterSocialHistory = [];\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.socialHistory = new SocialHistoryModel();\r\n this.masterTravel = [];\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.subscription = this.commonService.currentLoginUserInfo.subscribe(\r\n (user: any) => {\r\n if (user) {\r\n this.clientId = user.id;\r\n //this.getUserPermissions();\r\n this.clientService\r\n .getPatientSocialHistory(this.clientId)\r\n .subscribe((response: any) => {\r\n this.socialHistory = response.data;\r\n this.socialForm.patchValue({\r\n ...response.data\r\n });\r\n });\r\n }\r\n }\r\n );\r\n\r\n this.clientService\r\n .getMasterData(\"SOCIALHISTORY\")\r\n .subscribe((response: any) => {\r\n // console.log(\"masterSocialHistory\", response.masterSocialHistory)\r\n this.masterSocialHistory = response.masterSocialHistory;\r\n this.masterTravel = JSON.parse(JSON.stringify(response.masterSocialHistory))\r\n this.masterTravel = this.masterTravel.filter(x => x.value != \"Former\");\r\n this.masterTravel.map((ele) => {\r\n if (ele.globalCodeName == \"Daily\") {\r\n ele.value = \"Frequently\";\r\n } else if (ele.globalCodeName == \"Weekly/ Occasionally\") {\r\n ele.value = \"Occasionally\";\r\n } else if (ele.globalCodeName == \"None\") {\r\n ele.value = \"None\";\r\n }\r\n });\r\n });\r\n\r\n this.socialForm = this.formBuilder.group({\r\n alcohalID: [this.socialHistory.alcohalID, Validators.required],\r\n drugID: [this.socialHistory.drugID, Validators.required],\r\n occupation: [this.socialHistory.occupation, Validators.required],\r\n tobaccoID: [this.socialHistory.tobaccoID, Validators.required],\r\n travelID: [this.socialHistory.travelID, Validators.required]\r\n });\r\n }\r\n\r\n get formControls() {\r\n return this.socialForm.controls;\r\n }\r\n\r\n onSubmit(event: any) {\r\n if (!this.socialForm.invalid) {\r\n this.submitted = true;\r\n\r\n //assign form values\r\n let formValues = this.socialForm.value;\r\n\r\n //assign values\r\n formValues.patientID = this.clientId;\r\n formValues.id = this.socialHistory.id == null ? 0 : this.socialHistory.id;\r\n\r\n //assign form values to socialhistory model\r\n this.socialHistory = formValues;\r\n\r\n //validation check\r\n if (\r\n this.socialHistory.alcohalID == null ||\r\n this.socialHistory.drugID == null ||\r\n this.socialHistory.occupation == null ||\r\n this.socialHistory.tobaccoID == null ||\r\n this.socialHistory.travelID == null\r\n ) {\r\n this.notifier.notify(\"warning\", \"Please select all option\");\r\n } else if (\r\n this.socialHistory.patientID == null ||\r\n this.socialHistory.id == null\r\n ) {\r\n this.notifier.notify(\r\n \"warning\",\r\n \"Something went wrong try after some time!\"\r\n );\r\n } else {\r\n this.clientService\r\n .createSocialHistory(this.socialHistory)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{\\\"share_prescription\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.pharmacyName}}\\r\\n \\r\\n \\r\\n {{\\\"please_select_pharmacy_name\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { ManagePharmacyService } from 'src/app/super-admin-portal/manage-pharmacy/manage-pharmacy.service';\r\nimport { ResponseModel } from '../../core/modals/common-model';\r\nimport { ClientsService } from '../clients.service';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: 'app-pharmacy-dialog',\r\n templateUrl: './pharmacy-dialog.component.html',\r\n styleUrls: ['./pharmacy-dialog.component.css']\r\n})\r\nexport class PharmacyDialogComponent implements OnInit {\r\n\r\n constructor(private formBuilder: FormBuilder, private notifier: NotifierService, private clientService: ClientsService,\r\n @Inject(MAT_DIALOG_DATA) public data: any, private dialogRef: MatDialogRef,private translate:TranslateService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n pharmacyForm: FormGroup;\r\n pharmacyList;\r\n organizationId: number = 128;\r\n submitted: boolean = false;\r\n pharmacyId: number;\r\n ngOnInit() {\r\n this.pharmacyForm = this.formBuilder.group({\r\n 'pharmacyName': ['']\r\n });\r\n // console.log(this.data);\r\n \r\n this.loadPharmacyData(this.organizationId);\r\n }\r\n get formControls() { return this.pharmacyForm.controls; }\r\n\r\n loadPharmacyData(organizationId: number) {\r\n this.clientService.getAllPharmacyList(organizationId).subscribe((response: ResponseModel) => {\r\n this.pharmacyList = response.statusCode == 200 ? response.data : [];\r\n this.pharmacyList = this.pharmacyList.length > 0 ? this.pharmacyList.filter(d => d.pharmacyName != undefined) : [];\r\n });\r\n }\r\n onOkClick() {\r\n if (this.pharmacyForm.invalid) return;\r\n // let patientId = this.data.patientId;\r\n // let prescriptionIds = this.data.prescriptionId;\r\n // let pId = this.pharmacyId;\r\n \r\n var postData = {\r\n patientId: this.data.patientId,\r\n prescriptionIds: this.data.prescriptionId,\r\n pharmacyId: this.pharmacyId\r\n };\r\n this.clientService.SaveSharePrescription(postData).subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message);\r\n } else {\r\n this.notifier.notify('error', response.message);\r\n }\r\n });\r\n this.dialogRef.close();\r\n }\r\n onChangPharmacy(pharmacyId: number) {\r\n this.pharmacyId = pharmacyId;\r\n }\r\n onClose() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHandler,\r\n HttpRequest,\r\n HttpErrorResponse,\r\n} from \"@angular/common/http\";\r\n\r\nimport { BehaviorSubject, Observable, of, throwError } from \"rxjs\";\r\nimport { catchError, filter, switchMap, take } from \"rxjs/operators\";\r\nimport { Router } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\n\r\nimport { CommonService } from \"../services/common.service\";\r\n\r\nexport class TokenApiModel {\r\n accessToken!: string;\r\n refreshToken!: string;\r\n isFromMobile: boolean = false;\r\n userId?:number\r\n}\r\n\r\n@Injectable()\r\nexport class HttpTokenInterceptor implements HttpInterceptor {\r\n private isRefreshing = false;\r\n private refreshTokenSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(\r\n private router: Router,\r\n private notifier: NotifierService,\r\n private refreshTOkenService: CommonService\r\n ) { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n let additionalHeaders;\r\n\r\n try {\r\n additionalHeaders = req.headers.get(\"additionalHeaders\") || \"\";\r\n } catch (error) {\r\n additionalHeaders = \"\";\r\n }\r\n let headerJson = (additionalHeaders && JSON.parse(additionalHeaders)) || {};\r\n\r\n if (headerJson) {\r\n headerJson = Object.entries(headerJson).reduce((newObj, [key, val]) => {\r\n if (newObj[key] == \"business_token\" && val === null) {\r\n\r\n newObj[key] = localStorage.getItem(\"business_token\");\r\n }\r\n newObj[key] = val === null ? \"\" : val;\r\n\r\n return newObj;\r\n }, {});\r\n }\r\n\r\n let headersConfig = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n ...headerJson,\r\n };\r\n\r\n if (\r\n req.url.includes(\"Staffs/UploadStaffVideo\") ||\r\n req.url.includes(\"Dicom/UploadDicomFile\") ||\r\n req.url.includes(\"MasterTestimonial/UploadProfilePic\")\r\n ) {\r\n headersConfig = {};\r\n } else {\r\n headersConfig = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n ...headerJson,\r\n };\r\n }\r\n\r\n const currentUrl = window.location.href;\r\n let token = \"\";\r\n if (currentUrl.includes('/webadmin/')) {\r\n token = localStorage.getItem('super-user-token');\r\n } else {\r\n token = localStorage.getItem(\"access_token\");\r\n }\r\n\r\n if (token) {\r\n headersConfig[\"Authorization\"] = `Bearer ${JSON.parse(token)}`;\r\n }\r\n\r\n // While sending data in url the values could have undefined.\r\n // These values may cause issues in API calls.\r\n // So, sending blank values instead of undefined.\r\n if (req.method == \"GET\")\r\n req = req.clone({\r\n url: this.getCleanUrlForAPISubmission(req.url)\r\n });\r\n\r\n // While sending any data to API there are unwanted properties\r\n // which are having undefined values which is causing failure in API calls\r\n // So, removing those properties.\r\n if (req.method != \"GET\" && !!(req.body))\r\n req = req.clone({\r\n body: this.getCleanObjForAPISubmission(req.body)\r\n });\r\n\r\n const request = req.clone({ setHeaders: headersConfig });\r\n\r\n return next.handle(request).pipe(\r\n catchError((error: any) => {\r\n if (error instanceof HttpErrorResponse) {\r\n if (error.status === 401) {\r\n if (error.url.includes('/Login/refresh')) {\r\n localStorage.clear();\r\n this.notifier.notify(\"warning\", \"Your session has expired. Please log in again.\");\r\n setTimeout(() => {\r\n this.router.navigate(['']).then(() => {\r\n window.location.reload();\r\n });\r\n }, 7000);\r\n } else {\r\n return this.handle401Error(request, next);\r\n }\r\n }\r\n return throwError(() => error);\r\n }\r\n })\r\n );\r\n }\r\n\r\n private handle401Error(request: HttpRequest, next: HttpHandler): Observable> {\r\n if (!this.isRefreshing) {\r\n this.isRefreshing = true;\r\n this.refreshTokenSubject.next(null);\r\n\r\n return this.refreshToken().pipe(\r\n switchMap((tokens: any) => {\r\n this.isRefreshing = false;\r\n this.refreshTokenSubject.next(tokens.accessToken);\r\n\r\n\r\n return next.handle(this.addTokenToRequest(request, tokens.accessToken));\r\n }),\r\n catchError((error) => {\r\n if (error.status === 401) {\r\n this.isRefreshing = false;\r\n this.refreshTokenSubject.next(null);\r\n this.logout();\r\n return throwError(() => error);\r\n }\r\n else {\r\n // this.notifier.notify(\"error\", \"Internal server error\");\r\n return throwError(() => error);\r\n }\r\n })\r\n );\r\n }\r\n\r\n return this.refreshTokenSubject.pipe(\r\n filter(token => token !== null),\r\n take(1),\r\n switchMap(token => next.handle(this.addTokenToRequest(request, token)))\r\n );\r\n }\r\n\r\n private refreshToken(): Observable {\r\n const currentUrl = window.location.href;\r\n let tokeApiModel = new TokenApiModel();\r\n if (currentUrl.includes('/webadmin/')) {\r\n tokeApiModel.accessToken = JSON.parse(localStorage.getItem(\"super-user-token\"));\r\n tokeApiModel.refreshToken = JSON.parse(localStorage.getItem(\"super-refresh-token\"));\r\n } else {\r\n tokeApiModel.accessToken = JSON.parse(localStorage.getItem(\"access_token\"));\r\n tokeApiModel.refreshToken = JSON.parse(localStorage.getItem(\"refresh_token\"));\r\n }\r\n\r\n return this.refreshTOkenService.RefreshToken(tokeApiModel).pipe(\r\n switchMap((res: any) => {\r\n if (res && res.statusCode == 200 && res.data && res.data.accessToken && res.data.refreshToken) {\r\n if (currentUrl.includes('/webadmin/')) {\r\n localStorage.setItem(\"super-refresh-token\", JSON.stringify(res.data.refreshToken));\r\n localStorage.setItem(\"super-user-token\", JSON.stringify(res.data.accessToken));\r\n } else {\r\n localStorage.setItem(\"refresh_token\", JSON.stringify(res.data.refreshToken));\r\n localStorage.setItem(\"access_token\", JSON.stringify(res.data.accessToken));\r\n }\r\n }\r\n return of(res.data);\r\n })\r\n );\r\n }\r\n\r\n private addTokenToRequest(request: HttpRequest, token: string): HttpRequest {\r\n // console.log(\"called from AddTokenrequest\", request);\r\n return request.clone({\r\n setHeaders: { Authorization: `Bearer ${token}` }\r\n });\r\n }\r\n\r\n private logout(): void {\r\n\r\n localStorage.clear();\r\n this.notifier.notify(\"warning\", \"Your session has expired. Please log in again.\");\r\n setTimeout(() => {\r\n this.router.navigate(['']).then(() => {\r\n window.location.reload();\r\n });\r\n }, 7000);\r\n }\r\n\r\n private getCleanUrlForAPISubmission(url: string) {\r\n if (url.indexOf('?') === -1 ||\r\n (url.split('?').length === 1 || (\r\n url.split('?').length > 1\r\n && !(url.split('?')[1].trim())\r\n )))\r\n return url;\r\n\r\n const parts = url.split('?');\r\n const tokens = parts[1].split('&');\r\n const parameters = tokens\r\n .filter(x => !((x.split('=')[1] || '').trim() === 'null'\r\n || (x.split('=')[1] || '').trim() === 'undefined'\r\n || (x.split('=')[1] || '').trim() === 'NaN'))\r\n .join('&');\r\n\r\n const finalUrl = `${parts[0]}?${parameters}`;\r\n //console.log('request', { original: url, clean: finalUrl });\r\n return finalUrl;\r\n }\r\n\r\n private getCleanObjForAPISubmission(obj: any) {\r\n const keys = Object.keys(obj);\r\n\r\n keys.forEach(key => {\r\n if (obj[key] === undefined)\r\n delete obj[key];\r\n });\r\n\r\n return obj;\r\n }\r\n}\r\n","export * from './http.token.interceptor';\r\n","\r\nexport class FilterDate {\r\n fromDate?: string;\r\n toDate?: string;\r\n}\r\n\r\nexport class FilterModel extends FilterDate {\r\n pageNumber: number = 1;\r\n pageSize: number = 5;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n}\r\n\r\n\r\n\r\nexport class FilterModelCreatedBy {\r\n pageNumber: number = 1;\r\n pageSize: number = 5;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n createdBy: number = 0;\r\n}\r\n\r\nexport class DynamicFilterModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 5;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n isActiveRequired: boolean;\r\n}\r\n\r\nexport class ReportModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 10;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n}\r\n\r\n\r\nexport class ResponseModel {\r\n data: any = [];\r\n statusCode: number;\r\n message: string = \"\";\r\n appError: string = \"\";\r\n meta: Metadata;\r\n}\r\nexport class Metadata {\r\n totalRecords: number = 0;\r\n currentPage: number;\r\n pageSize: number = 0;\r\n defaultPageSize: number;\r\n totalPages: number = 0;\r\n pageSizeOptions: number[] = [5, 10, 15, 25, 50];\r\n}\r\nexport class LabFilterModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 2000;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n}\r\nexport class PharmacyFilterModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 2000;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n}\r\n\r\nexport class ProviderListFilterModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 10;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n}\r\n\r\nexport class ProviderSearchFilterModel extends ProviderListFilterModel {\r\n Date: string;\r\n Locations: string;\r\n Taxonomies: string;\r\n // Genders: string;\r\n Gender: string;\r\n Specialities: string;\r\n Services: string;\r\n Rates: string;\r\n Language: string;\r\n MinRate: string;\r\n PatientId?: number;\r\n ReviewRating: string;\r\n SortType: string;\r\n ProvidersearchText: string;\r\n ProviderId: string;\r\n keywords: string;\r\n}\r\nexport class PaymentFilterModel extends FilterModel {\r\n AppDate: string = \"\";\r\n PayDate: string = \"\";\r\n PatientName: string = \"\";\r\n StaffName: string = \"\";\r\n Status: string = \"\";\r\n AppointmentType: string = \"\";\r\n RangeStartDate: string = \"\";\r\n RangeEndDate: string = \"\";\r\n BookingMode: string = \"\";\r\n}\r\nexport class RefundFilterModel extends FilterModel {\r\n AppDate: string = \"\";\r\n RefundDate: string = \"\";\r\n PatientName: string = \"\";\r\n StaffName: string = \"\";\r\n}\r\n\r\nexport class PharmacySearchFilterModel extends PharmacyFilterModel {\r\n FirstName: string = \"\";\r\n MiddleName: string = \"\";\r\n LastName: string = \"\";\r\n PharmacyName: string = \"\";\r\n PharmacyId: string;\r\n Gender: string;\r\n Date: string;\r\n Addres: string;\r\n Phone: string;\r\n SortType: string;\r\n keywords: string;\r\n PharmacysearchText: string;\r\n}\r\nexport class LabSerachFilterModel extends LabFilterModel {\r\n FirstName: string = \"\";\r\n MiddleName: string = \"\";\r\n LastName: string = \"\";\r\n LabName: string = \"\";\r\n LabId: string;\r\n Gender: string;\r\n Date: string;\r\n Addres: string;\r\n Phone: string;\r\n SortType: string;\r\n keywords: string;\r\n LabsearchText: string;\r\n RoleId: string = null;\r\n}\r\n\r\nexport class PatientSubscriptionFilterModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 10;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n}\r\nexport class PatientSubscriptionPlan {\r\n patientSubscriptionPlanId: number;\r\n subscriptionPlanId: number;\r\n patientId: number;\r\n planType: string;\r\n amountPerClient: number;\r\n createdBy: number;\r\n createdDate: Date;\r\n deletedBy?: number;\r\n deletedDate?: Date;\r\n isActive?: boolean = true;\r\n isDeleted?: boolean = false;\r\n title: string;\r\n descriptions: string;\r\n organizationId: number;\r\n phone?: string;\r\n updatedBy: number;\r\n updatedDate: Date;\r\n expiryDate?: Date;\r\n startDate?: Date;\r\n organizationName: string;\r\n email: string;\r\n locationId: number;\r\n}\r\n\r\nexport class SoapNoteModel extends FilterModel {\r\n StaffId?: number;\r\n PatientId?: number;\r\n ProviderName: string;\r\n patientName: string;\r\n CreatedDate?: Date;\r\n Subjective: string;\r\n Objective: string;\r\n Assessment: string;\r\n Plans: string;\r\n}\r\nexport class InsurancecompanyModel {\r\n incuranceCompanyId: number = 0;\r\n companyAddress: string = \"\";\r\n isDeleted: string = \"\";\r\n companyName: string = \"\";\r\n phone: string = \"\";\r\n isActive: boolean = false;\r\n comapnyEmail: string = \"\";\r\n totalRecords: number = 0;\r\n}\r\nexport class ImmunizationFilterModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 5;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n SearchText: string = \"\";\r\n VaccineStatus: string = \"\";\r\n}\r\nexport class PaymentFilterModelForAdmin extends FilterModel {\r\n AppDate: string = \"\";\r\n PayDate: string = \"\";\r\n PatientName: string = \"\";\r\n ProviderName: string = \"\";\r\n StaffName: string = \"\";\r\n Status: string = \"\";\r\n AppointmentType: string = \"\";\r\n RangeStartDate: string = \"\";\r\n RangeEndDate: string = \"\";\r\n BookingMode: string = \"\";\r\n paymentStatus: string = \"\";\r\n}\r\nexport class RefundFilterModelForAdmin extends FilterModel {\r\n AppDate: string = \"\";\r\n RefundDate: string = \"\";\r\n PatientName: string = \"\";\r\n ProviderName: string = \"\";\r\n StaffName: string = \"\";\r\n paymentStatus: string = \"\";\r\n}\r\nexport class AdminDataFilterModel extends FilterModel {\r\n // pageNumber: number = 1;\r\n // pageSize: number = 5;\r\n // sortColumn: string = \"\";\r\n // sortOrder: string = \"\";\r\n SearchText: string = \"\";\r\n Listof: string = \"\";\r\n Email: string = \"\";\r\n}\r\nexport class SuperAdminDataModel {\r\n patientID: number = 0;\r\n FirstName: string = \"\";\r\n LastNmae: string = \"\";\r\n fullName: string = \"\";\r\n email: string = \"\";\r\n IsActive: boolean = false;\r\n staffID: number = 0;\r\n ProviderFirstName: string = \"\";\r\n ProviderLastName: string = \"\";\r\n providerFullName: string = \"\";\r\n //StaffID:number=0;\r\n LabFirstName: string = \"\";\r\n LabLastName: string = \"\";\r\n labFullName: string = \"\";\r\n labEmail: string = \"\";\r\n labID: number = 0;\r\n LabName: string = \"\";\r\n PharmaFirstName: string = \"\";\r\n PharmaLastName: string = \"\";\r\n pharmaFullName: string = \"\";\r\n pharmaEmail: string = \"\";\r\n pharmacyID: number = 0;\r\n PharmacyName: string = \"\";\r\n RadioFirstName: string = \"\";\r\n RadioLastName: string = \"\";\r\n radioFullName: string = \"\";\r\n radioEmail: string = \"\";\r\n radiologyID: number = 0;\r\n RadiologyName: string = \"\";\r\n totalRecords: number = 0;\r\n Subject: string = \"\";\r\n Reason: string = \"\";\r\n}\r\n// export class FilterLabReferralModel{\r\n// organizationId: number=128;\r\n// labId: number=0;\r\n// searchText: string=\"\";\r\n// referralDate:any;\r\n// testDate:any;\r\n// pageNumber:number=1;\r\n// pageSize:number=10;\r\n// sortColumn:string=\"\";\r\n// sortOrder:string=\"\";\r\n// status:string=\"\";\r\n// }\r\nexport class FilterLabReferralModel {\r\n organizationId: number = 128;\r\n labId: number = 0;\r\n searchText: string = null;\r\n referralDate: any;\r\n endreferralDate: any;\r\n testDate: any;\r\n endtestDate: any;\r\n pageNumber: number = 1;\r\n pageSize: number = 10;\r\n sortColumn: string = null;\r\n sortOrder: string = null;\r\n status: string = null;\r\n\r\n constructor(\r\n organizationId: number,\r\n labId: number,\r\n searchText: string,\r\n referralDate: any,\r\n endreferralDate: any,\r\n testDate: any,\r\n endtestDate: any,\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n status: string\r\n ) {\r\n this.organizationId = organizationId;\r\n this.labId = labId;\r\n this.searchText = searchText;\r\n this.referralDate = referralDate;\r\n this.endreferralDate = endreferralDate;\r\n this.testDate = testDate;\r\n this.endtestDate = endtestDate;\r\n this.pageNumber = pageNumber;\r\n this.pageSize = pageSize;\r\n this.sortColumn = sortColumn;\r\n this.sortOrder = sortOrder;\r\n this.status = status;\r\n }\r\n\r\n}\r\nexport class ProviderPaymentsFilterModel extends FilterModel {\r\n staffId: number[] = [];\r\n startDate: string = \"\";\r\n endDate: string = \"\";\r\n appStatus: string = \"\";\r\n bookingMode: string = \"\";\r\n paymentStatus: number = 0;\r\n}\r\n\r\nexport class ProviderPaymentTransactionFilterModel extends FilterModel {\r\n staffId: number;\r\n startDate: string = \"\";\r\n endDate: string = \"\";\r\n appointmentStatus: string = \"\";\r\n //bookingMode: string = \"\";\r\n paymentStatus: number = 0;\r\n IsPaymentSettled: number = null;\r\n paymentMode:number=null;\r\n refundStatus:number=null;\r\n}\r\nexport class ProviderSettlePayments {\r\n appointmentIds: number[]\r\n StaffId: number\r\n PaidAmount: number\r\n PaymentDate: string\r\n PaymentMethod: string\r\n PaymentToken: string\r\n PaymentStatus: number\r\n}\r\nexport class GetAllStaffBookingCommissionRequestModel extends FilterModel {\r\n SearchText: any;\r\n StaffEnrolledStartDate: string = null\r\n StaffEnrolledEndDate: string = null\r\n Role :string =null\r\n\r\n}\r\n\r\nexport class RefundAppointmenntModal {\r\n AppointmentId: any = 0\r\n refundAmount: number = 0//Not required\r\n RefundMode: number = 0//Not required\r\n}\r\n\r\n\r\n\r\n\r\n","import { NotificationsModel } from \"../../../../shared/models\";\r\n\r\nexport interface LoginUser {\r\n access_token: string;\r\n refresh_token: string;\r\n appConfigurations?: Array;\r\n data: any;\r\n expires_in: number;\r\n firstTimeLogin: boolean;\r\n notifications?: NotificationsModel;\r\n passwordExpiryStatus?: any;\r\n statusCode: number;\r\n userLocations?: Array;\r\n userPermission?: any;\r\n patientData?: any;\r\n isAdminStaff:boolean;\r\n secretaryToken:string;\r\n isProviderStaff:boolean\r\n}\r\n\r\nexport class ProfileSetupModel {\r\n isProfileSetup: number = 0;\r\n basicProfile: number = 0;\r\n staffAvailability: number = 0;\r\n staffExperiences: number = 0;\r\n staffQualifications: number = 0;\r\n staffAwards: number = 0;\r\n staffTaxonomies: number = 0;\r\n staffLocation: number = 0;\r\n staffServices: number = 0;\r\n staffSpecialities: number = 0;\r\n}\r\n\r\nexport class LoggedInUserModel{\r\n roleId:number;\r\n staffId:number;\r\n userType: string;\r\n}\r\n","import { ICDCodeService } from \"./../../agency-portal/masters/icd-codes/icd-code.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { BehaviorSubject, ReplaySubject, Observable, Subject, throwError, forkJoin, of } from \"rxjs\";\r\nimport { catchError, distinctUntilChanged, map } from \"rxjs/operators\";\r\nimport { LoginUser, ProfileSetupModel } from \"../modals/loginUser.modal\";\r\nimport { environment } from \"../../../../../environments/environment\";\r\nimport * as CryptoJS from \"crypto-js\";\r\nimport base64 from \"base-64\";\r\nimport utf8 from \"utf8\";\r\nimport { AppointmentViewComponent } from \"../../scheduling/appointment-view/appointment-view.component\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { SaveDocumentComponent } from \"src/app/front/save-document/save-document.component\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Injectable()\r\nexport class CommonService {\r\n public callStartStopSubject = new BehaviorSubject(false);\r\n public callStartStopShareSubject = this.callStartStopSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n private videoSessionStartedSubject = new BehaviorSubject({\r\n IsStarted: false,\r\n });\r\n public videoSessionStarted = this.videoSessionStartedSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n private SytemInfoSubject = new BehaviorSubject({});\r\n public sytemInfo = this.SytemInfoSubject.asObservable().pipe(\r\n distinctUntilChanged()\r\n );\r\n\r\n public loginUserSubject = new BehaviorSubject({} as LoginUser);\r\n public loginUser = this.loginUserSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n public loginAdminProviderStaffSubject = new BehaviorSubject({} as LoginUser);\r\n public loginAdminStaff = this.loginAdminProviderStaffSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n // public currentUserSubject = new BehaviorSubject({} as object);\r\n // public currentUser = this.currentUserSubject\r\n // .asObservable()\r\n // .pipe(distinctUntilChanged());\r\n\r\n public currentLoginUserInfoSubject = new BehaviorSubject(null);\r\n public currentLoginUserInfo = this.currentLoginUserInfoSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n public loginSecuritySubject = new BehaviorSubject({} as object);\r\n public loginSecurity = this.loginSecuritySubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n public profileMatChngTabSubject = new Subject();\r\n\r\n private isAuthenticatedSubject = new ReplaySubject(1);\r\n public isAuthenticated = this.isAuthenticatedSubject.asObservable();\r\n private isPatientSubject = new BehaviorSubject(false);\r\n public isPatient = this.isPatientSubject.asObservable();\r\n private isDoctorSubject = new BehaviorSubject(false);\r\n public isDoctor = this.isDoctorSubject.asObservable();\r\n\r\n private userRoleSubject = new BehaviorSubject(\"\");\r\n private AdminStaffRoleSubject = new BehaviorSubject(\"\");\r\n public userRole = this.userRoleSubject.asObservable();\r\n public AdminStaffRole = this.userRoleSubject.asObservable();\r\n public isShowLoaderToSpecificURL: boolean = false;\r\n public loadingStateSubject = new Subject();\r\n public loadingState = this.loadingStateSubject.asObservable();\r\n private checkStaffProfile = \"Staffs/CheckStaffProfile?id=\";\r\n // for update the client side navigations ...\r\n private updateClientNavigationSubject = new BehaviorSubject({} as any);\r\n public updateClientNavigation = this.updateClientNavigationSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n private _isProfileComplete = new BehaviorSubject(\r\n {} as ProfileSetupModel\r\n );\r\n isProfileComplete = this._isProfileComplete.asObservable();\r\n\r\n public _isHistoryShareable = new BehaviorSubject(null);\r\n public isHistoryShareable = this._isHistoryShareable.asObservable();\r\n public _isSecretaryAdminLoggedIn = new BehaviorSubject(false);\r\n public _isProviderStaffLoggedIn = new BehaviorSubject(false);\r\n private pendingAppointmentSubject = new BehaviorSubject(\"0\");\r\n pendingAppointment$ = this.pendingAppointmentSubject.asObservable();\r\n private inboxCountSubject = new BehaviorSubject(\"0\");\r\n inboxCount$ = this.inboxCountSubject.asObservable();\r\n public _isAppointmentCompleted = new BehaviorSubject(false);\r\n public isAppointmentCompleted = this._isAppointmentCompleted.asObservable();\r\n\r\n //showCompleteProfileMessage$ = this.showCompleteProfileMessageSubject.asObservable();\r\n constructor(\r\n private http: HttpClient,\r\n private SpinnerService: NgxSpinnerService\r\n ) {\r\n SystemIpAddress.then((value) => {\r\n this.SytemInfoSubject.next({ ipAddress: value });\r\n }).catch((e) =>\r\n // console.error(e)\r\n { });\r\n }\r\n setIsProfileComplete(data) {\r\n this._isProfileComplete.next(data);\r\n }\r\n\r\n setPendingAppointment(value: any) {\r\n this.pendingAppointmentSubject.next(value);\r\n }\r\n\r\n getPendingAppointment() {\r\n return this.pendingAppointmentSubject.getValue();\r\n }\r\n\r\n setInboxCount(value: any) {\r\n this.inboxCountSubject.next(value);\r\n }\r\n\r\n getInboxCount(): any {\r\n return this.inboxCountSubject.getValue();\r\n }\r\n\r\n setisAdminStaffLoggedIn(value: boolean) {\r\n this._isSecretaryAdminLoggedIn.next(value);\r\n }\r\n\r\n getisAdminStaffLoggedIn() {\r\n return this._isSecretaryAdminLoggedIn.getValue();\r\n }\r\n\r\n setIsProviderStaffLoggedIn(value: boolean) {\r\n this._isProviderStaffLoggedIn.next(value);\r\n }\r\n\r\n getIsProviderStaffAdminLoggedIn() {\r\n return this._isProviderStaffLoggedIn.getValue();\r\n }\r\n\r\n videoSession(isStarted: boolean) {\r\n if (!isStarted) localStorage.removeItem(\"otSession\");\r\n this.videoSessionStartedSubject.next({ IsStarted: isStarted });\r\n }\r\n\r\n changeCallStartStopStatus(value: boolean) {\r\n this.callStartStopSubject.next(value);\r\n }\r\n\r\n getFullName(firstName: string, middleName: string, lastName: string) {\r\n return middleName != undefined\r\n ? lastName != \"\"\r\n ? firstName + \" \" + middleName + \" \" + lastName\r\n : firstName + \" \" + middleName\r\n : firstName + \" \" + lastName;\r\n }\r\n\r\n getLabRadiologyFullName(firstName: string, middleName: string, lastName: string) {\r\n return middleName != undefined\r\n ? middleName != \"\"\r\n ? middleName\r\n : firstName + \" \" + middleName\r\n : firstName + \" \" + lastName;\r\n }\r\n initializeAuthData() {\r\n if (localStorage.getItem(\"access_token\")) {\r\n return this.http\r\n .get(`${environment.api_url}/GetUserByToken`)\r\n .subscribe((response) => {\r\n // login successful if there's a jwt token in the response\r\n if (response && response.access_token) {\r\n // console.log(\"setting auth from commonservice using getbytoken\", response );\r\n this.setAuth(response);\r\n } else {\r\n // this.purgeAuth();\r\n }\r\n return response;\r\n });\r\n }\r\n }\r\n \r\n // initializeAuthData() {\r\n // const accessToken = localStorage.getItem('access_token');\r\n // const adminStaffToken = localStorage.getItem('adminstaff_token');\r\n\r\n\r\n // if (accessToken) {\r\n // console.log(\"getUserByTOken\")\r\n // this.http\r\n // .get(`${environment.api_url}/GetUserByToken`)\r\n // .subscribe(\r\n // (response: any) => {\r\n // if (response && response.access_token) {\r\n // this.setAuth(response);\r\n\r\n\r\n // if (adminStaffToken) {\r\n // this.processAdminStaffToken();\r\n // }\r\n // }\r\n // },\r\n // (error) => {\r\n // console.error('User token validation failed', error);\r\n\r\n\r\n // // if (adminStaffToken) {\r\n // // this.processAdminStaffToken(adminStaffToken);\r\n // // }\r\n // }\r\n // );\r\n // } \r\n\r\n // // else if (adminStaffToken) {\r\n // // this.processAdminStaffToken();\r\n // // }\r\n // }\r\n\r\n // initializeAuthData() {\r\n // const accessToken = localStorage.getItem('access_token');\r\n // const adminStaffToken = localStorage.getItem('adminstaff_token');\r\n\r\n // if (accessToken || adminStaffToken) {\r\n // const userRequest = accessToken\r\n // ? this.http.get(`${environment.api_url}/GetUserByToken`).pipe(\r\n // catchError((error) => {\r\n // console.error('User token validation failed', error);\r\n // return of(null);\r\n // })\r\n // )\r\n // : of(null);\r\n\r\n // const adminStaffRequest = adminStaffToken\r\n // ? this.http.post(`${environment.api_url}/GetAdminOrProviderStaffByToken`, {\r\n // AuthToken: JSON.parse(adminStaffToken),\r\n // }).pipe(\r\n // catchError((error) => {\r\n // console.error('Admin staff token validation failed', error);\r\n // return of(null);\r\n // })\r\n // )\r\n // : of(null);\r\n\r\n // forkJoin([userRequest, adminStaffRequest]).subscribe(([userResponse, adminStaffResponse]) => {\r\n // if (userResponse && userResponse.access_token) {\r\n // this.setAuth(userResponse);\r\n // }\r\n\r\n // if (adminStaffResponse && adminStaffResponse.access_token) {\r\n // this.setAdminStaffData(adminStaffResponse);\r\n // }\r\n // });\r\n // }\r\n // }\r\n\r\n\r\n\r\n public processAdminStaffToken() {\r\n const adminStaffToken = localStorage.getItem('adminstaff_token');\r\n if (adminStaffToken) {\r\n\r\n\r\n this.http\r\n .post(`${environment.api_url}/GetAdminOrProviderStaffByToken`, { AuthToken: JSON.parse(adminStaffToken) })\r\n .subscribe(\r\n (response: any) => {\r\n if (response && response.access_token) {\r\n this.setAdminStaffData(response);\r\n }\r\n },\r\n (error) => {\r\n console.error('Admin staff token validation failed', error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n isValidFileType(fileName, fileType): boolean {\r\n // Create an object for all extension lists\r\n let extentionLists = { video: [], image: [], pdf: [], excel: [], xml: [] };\r\n let isValidType = false;\r\n extentionLists.video = [\"m4v\", \"avi\", \"mpg\", \"mp4\"];\r\n extentionLists.image = [\"jpg\", \"jpeg\", \"bmp\", \"png\", \"ico\"];\r\n extentionLists.pdf = [\"pdf\"];\r\n extentionLists.excel = [\"excel\"];\r\n extentionLists.xml = [\"xml\"];\r\n //get the extension of the selected file.\r\n let fileExtension = fileName.split(\".\").pop().toLowerCase();\r\n isValidType = extentionLists[fileType].indexOf(fileExtension) > -1;\r\n return isValidType;\r\n }\r\n logout() {\r\n // remove user from local storage to log user out\r\n this.purgeAuth();\r\n }\r\n\r\n setAuth(user: LoginUser) {\r\n // const userRoleName =\r\n // user.data.users3 && user.data.users3.userRoles.userType;\r\n // if ((userRoleName || \"\").toUpperCase() != \"CLIENT\")\r\n // this.isProfileUpdated(user.data.id);\r\n // console.log(\"setauth\", user);\r\n localStorage.setItem(\"access_token\", JSON.stringify(user.access_token));\r\n if (user && user.refresh_token && user.refresh_token != \"\") {\r\n // console.log(\"refresh token set\")\r\n localStorage.setItem(\"refresh_token\", JSON.stringify(user.refresh_token));\r\n }\r\n\r\n console.log(\"setAuth user\", user)\r\n if (user && user.secretaryToken && user.secretaryToken != \"\") {\r\n localStorage.setItem(\"adminstaff_token\", JSON.stringify(user.secretaryToken));\r\n }\r\n\r\n if (user && user.isAdminStaff) {\r\n this.setisAdminStaffLoggedIn(user.isAdminStaff);\r\n }\r\n\r\n if (user && user.isProviderStaff) {\r\n this.setIsProviderStaffLoggedIn(user.isProviderStaff);\r\n }\r\n // Set current user data into observable\r\n //console.log(\"setAuth\", user)\r\n this.loginUserSubject.next(user);\r\n let locationid =\r\n user.data.staffLocation &&\r\n user.data.staffLocation[0] &&\r\n user.data.staffLocation[0].locationID;\r\n this.currentLoginUserInfoSubject.next({\r\n ...user.data,\r\n currentLocationId:\r\n locationid == undefined ? user.data.locationID : locationid,\r\n userLocations: user.userLocations || [],\r\n });\r\n // this.currentLoginUserInfoSubject.next({\r\n // ...user.data,\r\n // currentLocationId:\r\n // user.data.staffLocation &&\r\n // user.data.staffLocation[0] &&\r\n // user.data.staffLocation[0].locationID,\r\n // userLocations: user.userLocations || [],\r\n // });\r\n // Set isAuthenticated to true\r\n this.isAuthenticatedSubject.next(true);\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n this.userRoleSubject.next(userRoleName);\r\n }\r\n\r\n setAdminStaffData(user: LoginUser) {\r\n console.log(\"setAdminauth\", user);\r\n console.log(\"setAuth user\", user)\r\n this.loginAdminProviderStaffSubject.next(user);\r\n }\r\n\r\n getloginAdminOrProviderStaffSubject() {\r\n return this.loginAdminProviderStaffSubject.getValue();\r\n }\r\n\r\n\r\n setIsPatient(isPatient: boolean = true) {\r\n this.isPatientSubject.next(isPatient);\r\n }\r\n\r\n endCallsession(isDoctor: boolean = true) {\r\n var keys = Object.keys(localStorage);\r\n keys.forEach((val) => {\r\n if (val.indexOf(\"called\") > -1) {\r\n localStorage.removeItem(val);\r\n }\r\n });\r\n }\r\n purgeAuth() {\r\n // console.log(\"pergeAuth get called\");\r\n localStorage.removeItem(\"access_token\");\r\n localStorage.removeItem(\"apptId\");\r\n localStorage.removeItem(\"isPatient\");\r\n localStorage.removeItem(\"opentok_client_id\");\r\n localStorage.removeItem(\"UserId\");\r\n localStorage.removeItem(\"payment_token\");\r\n localStorage.removeItem(\"UserRole\");\r\n localStorage.removeItem(\"adminstaff_token\");\r\n localStorage.removeItem(\"staffdob\");\r\n localStorage.removeItem(\"super-user-token\");\r\n localStorage.removeItem(\"super-refresh-token\");\r\n localStorage.removeItem(\"refresh_token\");\r\n // Set current user to an empty object\r\n this.loginUserSubject.next({} as LoginUser);\r\n\r\n this.currentLoginUserInfoSubject.next(null);\r\n // Set auth status to false\r\n this.isAuthenticatedSubject.next(false);\r\n //localStorage.clear();\r\n }\r\n\r\n // hasPermission(role: string, actionName: string): boolean {\r\n // var loggedInAdminorStaff = this.getloginAdminOrProviderStaffSubject();\r\n\r\n // const permissions: Record> = {\r\n // \"COORDINATOR\": new Set(), \r\n // \"LEAD STAFF\": new Set([\"ePrescription\"]), \r\n // \"ASSOCIATE STAFF\": new Set([\"ePrescription\", \"VideoCall\", \"ICD\", \"SOAPNotes\", \"Mailbox\", \"Letters\", \"PastAppointments\"])\r\n // };\r\n // return !permissions[role].has(actionName);\r\n // }\r\n\r\n // hasPermission(actionName: string): boolean {\r\n\r\n // let loggedInAdminorStaff = this.getloginAdminOrProviderStaffSubject();\r\n // console.log(\":loggedInAdminorStaff\",loggedInAdminorStaff);\r\n // if(loggedInAdminorStaff){\r\n // let role = loggedInAdminorStaff.data.userRoles.userType;\r\n // console.log(\"lgged in staff role\", role)\r\n // const permissions: Record> = {\r\n // \"COORDINATOR\": new Set(), \r\n // \"LEAD_STAFF\": new Set([\"ePrescription\"]), \r\n // \"ASSOCIATE_STAFF\": new Set([ \"VideoCall\", \"ICD\", \"SOAPNotes\", \"Mailbox\", \"Letters\", \"PastAppointments\"])\r\n // };\r\n\r\n\r\n // if (!permissions.hasOwnProperty(role)) {\r\n // return true;\r\n // }\r\n\r\n // // Return true if the actionName is in the role's permissions\r\n // return permissions[role].has(actionName);\r\n // }\r\n // return true;\r\n\r\n // }\r\n\r\n\r\n isActionBlocked(actionName: string): boolean {\r\n let loggedInAdminorStaff = this.getloginAdminOrProviderStaffSubject();\r\n console.log(\"loggedInAdminorStaff:\", loggedInAdminorStaff);\r\n\r\n if (loggedInAdminorStaff) {\r\n let role = loggedInAdminorStaff.data.userRoles.userType;\r\n console.log(\"Logged-in staff role:\", role);\r\n\r\n const permissions: Record> = {\r\n \"COORDINATOR\": new Set(),\r\n \"LEAD_STAFF\": new Set([\"E_PRESCRIPTION\", \"ICD\",\"PAST_APPOINTMENT\"]),\r\n \"ASSOCIATE_STAFF\": new Set([\"E_PRESCRIPTION\", \"VIDEO_CALL\", \"ICD\", \"SOAPNOTES\", \"PAST_APPOINTMENT\", \"LETTER\"])\r\n };\r\n\r\n\r\n if (!permissions.hasOwnProperty(role)) {\r\n return false;\r\n }\r\n\r\n\r\n return permissions[role].has(actionName);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n\r\n setSecurityQuestions(securityQuestionObj: object) {\r\n this.loginSecuritySubject.next(securityQuestionObj);\r\n }\r\n\r\n getLoginUserInfo(): any {\r\n return this.loginUserSubject.value;\r\n }\r\n\r\n setCurrentUser(user: any) {\r\n localStorage.setItem(\"UserId\", user.userID);\r\n // ////;\r\n if (user.users1 != null)\r\n localStorage.setItem(\"UserRole\", user.users1.userRoles.userType);\r\n else localStorage.setItem(\"UserRole\", user.users3.userRoles.userType);\r\n // this.currentUserSubject.next(user);\r\n }\r\n // getCurrentUser(): any {\r\n // return this.currentUserSubject.value;\r\n // }\r\n\r\n getCurrentLoginLocationId(): string {\r\n let locationId: string = \"\";\r\n const loginData: any = this.currentLoginUserInfoSubject.value;\r\n if (loginData) {\r\n locationId = loginData.currentLocationId || 0;\r\n }\r\n return locationId.toString();\r\n }\r\n\r\n getSystemIpAddress(): string {\r\n return this.SytemInfoSubject.value && this.SytemInfoSubject.value.ipAddress;\r\n }\r\n\r\n updateCurrentLoginUserInfo(locationId: number) {\r\n const loginData: any = this.currentLoginUserInfoSubject.value;\r\n if (loginData) {\r\n const newUserObj = {\r\n ...loginData,\r\n currentLocationId: locationId,\r\n };\r\n this.currentLoginUserInfoSubject.next(newUserObj);\r\n }\r\n }\r\n\r\n updateClientNaviagations(clientId: number, userId: number = null) {\r\n this.updateClientNavigationSubject.next({ clientId, userId });\r\n }\r\n\r\n get getAdditionalHeaders(): string {\r\n // const additionalHeaders = JSON.stringify({\r\n // Offset: new Date().getTimezoneOffset().toString(),\r\n // Timezone: calculateTimeZone(),\r\n // IPAddress: this.getSystemIpAddress(),\r\n // LocationID: this.getCurrentLoginLocationId(),\r\n // BusinessToken: localStorage.getItem(\"business_token\"),\r\n // });\r\n const additionalHeaders = JSON.stringify({\r\n Offset: new Date().getTimezoneOffset().toString(),\r\n Timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\r\n IPAddress: this.getSystemIpAddress(),\r\n LocationID: this.getCurrentLoginLocationId(),\r\n BusinessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n return additionalHeaders;\r\n }\r\n\r\n videoPost(url, data, isLoading: boolean = true): Observable {\r\n let headers = new HttpHeaders({\r\n \"Content-Type\": \"multipart/form-data\",\r\n enctype: \"multipart/form-data\",\r\n });\r\n\r\n this.SpinnerService.show();\r\n isLoading && this.loadingStateSubject.next(true);\r\n\r\n return this.http\r\n .post(`${environment.api_url}/${url}`, data, { headers: headers })\r\n .pipe(\r\n map((res) => {\r\n //if(isLoading){\r\n isLoading && this.loadingStateSubject.next(false);\r\n this.SpinnerService.hide();\r\n //}\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n post(url, data, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n\r\n this.SpinnerService.show();\r\n isLoading && this.loadingStateSubject.next(true);\r\n\r\n return this.http\r\n .post(`${environment.api_url}/${url}`, data, { headers: headers })\r\n .pipe(\r\n map((res) => {\r\n //if(isLoading){\r\n isLoading && this.loadingStateSubject.next(false);\r\n this.SpinnerService.hide();\r\n //}\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n\r\n RefreshToken(data, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n\r\n this.SpinnerService.show();\r\n isLoading && this.loadingStateSubject.next(true);\r\n\r\n return this.http\r\n .post(`${environment.api_url}/Login/refresh`, data, { headers: headers })\r\n .pipe(\r\n map((res) => {\r\n //if(isLoading){\r\n isLoading && this.loadingStateSubject.next(false);\r\n this.SpinnerService.hide();\r\n //}\r\n return res;\r\n }),\r\n catchError((error) => {\r\n // console.log(\"under refresh service catcah\")\r\n return throwError(() => error);\r\n })\r\n );\r\n }\r\n\r\n\r\n\r\n postWithNoLoader(url, data, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n /*if(isLoading){\r\n this.SpinnerService.show();\r\n isLoading && this.loadingStateSubject.next(true);\r\n }*/\r\n\r\n return this.http\r\n .post(`${environment.api_url}/${url}`, data, { headers: headers })\r\n .pipe(\r\n map((res) => {\r\n /* if(isLoading){\r\n isLoading && this.loadingStateSubject.next(false);\r\n this.SpinnerService.hide();\r\n }*/\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n get(url, isLoading: boolean = false): Observable {\r\n isLoading && this.loadingStateSubject.next(true);\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n this.SpinnerService.show();\r\n return this.http\r\n .get(`${environment.api_url}/${url}`, {\r\n headers: headers,\r\n })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n this.SpinnerService.hide();\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n\r\n\r\n\r\n put(url, data): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n return this.http.put(`${environment.api_url}/${url}`, data, {\r\n headers: headers,\r\n });\r\n }\r\n\r\n getById(url, data, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n if (url.includes(\"CheckStaffProfile\")) {\r\n isLoading && this.loadingStateSubject.next(false);\r\n } else {\r\n isLoading && this.loadingStateSubject.next(true);\r\n }\r\n // this.SpinnerService.show();\r\n\r\n //console.log('loader open :',url)\r\n this.isShowLoaderToSpecificURL = false;\r\n // if(url.includes('GetStaffById') && !this.isShowLoaderToSpecificURL){\r\n // this.isShowLoaderToSpecificURL=true;\r\n // }\r\n return this.http\r\n .get(`${environment.api_url}/${url}`, { headers: headers })\r\n .pipe(\r\n map((res) => {\r\n if (!this.isShowLoaderToSpecificURL) {\r\n isLoading && this.loadingStateSubject.next(false);\r\n // this.SpinnerService.hide();\r\n //console.log('loader close isGetStaffById false:',url);\r\n }\r\n if (this.isShowLoaderToSpecificURL) {\r\n // console.log('loader close isGetStaffById true response :',url);\r\n // this.SpinnerService.show();\r\n this.loadingStateSubject.next(true);\r\n if (url.includes(\"GetStaffById\")) {\r\n // console.log('loader close isGetStaffById response false :',url);\r\n isLoading && this.loadingStateSubject.next(false);\r\n // this.SpinnerService.hide();\r\n // this.isShowLoaderToSpecificURL=false;\r\n }\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getAll(url, data, isLoading: boolean = true): Observable {\r\n this.SpinnerService.show();\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(`${environment.api_url}/${url}`, { headers: headers })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n this.SpinnerService.hide();\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n // delete(url): Observable {\r\n // const headers = new HttpHeaders({\r\n // additionalHeaders: this.getAdditionalHeaders,\r\n // });\r\n // return this.http.delete(`${environment.api_url}/${url}`, {\r\n // headers: headers,\r\n // });\r\n // }\r\n // patch(url, data, isLoading: boolean = true): Observable {\r\n // const headers = new HttpHeaders({\r\n // additionalHeaders: this.getAdditionalHeaders,\r\n // });\r\n // isLoading && this.loadingStateSubject.next(true);\r\n // return this.http\r\n // .patch(`${environment.api_url}/${url}`, data, { headers: headers })\r\n // .pipe(\r\n // map((res) => {\r\n // isLoading && this.loadingStateSubject.next(false);\r\n // return res;\r\n // })\r\n // );\r\n // }\r\n\r\n download(url, headers): Observable {\r\n return this.http.get(`${environment.api_url}/${url}`, {\r\n headers: headers,\r\n responseType: \"blob\",\r\n });\r\n }\r\n\r\n downloadWithPost(url, data, headers): Observable {\r\n return this.http.post(`${environment.api_url}/${url}`, data, {\r\n headers: headers,\r\n responseType: \"blob\",\r\n });\r\n }\r\n\r\n getImageFromServer(url): Observable {\r\n\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n return this.http.get(`${environment.api_url}${url}`, {\r\n headers: headers,\r\n });\r\n }\r\n\r\n calculateFileSizehandler(files): boolean {\r\n let totalFileSize = 0;\r\n let fileSizeInKB;\r\n // @desc - define const max upload file size 5MB\r\n let totalFileSizeInMB;\r\n const fileSize5MB = \"5.00\";\r\n files.map((obj, i) => {\r\n totalFileSize = totalFileSize + obj.size;\r\n totalFileSizeInMB = (totalFileSize / 1024 / 1024).toFixed(2);\r\n fileSizeInKB = Math.round(obj.size / 1024); // converted bytes(incoming file size) to KB.\r\n // 1024kb = 1MB\r\n let fileSizeInMB = Math.round(obj.size / 1024 / 1024);\r\n let fileSizeInMBFixTo2Decimal = fileSizeInMB.toFixed(2);\r\n return fileSizeInKB >= 1024\r\n ? `${fileSizeInMBFixTo2Decimal}MB`\r\n : `${fileSizeInKB}KB`;\r\n });\r\n\r\n if (\r\n parseFloat(fileSizeInKB) === 0.0 ||\r\n parseFloat(totalFileSizeInMB) > parseFloat(fileSize5MB)\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n encryptValue(value: any, isEncrypt: boolean = true): any {\r\n let response: any;\r\n if (value != null && value != \"\") {\r\n let pwd = \"HCPRODUCT#!_2018@\";\r\n let bytes: any;\r\n if (isEncrypt) {\r\n bytes = utf8.encode(value.toString());\r\n response = base64.encode(bytes);\r\n //response = CryptoJS.AES.encrypt(JSON.stringify(value), pwd);\r\n } else {\r\n bytes = base64.decode(value);\r\n response = utf8.decode(bytes);\r\n // const bytes = CryptoJS.AES.decrypt(value, pwd);\r\n // if (bytes.toString()) {\r\n // response= JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\r\n // }\r\n // response = CryptoJS.AES.decrypt(value, pwd);//.toString(CryptoJS.enc.Utf8);\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n const returnObj = {};\r\n const loginData: LoginUser = this.loginUserSubject.value;\r\n // console.log(\"All user permission\",loginData.userPermission.modulePermissions) \r\n if (loginData.userPermission) {\r\n const modules = loginData.userPermission.modulePermissions || [],\r\n screens = loginData.userPermission.screenPermissions || [],\r\n actions = loginData.userPermission.actionPermissions || [],\r\n userRoleName =\r\n loginData.data.users3 && loginData.data.users3.userRoles.userType,\r\n isAdminLogin = (userRoleName || \"\").toUpperCase() === \"ADMIN\";\r\n\r\n const moduleobj = modules.find((obj) => obj.moduleKey == moduleName);\r\n const screenObj = screens.find(\r\n (obj) =>\r\n obj.screenKey == screenName &&\r\n obj.moduleId == (moduleobj && moduleobj.moduleId)\r\n );\r\n\r\n const actionPermissions =\r\n actions.filter(\r\n (obj) => obj.screenId == (screenObj && screenObj.screenId)\r\n ) || [];\r\n\r\n actionPermissions.forEach((obj) => {\r\n returnObj[obj.actionKey] = obj.permission || isAdminLogin;\r\n });\r\n }\r\n return returnObj;\r\n }\r\n getProfileUpdated(staffId: number): Observable {\r\n return this.getById(this.checkStaffProfile + staffId, null, false);\r\n }\r\n isProfileUpdated(staffId: number) {\r\n if (staffId !== null || staffId !== undefined) {\r\n this.getProfileUpdated(staffId).subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.setIsProfileComplete(res.data as ProfileSetupModel);\r\n } else {\r\n let profile = new ProfileSetupModel();\r\n this.setIsProfileComplete(profile);\r\n }\r\n });\r\n }\r\n\r\n return false;\r\n }\r\n\r\n isRoutePermission(routeName: string): boolean {\r\n //this.isProfileUpdated(this.loginUserSubject.value.data.id);\r\n var changedRouteName = routeName.replace(\"/web\", \"\");\r\n if (routeName.indexOf(\"webadmin\") > -1) {\r\n changedRouteName = routeName.replace(\"/webadmin\", \"\");\r\n }\r\n if (changedRouteName.length) {\r\n const index = changedRouteName.indexOf(\"?\");\r\n changedRouteName = changedRouteName.substring(\r\n 0,\r\n index != -1 ? index : changedRouteName.length\r\n );\r\n }\r\n let permission = false;\r\n // Added Exception as per discussoon with Rishi- User Can Add/Edit his profile without Role permission.\r\n if (changedRouteName == \"/manage-users/user-profile\") {\r\n permission = true;\r\n return permission;\r\n }\r\n const loginData: LoginUser = this.loginUserSubject.value,\r\n userRoleName =\r\n loginData.data &&\r\n loginData.data.users3 &&\r\n loginData.data.users3.userRoles.userType;\r\n if (\r\n loginData.userPermission &&\r\n ((userRoleName || \"\").toUpperCase() == \"STAFF\" ||\r\n (userRoleName || \"\").toUpperCase() == \"PROVIDER\" ||\r\n (userRoleName || \"\").toUpperCase() == \"RADIOLOGY\" ||\r\n (userRoleName || \"\").toUpperCase() == \"LAB\" ||\r\n (userRoleName || \"\").toUpperCase() == \"PHARMACY\" ||\r\n (userRoleName || \"\").toUpperCase() == \"ADMIN\")\r\n ) {\r\n const modules = loginData.userPermission.modulePermissions || [],\r\n screens = loginData.userPermission.screenPermissions || [],\r\n isAdminLogin = (userRoleName || \"\").toUpperCase() == \"ADMIN\";\r\n\r\n const moduleobj = modules.find(\r\n (obj) => obj.navigationLink == changedRouteName\r\n );\r\n if (moduleobj) {\r\n permission = moduleobj.permission || isAdminLogin;\r\n } else {\r\n // routing changes due to some conditions ....\r\n if (changedRouteName.includes(\"/Masters\"))\r\n changedRouteName = changedRouteName.replace(\"/Masters\", \"\");\r\n if (changedRouteName.includes(\"/manage-users\"))\r\n changedRouteName = changedRouteName.replace(\"/manage-users\", \"\");\r\n if (changedRouteName.includes(\"/payment\"))\r\n changedRouteName = changedRouteName.replace(\"/payment\", \"\");\r\n if (changedRouteName.includes(\"/Billing\"))\r\n changedRouteName = changedRouteName.replace(\"/Billing\", \"\");\r\n if (changedRouteName.includes(\"/Logs\"))\r\n changedRouteName = changedRouteName.replace(\"/Logs\", \"\");\r\n\r\n const screenObj = screens.find(\r\n (obj) => obj.navigationLink == changedRouteName\r\n );\r\n permission = (screenObj && screenObj.permission) || isAdminLogin;\r\n }\r\n\r\n if (changedRouteName == \"/user\" && !permission) {\r\n const encryptId = decodeURIComponent(routeName).replace(\r\n \"/web/manage-users/user?id=\",\r\n \"\"\r\n ),\r\n decUserId =\r\n encryptId &&\r\n !encryptId.includes(\"/web/manage-users/user\") &&\r\n this.encryptValue(encryptId, false);\r\n permission = true;\r\n }\r\n\r\n if (changedRouteName == \"/adduser\" && !permission) {\r\n const encryptId = decodeURIComponent(routeName).replace(\r\n \"/web/manage-users/adduser?id=\",\r\n \"\"\r\n ),\r\n decUserId =\r\n encryptId &&\r\n !encryptId.includes(\"/web/manage-users/adduser\") &&\r\n this.encryptValue(encryptId, false);\r\n permission = true;\r\n }\r\n }\r\n\r\n return permission;\r\n }\r\n stDate: Date;\r\n edDate: Date;\r\n checkAvailablityofCallTime(startDateTime: string, endDateTime: string) {\r\n let currentDate = new Date();\r\n this.stDate = new Date(startDateTime);\r\n // this.stDate = new Date(\r\n // this.stDate.setMinutes(this.stDate.getMinutes() - 10)\r\n // );\r\n this.edDate = new Date(endDateTime);\r\n let apptDuration = this.diff_minutes(this.edDate, this.stDate);\r\n let currDuration = this.diff_minutes(currentDate, this.stDate);\r\n // console.log(\"apptDuration currDuration \", apptDuration, currDuration);\r\n if (currDuration > 0 && apptDuration >= currDuration) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n diff_minutes(dt2, dt1) {\r\n var diff = (dt2.getTime() - dt1.getTime()) / 1000;\r\n diff /= 60;\r\n return Math.round(diff);\r\n }\r\n isRoutePermissionForClient(routeName: string): boolean {\r\n routeName = routeName.replace(\"/web\", \"\");\r\n if (routeName.length) {\r\n const index = routeName.indexOf(\"?\");\r\n routeName = routeName.substring(\r\n 0,\r\n index != -1 ? index : routeName.length\r\n );\r\n }\r\n if (routeName == \"admin/client/my-profile\") {\r\n return true;\r\n }\r\n let permission = false;\r\n const loginData: LoginUser = this.loginUserSubject.value,\r\n userRoleName =\r\n loginData.data &&\r\n loginData.data.users3 &&\r\n loginData.data.users3.userRoles.userType;\r\n const roles = [\"CLIENT\", \"LAB\", \"PHARMACY\"];\r\n if (\r\n !loginData.userPermission &&\r\n roles.includes((userRoleName || \"\").toUpperCase())\r\n ) {\r\n const screens = [\r\n { navigationLink: \"/client/dashboard\", permission: true },\r\n { navigationLink: \"/client/raiseticket\", permission: true },\r\n { navigationLink: \"/client/my-scheduling\", permission: true },\r\n // { navigationLink: \"/client/payment-history\", permission: true },\r\n // { navigationLink: \"/client/refund-history\", permission: true },\r\n { navigationLink: \"/client/payment\", permission: true },\r\n { navigationLink: \"/client/payment/payment-history\", permission: true },\r\n { navigationLink: \"/client/payment/refund-history\", permission: true },\r\n { navigationLink: \"/client/payment/card-history\", permission: true },\r\n { navigationLink: \"/client/my-profile\", permission: true },\r\n { navigationLink: \"/client/my-care-library\", permission: true },\r\n { navigationLink: \"/client/waiting-room\", permission: true },\r\n { navigationLink: \"/client/history\", permission: true },\r\n {\r\n navigationLink: \"/client/history/my-family-history\",\r\n permission: true,\r\n },\r\n {\r\n navigationLink: \"/client/history/my-social-history\",\r\n permission: true,\r\n },\r\n //{ navigationLink: \"/client/my-family-history\", permission: true },\r\n //{ navigationLink: \"/client/my-social-history\", permission: true },\r\n { navigationLink: \"/client/my-vitals\", permission: true },\r\n { navigationLink: \"/client/my-documents\", permission: true },\r\n { navigationLink: \"/client/mailbox\", permission: true },\r\n { navigationLink: \"/client/assigned-documents\", permission: true },\r\n { navigationLink: \"/client/soap-note\", permission: true },\r\n { navigationLink: \"/client/client-profile\", permission: true },\r\n { navigationLink: \"/client/address\", permission: true },\r\n { navigationLink: \"/client/review-rating\", permission: true },\r\n { navigationLink: \"/client/review-ratingList\", permission: true },\r\n { navigationLink: \"/client/symptom-checker\", permission: true },\r\n ];\r\n\r\n const screenObj = screens.find((obj) => obj.navigationLink == routeName);\r\n permission = screenObj && screenObj.permission;\r\n }\r\n return permission;\r\n }\r\n\r\n parseStringToHTML(str) {\r\n var dom = document.createElement(\"div\");\r\n dom.innerHTML = str;\r\n return dom.firstChild;\r\n }\r\n\r\n profileMatTabValChange(data: any) {\r\n //passing the data as the next observable\r\n this.profileMatChngTabSubject.next(data);\r\n }\r\n}\r\n\r\nconst SystemIpAddress = new Promise((r) => {\r\n const w: any = window,\r\n a = new (w.RTCPeerConnection ||\r\n w.mozRTCPeerConnection ||\r\n w.webkitRTCPeerConnection)({ iceServers: [] }),\r\n b = () => { };\r\n a.createDataChannel(\"\");\r\n a.createOffer((c) => a.setLocalDescription(c, b, b), b);\r\n a.onicecandidate = (c) => {\r\n try {\r\n c.candidate.candidate\r\n .match(\r\n /([0-9]{1,3}(\\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g\r\n )\r\n .forEach(r);\r\n } catch (e) { }\r\n };\r\n});\r\n\r\nfunction calculateTimeZone(dateInput?: Date): string {\r\n var dateObject = dateInput || new Date(),\r\n dateString = dateObject + \"\",\r\n tzAbbr: any =\r\n // Works for the majority of modern browsers\r\n dateString.match(/\\(([^\\)]+)\\)$/) ||\r\n // IE outputs date strings in a different format:\r\n dateString.match(/([A-Z]+) [\\d]{4}$/);\r\n\r\n if (tzAbbr) {\r\n // Old Firefox uses the long timezone name (e.g., \"Central\r\n // Daylight Time\" instead of \"CDT\")\r\n tzAbbr = tzAbbr[1];\r\n }\r\n return tzAbbr;\r\n}","export * from './common.service';\r\nexport * from './layout.service';\r\n","import { Injectable } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material';\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n private sidenav: MatSidenav;\r\n private clientDrawer: MatSidenav;\r\n private providerSwitchDrawer: MatSidenav;\r\n\r\n\r\n public setSidenav(sidenav: MatSidenav) {\r\n this.sidenav = sidenav;\r\n }\r\n\r\n public setClientDrawer(clientDrawer: MatSidenav) {\r\n this.clientDrawer = clientDrawer;\r\n }\r\n\r\n public setProviderSwitchDrawer(providerSwitchDrawer: MatSidenav) {\r\n this.providerSwitchDrawer = providerSwitchDrawer;\r\n }\r\n\r\n public toggleClientDrawer(toggle?: boolean) {\r\n this.clientDrawer.toggle(toggle);\r\n }\r\n\r\n public toggleProviderSwitchDrawer(toggle?: boolean) {\r\n this.providerSwitchDrawer.toggle(toggle);\r\n }\r\n\r\n public toggleSideNav(toggle?: boolean) {\r\n this.sidenav.toggle(toggle);\r\n }\r\n\r\n public open() {\r\n return this.sidenav.open();\r\n }\r\n\r\n\r\n public close() {\r\n return this.sidenav.close();\r\n }\r\n\r\n public toggle(): void {\r\n this.sidenav.toggle();\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{\\\"manage_template\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter template name\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.masterCategoryName | translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_template_category\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n {{option.masterSubCategoryName}}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_template_subcategory\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\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, ViewChild, ElementRef, Inject } from '@angular/core';\r\nimport { FormioOptions, FormioHookOptions } from 'angular-formio';\r\nimport { TemplateService } from '../template.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CommonService } from '../../core/services';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { ErrorStateMatcher } from '@angular/material';\r\nimport { FormControl, FormGroupDirective, NgForm } from '@angular/forms';\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nexport class MyErrorStateMatcher implements ErrorStateMatcher {\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return (control && control.invalid);\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-form-builder',\r\n templateUrl: './form-builder.component.html',\r\n styleUrls: ['./form-builder.component.css']\r\n})\r\nexport class FormBuilderComponent implements OnInit {\r\n // @ViewChild('json') jsonElement?: ElementRef;\r\n public form: Object = {\r\n components: []\r\n };\r\n jsonFormData: Object;\r\n templateFormId: number = null;\r\n templateName: string = null;\r\n templateCategoryId: number = null;\r\n templateSubCategoryId: number = null\r\n masterTemplateCategory: Array = [];\r\n masterTemplateSubCategory: Array = [];\r\n formioOptions: FormioOptions = {\r\n disableAlerts: true,\r\n }\r\n submitted: boolean;\r\n matcher: any;\r\n UserRole: string;\r\n\r\n constructor(\r\n private templateService: TemplateService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n @Inject(DOCUMENT) private _document,\r\n private commonService: CommonService,\r\n private notifierService: NotifierService,\r\n private translate:TranslateService,\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.submitted = false;\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.templateFormId = params.id == undefined ? null : parseInt(this.commonService.encryptValue(params.id, false));\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (this.templateFormId) {\r\n this.templateService.getTemplateForm(this.templateFormId)\r\n .subscribe(\r\n response => {\r\n if (response.statusCode == 200) {\r\n this.form = JSON.parse(response.data.templateJson || '');\r\n this.templateName = response.data.templateName;\r\n this.templateCategoryId = response.data.templateCategoryId;\r\n this.templateSubCategoryId = response.data.templateSubCategoryId;\r\n if (this.templateSubCategoryId > 0)\r\n this.getMasterTemplateSubCategoryData(this.templateCategoryId)\r\n }\r\n })\r\n }\r\n this.getMasterTemplateCategoryData();\r\n this.UserRole = localStorage.getItem('UserRole');\r\n }\r\n \r\n onChange(event) {\r\n var card = document.getElementsByClassName(\"formio-component-multiple\");\r\n var boxes=document.getElementsByClassName(\"formio-component-selectboxes\");\r\n var radio=document.getElementsByClassName(\"formio-component-radio2\");\r\n //////;\r\n if(card!=null && (boxes.length>0 || radio.length>0))\r\n {\r\n card[0].setAttribute(\"style\", \"display:none!important;\");\r\n }\r\n else\r\n {\r\n card[0].setAttribute(\"style\", \"display:block!important;\");\r\n }\r\n // this.jsonElement.nativeElement.innerHTML = '';\r\n // this.jsonElement.nativeElement.appendChild(document.createTextNode(JSON.stringify(event.form, null, 4)));\r\n }\r\n\r\n SaveTemplateForm() {\r\n ;\r\n if (!this.templateName || !this.templateName.trim()) {\r\n this.matcher = new MyErrorStateMatcher();\r\n return null;\r\n }\r\n\r\n const jsonFormString = JSON.stringify(this.form);\r\n const postData = {\r\n id: this.templateFormId,\r\n templateName: this.templateName,\r\n templateJson: jsonFormString,\r\n templateCategoryId: this.templateCategoryId,\r\n templateSubCategoryId: this.templateSubCategoryId\r\n }\r\n this.submitted = true;\r\n this.templateService.saveTemplateForm(postData)\r\n .subscribe(\r\n response => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifierService.notify('success', response.message);\r\n\r\n if (!this.templateFormId && response.data.id) {\r\n const encryptId = this.commonService.encryptValue(response.data.id, true);\r\n if(this.UserRole!='PROVIDER')\r\n {\r\n this.router.navigate(['/webadmin/Masters/template/builder'], { queryParams: { id: encryptId } });\r\n }\r\n // else(this.UserRole==\"PROVIDER\")\r\n else\r\n {\r\n this.router.navigate(['/web/Masters/template/builder'], { queryParams: { id: encryptId } });\r\n }\r\n }\r\n }\r\n else {\r\n this.notifierService.notify('error', response.message);\r\n }\r\n }\r\n )\r\n }\r\n getMasterTemplateCategoryData() {\r\n this.templateService.getMasterCategoryTemplateForDD()\r\n .subscribe(\r\n (response: any) => {\r\n if (response.statusCode === 200) {\r\n this.masterTemplateCategory = response.data;\r\n } else {\r\n this.masterTemplateCategory = [];\r\n }\r\n });\r\n }\r\n getMasterTemplateSubCategoryData(masterCategoryId: number) {\r\n this.templateService.getMasterSubCategoryTemplateForDD(masterCategoryId)\r\n .subscribe(\r\n (response: any) => {\r\n if (response.statusCode === 200) {\r\n this.masterTemplateSubCategory = response.data;\r\n } else {\r\n this.masterTemplateSubCategory = [];\r\n }\r\n });\r\n }\r\n onMasterCategorySelect(event: any) {\r\n this.templateCategoryId = event.value\r\n this.getMasterTemplateSubCategoryData(this.templateCategoryId);\r\n }\r\n}\r\n","module.exports = \".search-button {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border: none;\\r\\n background-image: url(\\\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220%2C0%2C256%2C256%22 width%3D%2230px%22 height%3D%2230px%22%3E%3Cg fill-opacity%3D%220.23922%22 fill%3D%22%23000000%22 fill-rule%3D%22nonzero%22 stroke%3D%22none%22 stroke-width%3D%221%22 stroke-linecap%3D%22butt%22 stroke-linejoin%3D%22miter%22 stroke-miterlimit%3D%2210%22 stroke-dasharray%3D%22%22 stroke-dashoffset%3D%220%22 font-family%3D%22none%22 font-weight%3D%22none%22 font-size%3D%22none%22 text-anchor%3D%22none%22 style%3D%22mix-blend-mode%3A normal%22%3E%3Cg transform%3D%22scale(8.53333%2C8.53333)%22%3E%3Cpath d%3D%22M13%2C3c-5.511%2C0 -10%2C4.489 -10%2C10c0%2C5.511 4.489%2C10 10%2C10c2.39651%2C0 4.59738%2C-0.85101 6.32227%2C-2.26367l5.9707%2C5.9707c0.25082%2C0.26124 0.62327%2C0.36648 0.97371%2C0.27512c0.35044%2C-0.09136 0.62411%2C-0.36503 0.71547%2C-0.71547c0.09136%2C-0.35044 -0.01388%2C-0.72289 -0.27512%2C-0.97371l-5.9707%2C-5.9707c1.41266%2C-1.72488 2.26367%2C-3.92576 2.26367%2C-6.32227c0%2C-5.511 -4.489%2C-10 -10%2C-10zM13%2C5c4.43012%2C0 8%2C3.56988 8%2C8c0%2C4.43012 -3.56988%2C8 -8%2C8c-4.43012%2C0 -8%2C-3.56988 -8%2C-8c0%2C-4.43012 3.56988%2C-8 8%2C-8z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-position: center;\\r\\n background-size: 20px 20px;\\r\\n border-radius: 0 4px 4px 0;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n right: 10px;\\r\\n color: grey;\\r\\n top: 20px;\\r\\n}\\r\\n.pos button{\\r\\n background-color: transparent;\\r\\n}\\r\\n@media screen and (max-width:767px) {\\r\\n .audit_block_middle {\\r\\n flex-direction: column-reverse;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n

{{'manage_template'|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\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 { MatDialog } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { Subscription } from 'rxjs';\r\nimport { MasterTemplate } from '../template.model';\r\nimport { FilterModelCreatedBy, Metadata, ResponseModel } from '../../core/modals/common-model';\r\nimport { TemplateService } from '../template.service';\r\nimport { DialogService } from '../../../../shared/layout/dialog/dialog.service';\r\nimport { Router } from '@angular/router';\r\nimport { CommonService } from '../../core/services';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: 'app-template-listing',\r\n templateUrl: './template-listing.component.html',\r\n styleUrls: ['./template-listing.component.css']\r\n})\r\nexport class TemplateListingComponent implements OnInit {\r\n subscription: Subscription;\r\n masterTemplatesList: MasterTemplate[] = [];\r\n metaData: Metadata;\r\n displayedColumns: Array;\r\n commonColumns:Array;\r\n actionButtons: Array;\r\n\r\n searchText: string = \"\";\r\n filterModel: FilterModelCreatedBy;\r\n\r\n loading = false;\r\n addPermission: boolean = true;\r\n currentUser: any;\r\n UserRole:string;\r\n \r\n\r\n constructor(\r\n public activityModal: MatDialog,\r\n public templateService: TemplateService,\r\n private notifier: NotifierService,\r\n private dialogService: DialogService,\r\n private router: Router,\r\n private commonService: CommonService,\r\n private translate: TranslateService\r\n ) {\r\n this.metaData = new Metadata();\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n //const userType = 'Supderadmin';\r\n this.UserRole = localStorage.getItem('UserRole');\r\n\r\n this.displayedColumns = [\r\n { displayName: 'template_name', key: 'templateName', isSort: true, class: '', width: '25%' },\r\n { displayName: 'template_category', key: 'templateCategoryName', class: '', width: '25%' },\r\n { displayName: 'template_subcategory', key: 'templateSubCategoryName', class: '', width: '25%' },\r\n { displayName: \"Status\", key: \"status\", class: '', width: \"10%\" },\r\n { displayName: 'Show to Provider', key: 'providerAccess', type: 'togglespan', class: '', permission: true },\r\n { displayName: 'actions', key: 'Actions' }\r\n ];\r\n this.actionButtons = [\r\n { displayName: 'Edit', key: 'edit', class: 'fa fa-pencil' },\r\n { displayName: 'Delete', key: 'delete', class: 'fa fa-times' },\r\n ];\r\n//\r\n if(this.UserRole === 'PROVIDER'){\r\n //this.UserRole = localStorage.getItem('userRole');\r\n this.displayedColumns = this.displayedColumns.filter(col => col.key !== 'providerAccess');\r\n } \r\n}\r\n\r\n clearFilters() {\r\n this.searchText = '';\r\n this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, '');\r\n this.getListData();\r\n }\r\n\r\n openDialog(id?: number): void {\r\n // \r\n const encryptId = this.commonService.encryptValue(id, true);\r\n if(this.UserRole===\"PROVIDER\")\r\n {\r\n this.router.navigate(['/web/Masters/template/builder'], { queryParams: { id: encryptId } });\r\n }\r\n else\r\n {\r\n this.router.navigate(['/webadmin/Masters/template/builder'], { queryParams: { id: encryptId } });\r\n }}\r\n\r\n ngOnInit() {\r\n this.currentUser = localStorage.getItem(\"UserID\");\r\n this.filterModel = new FilterModelCreatedBy();\r\n this.filterModel.createdBy = this.currentUser;\r\n this.UserRole = localStorage.getItem('UserRole');\r\n\r\n this.getListData();\r\n }\r\n\r\n onPageOrSortChange(changeState?: any) {\r\n this.setPaginatorModel(changeState.pageNumber, changeState.pageSize, changeState.sort, changeState.order, this.filterModel.searchText);\r\n this.getListData();\r\n }\r\n\r\n applyFilter(searchText: string = '') {\r\n if (searchText.trim() === '' || searchText.trim().length >= 3) {\r\n this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, searchText);\r\n this.getListData();\r\n }\r\n }\r\n\r\n onTableActionClick(actionObj?: any) {\r\n\r\n // console.log(actionObj);\r\n const id = actionObj.data && actionObj.data.id;\r\n const name = actionObj.data && actionObj.data.name;\r\n const createdBy = actionObj.data && actionObj.data.createdBy; \r\n if (createdBy === 1 && this.UserRole === 'PROVIDER') {\r\n this.notifier.notify(\"error\",\"You cannot edit or delete this item as it is added by SuperAdmin.\");\r\n return; // Prevent further action if createdBy is 1\r\n }\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case 'EDIT':\r\n this.openDialog(id);\r\n break;\r\n case 'DELETE':\r\n this.deleteDetails(id, name);\r\n break;\r\n case 'PROVIDERACCESS':\r\n this.onToggleAccept(actionObj);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n onToggleAccept(actionObj: any = null) {\r\n /// \r\n // console.log(actionObj)\r\n const data = actionObj.data;\r\n if(actionObj.state==true){\r\n data.providerAccess=true\r\n }\r\n else{\r\n data.providerAccess=false\r\n }\r\n // const templateToUpdate = new MasterTemplate();\r\n // templateToUpdate.id = data.id;\r\n // templateToUpdate.state = !data.state; // Toggle the current state\r\n // if(templateToUpdate.state==true){\r\n // data.providerAccess=true;\r\n // }\r\n\r\n this.templateService.UpdateTemplateIsApproveStatus(data).subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getListData();\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n getListData() {\r\n //\r\n this.templateService.getMasterTemplates(this.filterModel).subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n response.data.forEach(ele => {\r\n ele.status = ele.isActive ? \"Active\" : \"Inactive\";\r\n });\r\n // \r\n this.masterTemplatesList = response.data;\r\n this.metaData = response.meta;\r\n } else {\r\n this.masterTemplatesList = [];\r\n this.metaData = new Metadata();\r\n }\r\n this.metaData.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n\r\n deleteDetails(id: number, name: string) {\r\n this.dialogService.confirm(`Are you sure you want to delete this template?`).subscribe((result: any) => {\r\n if (result === true) {\r\n this.templateService.deleteTemplate(id).subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify('success', response.message);\r\n this.getListData();\r\n } else if (response.statusCode === 401) {\r\n this.notifier.notify('warning', response.message);\r\n } else {\r\n this.notifier.notify('error', response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string, searchText: string) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n this.filterModel.createdBy = this.currentUser;\r\n this.metaData.pageSize = pageSize;\r\n this.metaData.currentPage = pageNumber;\r\n this.metaData.defaultPageSize = 5;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonService } from '../core/services';\r\nimport { Observable } from 'rxjs';\r\nimport { MasterTemplate } from './template.model';\r\n\r\nconst getQueryParamsFromObject = (filterModal: object): string => {\r\n let queryParams = '';\r\n let index = 0;\r\n for (const key of Object.keys(filterModal)) {\r\n if (index === 0)\r\n queryParams += `?${key}=${filterModal[key]}`;\r\n else\r\n queryParams += `&${key}=${filterModal[key]}`;\r\n\r\n index++;\r\n }\r\n return queryParams;\r\n}\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TemplateService {\r\n getMasterDataURL = 'api/MasterData/MasterDataByName';\r\n GetMasterTemplatesURL = 'MasterTemplates/GetMasterTemplates';\r\n GetTemplateByIdURL = 'MasterTemplates/GetMasterTemplateById';\r\n SaveTemplateURL = 'MasterTemplates/SaveMasterTemplate';\r\n DeleteTemplateByIdURL = 'MasterTemplates/DeleteMasterTemplate';\r\n getMasterCategoryTemplateForDDURL = 'MasterTemplates/GetMasterTemplatesCategoryForDD';\r\n getMasterSubCategoryTemplateForDDURL = 'MasterTemplates/GetMasterTemplatesSubCategoryForDD';\r\n UpdateTemplateIsApproveStatusURL='MasterTemplates/UpdateTemplateIsApproveStatus';\r\n\r\n\r\n constructor(private commonService: CommonService) { }\r\n getMasterData(masterData: any): Observable {\r\n return this.commonService.post(this.getMasterDataURL, masterData);\r\n }\r\n\r\n UpdateTemplateIsApproveStatus(templatemodel:MasterTemplate) {\r\n return this.commonService.post(this.UpdateTemplateIsApproveStatusURL,templatemodel);\r\n }\r\n\r\n getMasterTemplates(filters: any) {\r\n const queryParams = getQueryParamsFromObject(filters);\r\n return this.commonService.getAll(this.GetMasterTemplatesURL + queryParams, {});\r\n }\r\n getMasterCategoryTemplateForDD() {\r\n return this.commonService.getAll(this.getMasterCategoryTemplateForDDURL, {});\r\n }\r\n\r\n getMasterSubCategoryTemplateForDD(masterCategoryId: any) {\r\n const queryParams = `?masterTemplateCategoryId=${masterCategoryId}`;\r\n return this.commonService.getAll(this.getMasterSubCategoryTemplateForDDURL + queryParams, {});\r\n }\r\n\r\n\r\n saveTemplateForm(JsonForm: any) {\r\n return this.commonService.post(this.SaveTemplateURL, JsonForm);\r\n }\r\n\r\n getTemplateForm(id: number) {\r\n const queryParams = `?id=${id}`;\r\n return this.commonService.getById(this.GetTemplateByIdURL + queryParams, {});\r\n }\r\n\r\n deleteTemplate(id: number) {\r\n const queryParams = `?id=${id}`;\r\n return this.commonService.post(this.DeleteTemplateByIdURL + queryParams, {});\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { CommonService } from \"../core/services/common.service\";\r\nimport { LabPaymentModel } from \"./lab.model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LabService {\r\n private GetLabAppointmentUrl = \"Labs/GetLabAppointment\";\r\n private GetLAB_DashboardDetailsUrl = \"Labs/GetLAB_DashboardDetails\";\r\n private GetFilterLabAppointmentUrl = \"Labs/GetFilterLabAppointment\";\r\n private CancelLabAppointmentUrl = \"Labs/CancelLabAppointment\";\r\n private ApproveLabAppointmentUrl = \"Labs/ApproveLabAppointment\";\r\n private GetLabProfileData = \"Labs/GetLabProfileData\";\r\n private GetlabByIdUrl = \"Labs/GetLabById\";\r\n private GetRadiologyByIdURL = \"Radiology/GetRadiologyById\";\r\n private UpdateLabProfileUrl = \"Labs/UpdateLabProfile\";\r\n private UpdateRadiologyProfileUrl = \"Radiology/UpdateRadiologyProfile\";\r\n private UpdateRadiologyAddressUrl = \"Radiology/UpdateRadiologyAddress\";\r\n private DeleteRadiologyAddressUrl=\"Radiology/DeleteRadiologyAddress\";\r\n \r\n private UpdateLabAddressUrl = \"Labs/UpdateLabAddress\";\r\n private DeleteLabAddressUrl = \"Labs/DeleteLabAddress\";\r\n private UpdateLabTimeIntervalUr = \"Labs/UpdateLabTimeInterval\";\r\n private SaveUpdateAvailabilityLabUrl = \"Labs/SaveUpdateAvailabilityLab\";\r\n private GetLabClientUrl = \"Labs/GetLabClients\";\r\n private GetLabPaymentsUrl = \"Labs/GetLabPayments\";\r\n private UpdateLabsFeesAndRefundsSettingsUrl=\"Labs/UpdateLabsFeesAndRefundsSettings\";\r\n private GetLabsFeesAndRefundsSettingsUrl = \"Labs/GetLabsFeesAndRefundsSettings\";\r\n\r\n labAppointmentData: any;\r\n labDetails: any;\r\n\r\n constructor(private commonService: CommonService) {}\r\n\r\n UpdateLabProfile(data) {\r\n return this.commonService.post(this.UpdateLabProfileUrl, data);\r\n }\r\n\r\n UpdateRadiologyProfile(data) {\r\n return this.commonService.post(this.UpdateRadiologyProfileUrl, data);\r\n }\r\n UpdateLabAddress(data) {\r\n return this.commonService.post(this.UpdateLabAddressUrl, data);\r\n }\r\n UpdateRadiologyAddress(data) {\r\n return this.commonService.post(this.UpdateRadiologyAddressUrl, data);\r\n }\r\n UpdateTimeIntervalLab(data) {\r\n return this.commonService.post(this.UpdateLabTimeIntervalUr, data);\r\n }\r\n\r\n GetLabProfile(id) {\r\n return this.commonService.get(this.GetLabProfileData + `/${id}`);\r\n }\r\n GetLAB_DashboardDetails(data:any){\r\n return this.commonService.get(this.GetLAB_DashboardDetailsUrl + `?StaffID=${data.staffId}&TodaysDate=${data.todaysDate}&ThismonthStartDate=${data.thismonthStartDate}&ThismonthLastDate=${data.thismonthLastDate}&LastmonthStartDate=${data.lastmonthStartDate}&LastmonthLastDate=${data.lastmonthLastDate}`);\r\n }\r\n GetLabById(id) {\r\n return this.commonService.get(this.GetlabByIdUrl + `?Id=${id}`);\r\n }\r\n\r\n GetRadiologyById(id) {\r\n return this.commonService.get(this.GetRadiologyByIdURL + `?RadiologyId=${id}`);\r\n }\r\n\r\n GetLabAppointmentByLabId(labId, fromDate, toDate) {\r\n let url = `?labId=${labId}&fromDate=${fromDate}&toDate =${toDate}`;\r\n return this.commonService.get(this.GetLabAppointmentUrl + url);\r\n }\r\n GetFilterLabAppointmentByLabId(labId, status, fromDate, toDate, filters,bookingMode) {\r\n let url = `?labId=${labId}&status=${status}&fromDate=${fromDate}&toDate=${toDate}&pageNumber=${filters.pageNumber}&pageSize=${filters.pageSize}&sortColumn=${filters.sortColumn}&sortOrder=${filters.sortOrder}&searchText=${filters.searchText}&bookingModes=${bookingMode}`;\r\n return this.commonService.get(this.GetFilterLabAppointmentUrl + url);\r\n }\r\n cancelLabAppointment(data: any) {\r\n return this.commonService.post(this.CancelLabAppointmentUrl, data);\r\n }\r\n ApproveLabAppointment(data) {\r\n return this.commonService.post(\r\n this.ApproveLabAppointmentUrl + \"?appointmentId=\" + data,\r\n {}\r\n );\r\n }\r\n\r\n setLabDetails = (data: any) => {\r\n this.labDetails = data;\r\n };\r\n getLabDetails = () => {\r\n return this.labDetails;\r\n };\r\n\r\n setLabAppointmentDetails = (data) => {\r\n this.labAppointmentData = data;\r\n };\r\n getLabAppointmentDetails = () => {\r\n return this.labAppointmentData;\r\n };\r\n\r\n deleteLabAddress(data) {\r\n return this.commonService.post(this.DeleteLabAddressUrl, data);\r\n }\r\n deleteRadiologyAddress(id){\r\n return this.commonService.get(this.DeleteRadiologyAddressUrl +`?AddressId=${id}`);\r\n }\r\n\r\n saveUpdateLabAvailability(data: any) {\r\n return this.commonService.post(this.SaveUpdateAvailabilityLabUrl, data);\r\n }\r\n getLabClient = (data) => {\r\n let url = `?labId=${data.labId}&searchText=${data.searchText}&pageNumber=${data.pageNumber}&pageSize=${data.pageSize}&sortColumn=${data.sortColumn}&sortOrder=${data.sortOrder}`;\r\n return this.commonService.get(this.GetLabClientUrl + url);\r\n };\r\n\r\n getAppointmentPayments(postData: LabPaymentModel): Observable {\r\n return this.commonService.post(this.GetLabPaymentsUrl, postData, true);\r\n }\r\n\r\n updateLabFeeAndCancellationRules=(data)=>{\r\n return this.commonService.post(this.UpdateLabsFeesAndRefundsSettingsUrl,data);\r\n }\r\n getLabFeeAndCancellationRules=()=>{\r\n return this.commonService.get(this.GetLabsFeesAndRefundsSettingsUrl)\r\n }\r\n\r\n}\r\n","export class MessageCountModel {\r\n inboxCount: number=0;\r\n sentboxCount: number=0;\r\n favouriteMessageCount: number=0;\r\n deletedMessageCount: number=0;\r\n}\r\nexport class MessageModel{\r\n messageId: number;\r\n fromName: string;\r\n toName: string;\r\n toUserId:number;\r\n thumbnail: string;\r\n isStaff: boolean;\r\n subject: string;\r\n text: string;\r\n messageDate: string;\r\n unread: boolean;\r\n isFavourite: boolean;\r\n parentMessageId?: number;\r\n fromInbox: boolean;\r\n totalCount: number;\r\n totalRecords: number;\r\n title:string;\r\n forwardReply:string;\r\n fromUserId:number;\r\n isThreadType:boolean=false;\r\n isCheckBoxClicked:boolean=false\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../core/services\";\r\nimport { FilterModel } from \"../core/modals/common-model\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class MailboxService {\r\n private getMessageCountURL = \"api/Message/GetMessageCounts\";\r\n private getInboxMessagesURL =\"api/Message/GetInboxData\";\r\n private getSentMessagesURL =\"api/Message/GetSentMessageData\";\r\n private getDeletedMessagesURL =\"api/Message/GetDeleteMessageList\";\r\n private getFavouriteMessagesURL=\"api/Message/GetFavouriteMessageList\";\r\n private deleteSentMessagesURL=\"api/Message/DeleteSentMessage\";\r\n private deleteInboxMessagesURL=\"api/Message/DeleteInboxMessage\";\r\n private getThreadMessagesURL=\"api/Message/GetThreadMessages\";\r\n private getMessageByIdURL=\"api/Message/GetMessageById\";\r\n private replyMessageURL=\"api/Message/ReplyMessages\";\r\n private forwardMessageURL=\"api/Message/ForwardMessages\";\r\n private getUserListURL=\"api/Message/UsersDropDown\";\r\n private composeMessageURL=\"api/Message/Compose\";\r\n private setMessageAsFavouriteURL=\"api/Message/ChangeFavouriteMessageStatus\";\r\n \r\n\r\n constructor(private commonService: CommonService) {\r\n }\r\n\r\n getMessageCount(forStaff: boolean) {\r\n return this.commonService.getAll(this.getMessageCountURL+\"?forStaff=\"+forStaff, {});\r\n }\r\n getInboxMessages(id:number,forStaff:boolean,filterModel:FilterModel)\r\n {\r\n return this.commonService.getAll(this.getInboxMessagesURL+\"?id=\"+id+\"&forStaff=\"+forStaff+ \"&pageNumber=\"+filterModel.pageNumber+\"&pageSize=\"+filterModel.pageSize+\"&sortColumn=\"+filterModel.sortColumn+\"&sortOrder=\"+filterModel.sortOrder+\"&searchText=\"+filterModel.searchText, {});\r\n }\r\n getSentMessages(id:number,forStaff:boolean,filterModel:FilterModel)\r\n {\r\n return this.commonService.getAll(this.getSentMessagesURL+\"?id=\"+id+\"&forStaff=\"+forStaff+ \"&pageNumber=\"+filterModel.pageNumber+\"&pageSize=\"+filterModel.pageSize+\"&sortColumn=\"+filterModel.sortColumn+\"&sortOrder=\"+filterModel.sortOrder+\"&searchText=\"+filterModel.searchText, {});\r\n }\r\n getDeletedMessages(id:number,forStaff:boolean,filterModel:FilterModel)\r\n {\r\n return this.commonService.getAll(this.getDeletedMessagesURL+\"?id=\"+id+\"&forStaff=\"+forStaff+ \"&pageNumber=\"+filterModel.pageNumber+\"&pageSize=\"+filterModel.pageSize+\"&sortColumn=\"+filterModel.sortColumn+\"&sortOrder=\"+filterModel.sortOrder+\"&searchText=\"+filterModel.searchText, {});\r\n }\r\n getFavouriteMessages(id:number,forStaff:boolean,filterModel:FilterModel)\r\n {\r\n return this.commonService.getAll(this.getFavouriteMessagesURL+\"?id=\"+id+\"&forStaff=\"+forStaff+ \"&pageNumber=\"+filterModel.pageNumber+\"&pageSize=\"+filterModel.pageSize+\"&sortColumn=\"+filterModel.sortColumn+\"&sortOrder=\"+filterModel.sortOrder+\"&searchText=\"+filterModel.searchText, {});\r\n }\r\n getThreadMessage(id:number,forStaff:boolean)\r\n {\r\n return this.commonService.getAll(this.getThreadMessagesURL+\"?parentMessageId=\"+id+\"&forStaff=\"+forStaff, {});\r\n }\r\n getMessageById(id:number)\r\n {\r\n return this.commonService.getById(this.getMessageByIdURL+\"?MessageId=\"+id, {});\r\n }\r\n replyMessage(id:number)\r\n {\r\n return this.commonService.getById(this.replyMessageURL+\"?MessageId=\"+id, {});\r\n }\r\n forwardMessage(id:number)\r\n {\r\n return this.commonService.getById(this.forwardMessageURL+\"?MessageId=\"+id, {});\r\n }\r\n \r\n getUserList(forStaff:boolean,searchText:string='')\r\n {\r\n return this.commonService.getAll(this.getUserListURL+\"?isStaff=\"+forStaff +\"&searchText=\"+searchText, {},false)\r\n .pipe(map(x=>{\r\n return x.data;\r\n }));\r\n }\r\n \r\n composeMessage(data:any)\r\n {\r\n return this.commonService.post(this.composeMessageURL, data);\r\n }\r\n setMessageAsFavourite(id:number,fromInbox:boolean,isFavourite)\r\n {\r\n return this.commonService.post(this.setMessageAsFavouriteURL+\"?MessageId=\"+id+\"&FromInbox=\"+fromInbox+\"&IsFavourite=\"+isFavourite, {});\r\n }\r\n\r\n deleteSentMessages(ids:any)\r\n {\r\n return this.commonService.post(this.deleteSentMessagesURL, ids);\r\n }\r\n deleteInboxMessages(ids:any)\r\n {\r\n return this.commonService.post(this.deleteInboxMessagesURL, ids);\r\n }\r\n}","import { Inject, Injectable } from \"@angular/core\";\r\nimport { HubConnection } from \"src/app/hubconnection.service\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport {\r\n CallInitModel,\r\n CallStatus,\r\n UrgentCareProviderActionInitModel,\r\n} from \"src/app/shared/models/callModel\";\r\nimport { ChatHistoryModel } from \"../agency-portal/clients/profile/chat-history.model\";\r\nimport { ChatInitModel } from \"src/app/shared/models/chatModel\";\r\nimport { TextChatService } from \"src/app/shared/text-chat/text-chat.service\";\r\nimport { CommonService } from \"../core/services\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { SaveDocumentComponent } from \"src/app/front/save-document/save-document.component\";\r\nimport { UrgentCareProviderActionComponent } from \"src/app/shared/urgentcare-provideraction/urgentcare-provideraction.component\";\r\nimport { PatientUrgentCareStatusComponent } from \"src/app/shared/patient-urgentcare-status/patient-urgentcare-status.component\";\r\nimport { CallNotificationComponent } from \"../../../shared/call-notification/call-notification.component\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class HubService {\r\n private hubConnection: HubConnection;\r\n appointmentId: number;\r\n isClientLogin: boolean;\r\n userRole: any;\r\n modalPopupEnd: any;\r\n constructor(\r\n private appService: AppService,\r\n private commonService: CommonService,\r\n private activateRoute: ActivatedRoute,\r\n private textChatService: TextChatService,\r\n private appointmentDailog: MatDialog //private dialogModalRef: MatDialogRef\r\n ) {\r\n this.hubConnection = new HubConnection();\r\n this.appointmentId = 0;\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n if (user.users3 && user.users3.userRoles) {\r\n this.userRole = (user.users3.userRoles.userType || \"\").toUpperCase();\r\n }\r\n this.isClientLogin = this.userRole == \"CLIENT\";\r\n }\r\n });\r\n }\r\n\r\n getModalPopUpEnd = () => {\r\n return this.modalPopupEnd;\r\n };\r\n setModalPopupEndUndefined = () => {\r\n this.modalPopupEnd = undefined;\r\n };\r\n createHubConnection(userId: number) {\r\n this.modalPopupEnd = undefined;\r\n // console.log(\"26 createhubconnection is called from hub service \");\r\n if (this.hubConnection) {\r\n var token = localStorage.getItem(\"business_token\");\r\n this.hubConnection.createHubConnection(token).then((response) => {\r\n this.hubConnection.getHubConnection().onclose(() => {\r\n this.ReconnectOnClose(userId);\r\n });\r\n\r\n this.hubConnection.ConnectWithBussinessToken(userId).then((res) => {\r\n this.getIncomingCallNotifications();\r\n this.getCallEndNotifications();\r\n this.getMessageNotifications();\r\n this.getIncomingUrgentCareProviderNotifications();\r\n this.getIncomingUrgentCarePatientNotifications();\r\n // console.log(\"Connection: connection id to server : \" + res);\r\n });\r\n });\r\n }\r\n }\r\n private ReconnectOnClose(userId: number) {\r\n setTimeout(() => {\r\n // console.log(\"27 reconnectonclose is called from hub service \");\r\n this.hubConnection.restartHubConnection().then(() => {\r\n this.hubConnection.ConnectWithBussinessToken(userId).then((res) => {\r\n this.getIncomingCallNotifications();\r\n this.getCallEndNotifications();\r\n this.getMessageNotifications();\r\n this.getIncomingUrgentCareProviderNotifications();\r\n this.getIncomingUrgentCarePatientNotifications();\r\n // console.log(\"Restart Connection: connection id to server : \" + res);\r\n // console.log('Restart Connection: user id sent to server : ' + fromUserId);\r\n });\r\n });\r\n }, 500);\r\n }\r\n getIncomingCallNotifications() {\r\n // console.log(\"28 getincomingcallnotification is called from hub service \");\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\r\n \"CallInitiated\",\r\n (\r\n appointmentId: number,\r\n fromUserId: number,\r\n toUserId: number,\r\n callerName: string\r\n ) => {\r\n // console.log(\"calllllllllalaININTATEEEEE..................\");\r\n this.appointmentDailog.closeAll();\r\n this.modalPopupEnd = undefined;\r\n let previousCallModel: CallInitModel = new CallInitModel();\r\n this.appService.call.subscribe((callInitModel: CallInitModel) => {\r\n previousCallModel = callInitModel;\r\n });\r\n // console.log(\r\n // \"Previous Call Initiated For Appointment Id : \",\r\n // previousCallModel.AppointmentId\r\n // );\r\n let callInitModel = new CallInitModel();\r\n callInitModel.CallStatus = CallStatus.Started;\r\n callInitModel.AppointmentId = appointmentId;\r\n callInitModel.CallerName = callerName;\r\n if (previousCallModel.AppointmentId != appointmentId) {\r\n // console.log(\"Call MOdel Changed : \", callInitModel);\r\n this.appService.CheckCallStarted(callInitModel);\r\n }\r\n }\r\n );\r\n }\r\n getCallEndNotifications() {\r\n // console.log(\"28 getendcallnotification is called from hub service \");\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\r\n \"CallEnd\",\r\n (\r\n appointmentId: number,\r\n fromUserId: number,\r\n toUserId: number,\r\n callerName: string,\r\n userType: string\r\n ) => {\r\n // console.log(\"CALL Ended in hub service : \");\r\n this.openEndCallActionDialog(callerName, userType);\r\n }\r\n );\r\n }\r\n // handleIncomingCall(appointmentId: number, userId: number) {\r\n // console.log(\"29 handleincomingcall is called from hub service \");\r\n // if (this.hubConnection.isConnected()) {\r\n // this.hubConnection\r\n // .getHubConnection()\r\n // .invoke(\"CallInitiate\", appointmentId, userId)\r\n // // .then(() => {\r\n // // this.getMessageNotifications();\r\n // // })\r\n // .catch((err) => console.error(err, \"Receive Incoming Call\"));\r\n // return appointmentId;\r\n // } else {\r\n // this.hubConnection.restartHubConnection().then(() => {\r\n // this.hubConnection\r\n // .getHubConnection()\r\n // .invoke(\"CallInitiate\", appointmentId, userId)\r\n // // .then(() => {\r\n // // this.getMessageNotifications();\r\n // // })\r\n // .catch((err) => console.error(err, \"Receive Incoming Call\"));\r\n // return appointmentId;\r\n // });\r\n // }\r\n // }\r\n openProviderActionDialog(appointmentId: number) {\r\n // console.log(\"29 openprovideractiondialog is called from hub service \");\r\n const modalPopup = this.appointmentDailog.open(\r\n UrgentCareProviderActionComponent,\r\n {\r\n hasBackdrop: true,\r\n data: appointmentId,\r\n width: \"60%\",\r\n }\r\n );\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n // if (result === \"SAVE\") this.fetchEvents();\r\n });\r\n }\r\n openEndCallActionDialog(callerName: string, userType: string) {\r\n // console.log(\"29 openendcallactiondialog is called from hub service \");\r\n // console.log(this.userRole);\r\n if (this.modalPopupEnd == undefined) {\r\n this.modalPopupEnd = this.appointmentDailog.open(\r\n CallNotificationComponent,\r\n {\r\n hasBackdrop: true,\r\n data: { callerName: callerName, userType: userType },\r\n width: \"60%\",\r\n }\r\n );\r\n this.modalPopupEnd.afterClosed().subscribe((result) => {\r\n // if (result === \"SAVE\") this.fetchEvents();\r\n });\r\n }\r\n }\r\n\r\n openPatientActionDialog() {\r\n // console.log(\"30 openpatientactiondialog is called from hub service \");\r\n const modalPopup = this.appointmentDailog.open(\r\n PatientUrgentCareStatusComponent,\r\n {\r\n hasBackdrop: true,\r\n //data: ,\r\n width: \"60%\",\r\n }\r\n );\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n // if (result === \"SAVE\") this.fetchEvents();\r\n });\r\n }\r\n\r\n // closeDialog(action: string): void {\r\n // this.dialogModalRef.close(action);\r\n // }\r\n\r\n getIncomingUrgentCareProviderNotifications() {\r\n // console.log(\"31 getincomingurgentcakk is called from hub service \");\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\r\n \"CallProviderUrgentCare\",\r\n (appointmentId: number, fromUserId: number, toUserId: number) => {\r\n //////;\r\n this.openProviderActionDialog(appointmentId);\r\n // let previousCallModel: UrgentCareProviderActionInitModel = new UrgentCareProviderActionInitModel();\r\n // this.appService.ProviderActioncall.subscribe((callInitModel: UrgentCareProviderActionInitModel) => {\r\n // previousCallModel = callInitModel;\r\n // });\r\n // console.log(\r\n // \"Previous Urgent Call Initiated For Appointment Id : \",\r\n // previousCallModel.AppointmentId\r\n // );\r\n // let callInitModel = new UrgentCareProviderActionInitModel();\r\n // // callInitModel.CallStatus = CallStatus.Started;\r\n // callInitModel.AppointmentId = appointmentId;\r\n\r\n // console.log(\"Call UrgentCare Model Changed : \", callInitModel);\r\n // this.appService.ProviderActioncallStarted(callInitModel);\r\n\r\n // console.log(\"Urgebt care Call Initiated For Appointment : \", appointmentId);\r\n\r\n //var callButton = document.getElementById(\"divCallButton\");\r\n //callButton.classList.add(\"active\");\r\n }\r\n );\r\n }\r\n\r\n getIncomingUrgentCarePatientNotifications() {\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\r\n \"CallPatientUrgentCare\",\r\n (appointmentId: number, fromUserId: number, toUserId: number) => {\r\n this.openPatientActionDialog();\r\n }\r\n );\r\n }\r\n\r\n getMessageNotifications() {\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\"ReceiveMessage\", (result, UserId, currentRoomId, appointmentId) => {\r\n // console.log(\"message from server\", result, currentRoomId);\r\n //hub service // if call is in progress and if someone send msg then chat window open automaticaly\r\n if (appointmentId > 0) {\r\n this.appointmentId = appointmentId;\r\n this.openChatRoom(this.appointmentId);\r\n }\r\n //\r\n if (\r\n currentRoomId == 0 //this.currentRoomId\r\n ) {\r\n result.forEach((element) => {\r\n var currentDate = new Date();\r\n const messageObj: ChatHistoryModel = {\r\n message: element.message,\r\n isRecieved:\r\n element.isRecieved != undefined ? element.isRecieved : true,\r\n chatDate: currentDate.toString(),\r\n fromUserId: UserId,\r\n fileType: element.fileType,\r\n messageType: element.messageType,\r\n };\r\n // this.allMessageArray.push(messageObj);\r\n // this.scrollbarRef.scrollToBottom(1000);\r\n // console.log(this.allMessageArray);\r\n });\r\n }\r\n });\r\n }\r\n openChatRoom(appointmentId: number) {\r\n // this.commonService.currentLoginUserInfo.subscribe((response: any) => {\r\n //if (!localStorage.getItem(\"access_token\")) {\r\n if (localStorage.getItem(\"access_token\")) {\r\n var chatInitModel = new ChatInitModel();\r\n chatInitModel.isActive = true;\r\n chatInitModel.AppointmentId = appointmentId;\r\n //chatInitModel.UserId = response.userID;\r\n chatInitModel.UserId = JSON.parse(localStorage.getItem(\"UserId\")) || \"\";\r\n chatInitModel.UserRole = localStorage.getItem(\"UserRole\") || \"\";\r\n // if(this.isClientLogin){\r\n // //chatInitModel.UserRole = response.users3.userRoles.userType;\r\n // }else{\r\n // chatInitModel.UserRole = response.userRoles.userType;\r\n }\r\n //chatInitModel.UserRole = response.data.userRoles.userType;\r\n this.appService.CheckChatActivated(chatInitModel);\r\n //\r\n this.textChatService.setAppointmentDetail(\r\n chatInitModel.AppointmentId,\r\n chatInitModel.UserRole\r\n );\r\n //\r\n this.textChatService.setRoomDetail(\r\n chatInitModel.UserId,\r\n chatInitModel.AppointmentId\r\n );\r\n\r\n //});\r\n }\r\n}\r\n","module.exports = \".mat-input-element:disabled {\\r\\n color: black;\\r\\n}\\r\\n\\r\\n/* .scroll-box{\\r\\n overflow-y: auto;\\r\\n max-height: 400px;\\r\\n} */\\r\\n\\r\\n.inputNameCursor:hover {\\r\\n cursor: pointer;\\r\\n color: #17a2b8;\\r\\n}\\r\\n\\r\\n.imgboxhover {\\r\\n box-shadow:0 4px 24px rgba(1, 47, 50, 0.592);\\r\\n}\\r\\n\\r\\n.crsr-ptr {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.close.mat-button {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n right: 0;\\r\\n padding: 5px;\\r\\n line-height: 35px;\\r\\n width: 48px;\\r\\n color: #fff;\\r\\n opacity: 1;\\r\\n min-width: auto;\\r\\n}\\r\\n\\r\\n/* .otheraptslots{\\r\\n background-color: rgb(147, 238, 147);\\r\\n padding: 10px;\\r\\n border-radius: 40%;\\r\\n line-height: 25px;\\r\\n white-space: nowrap;\\r\\n \\r\\n}\\r\\n.slot-block .otheraptslots{\\r\\n border-radius: 10px;\\r\\n font-size: 16px;\\r\\n padding: 6px 12px;\\r\\n} */\\r\\n\\r\\n.otherappts-txt {\\r\\n\\r\\n display: inline-block;\\r\\n min-width: 10px;\\r\\n line-height: 1;\\r\\n color: white;\\r\\n text-align: center;\\r\\n white-space: nowrap;\\r\\n vertical-align: middle;\\r\\n border-radius: 6px;\\r\\n font-size: 11px !important;\\r\\n border: 0px !important;\\r\\n /* color: #000000 !important; */\\r\\n font-weight: 500 !important;\\r\\n margin-top: 5px !important;\\r\\n margin-left: 5px !important;\\r\\n padding: 15px !important;\\r\\n\\r\\n\\r\\n}\\r\\n\\r\\n.oddCellColor {\\r\\n background-color: #00a2b6 !important;\\r\\n}\\r\\n\\r\\n.evenCellColor {\\r\\n background-color: #00375d !important;\\r\\n}\\r\\n\\r\\n.readmin-form h2 {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.chat-btn:hover{\\r\\n background-color: #00bec7;\\r\\n border-color: #00bec7;\\r\\n}\\r\\n\\r\\n.wtn-btn:hover{\\r\\n background-color: #01385f;\\r\\n border-color: #01385f;\\r\\n}\\r\\n\\r\\n.apnt-btn-prmy{\\r\\n font-size: 12px !important;\\r\\n /* padding: 0.175rem 0.75rem; */\\r\\n border-radius: 0.35rem;\\r\\n}\\r\\n\\r\\n.apnt-btn-prmy .material-icons{\\r\\n color:#fff !important;\\r\\n font-size: 20px !important;\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.apnt-btn-scndry{\\r\\n font-size: 12px !important;\\r\\n /* padding: 0.175rem 0.75rem; */\\r\\n border-radius: 0.35rem;\\r\\n color: #00375d;\\r\\n border-color: #00375d;\\r\\n}\\r\\n\\r\\n.apnt-btn-scndry .material-icons{\\r\\n color:#00375d !important;\\r\\n font-size: 20px !important;\\r\\n margin-right: 5px;\\r\\n}\\r\\n\\r\\n.apnt-btn-scndry:hover{\\r\\n background-color: rgba(3, 189, 202, 0.1);\\r\\n border-color: rgba(3, 189, 202, 0.1);\\r\\n\\r\\n}\\r\\n\\r\\n.apnt-btn-prmy:hover{\\r\\n background-color: #17a2b8;\\r\\n border-color: #17a2b8;\\r\\n}\\r\\n\\r\\n.evenCellColor-count{\\r\\n text-align: center;\\r\\n background-color: #17a2b8 !important;\\r\\n margin:1px;\\r\\n padding: 6px 10px;\\r\\n color: #fff;\\r\\n border-radius: 4px;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n/* #appointmentForm .imge{\\r\\n box-shadow: 0 24px 24px rgb(2 156 182 / 40%);\\r\\n} */\\r\\n\\r\\n#appointmentForm .imge:hover{\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n.otherappointment .child{\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n}\\r\\n\\r\\n.border-side {\\r\\n border-right: 1px gray solid;\\r\\n}\\r\\n\\r\\n@media screen and (max-width:991px) {\\r\\n .border-side {\\r\\n border-right: none;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n

\\r\\n {{\\\"appointment_details\\\"|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\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\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n {{\\r\\n slotDateTime(app.startDateTime) +\\r\\n \\\" - \\\" +\\r\\n slotDateTime(app.endDateTime)\\r\\n }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Patient Document\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n \\r\\n {{tag.tag}}\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
    • \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.phone||''}}\\r\\n
    • \\r\\n
    • \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.email||''}}\\r\\n
    • \\r\\n
    • \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.address||''}}\\r\\n
    • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.primaryProvider||''}}\\r\\n -\\r\\n

    \\r\\n

    {{allergy.allergen||''}}\\r\\n

    \\r\\n

    \\r\\n {{\\\"no_allergies_found\\\"|translate}}

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Documents loading...

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

{{\\\"Upcoming Appointments\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\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, Inject } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { Meta } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport * as format from \"date-fns/format\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { DialogService } from \"src/app/shared/layout/dialog/dialog.service\";\r\nimport { ChatInitModel } from \"src/app/shared/models/chatModel\";\r\nimport { TextChatService } from \"src/app/shared/text-chat/text-chat.service\";\r\nimport { ResponseModel } from \"src/app/super-admin-portal/core/modals/common-model\";\r\nimport { ClientsService } from \"../../agency-portal/clients/clients.service\";\r\nimport { EncounterService } from \"../../agency-portal/encounter/encounter.service\";\r\nimport { UserDocumentModel } from \"../../agency-portal/users/users.model\";\r\nimport { Metadata } from \"../../core/modals/common-model\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { AppointmentModel } from \"../scheduler/scheduler.model\";\r\nimport { SchedulerService } from \"../scheduler/scheduler.service\";\r\nimport { ViewReportComponent } from \"./../../../../shared/view-report/view-report.component\";\r\nimport { ClientHeaderModel } from \"../../agency-portal/clients/client-header.model\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { SharedService } from \"src/app/shared/shared.service\";\r\nimport { tap } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"app-appointment-view\",\r\n templateUrl: \"./appointment-view.component.html\",\r\n styleUrls: [\"./appointment-view.component.css\"],\r\n})\r\nexport class AppointmentViewComponent implements OnInit {\r\n appointment: AppointmentModel;\r\n appointmentId: number;\r\n reportId: any;\r\n appointmentForm: FormGroup;\r\n showReport: boolean = false;\r\n otherAppointments: AppointmentModel[] = [];\r\n otherAppointmentsPersistence: AppointmentModel[] = [];\r\n currentLoginUserId: any;\r\n isAdminLogin = false;\r\n isProviderLogin = false;\r\n isClientLogin = false;\r\n selectedAppointments: number[];\r\n loading = false;\r\n isFirstLoad = true;\r\n isLoadingOtherAppointments = true;\r\n statusColors: Array;\r\n documentList: Array;\r\n isLoadingDocuments = true;\r\n isEnded: boolean;\r\n isStarted: boolean;\r\n isShowTimer: boolean;\r\n metaData: Metadata;\r\n allSoapNotes: Array;\r\n patientDiagnosisList: any = [];\r\n isAppoitmentCompleted: boolean = false;\r\n displayColumns: Array = [\r\n {\r\n displayName: \"document_title\",\r\n key: \"documentTitle\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"20%\",\r\n },\r\n {\r\n displayName: \"document_category\",\r\n key: \"documentTypeNameStaff\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"20%\",\r\n },\r\n {\r\n displayName: \"uploaded_date\",\r\n key: \"createdDate\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"20%\",\r\n },\r\n {\r\n displayName: \"expiration_date\",\r\n key: \"expiration\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"20%\",\r\n },\r\n { displayName: \"actions\", key: \"Actions\", class: \"\", width: \"20%\",},\r\n // {\r\n // displayName: \"Extension\",\r\n // type: \"img\",\r\n // key: \"extenstion\",\r\n // isSort: true,\r\n // class: \"\",\r\n // width: \"15%\",\r\n // },\r\n ];\r\n patientDiagnosisColumns = [\r\n {\r\n displayName: \"ICD Code\",\r\n key: \"code\",\r\n },\r\n {\r\n displayName: \"Diagnos With\",\r\n key: \"diagnosis\",\r\n },\r\n {\r\n displayName: \"Diagnos Date\",\r\n key: \"diagnosisDate\",\r\n },\r\n {\r\n displayName: \"Doctor Remark\",\r\n key: \"descriptions\",\r\n },\r\n \r\n ];\r\n\r\n actionButtons: Array = [\r\n { displayName: \"Download\", key: \"download\", class: \"fa fa-download\" },\r\n ];\r\n\r\n displayAppointmentColumns: Array = [\r\n {\r\n displayName: \"Provider Name\",\r\n key: \"providerName\",\r\n class: \"\",\r\n isSort: true,\r\n },\r\n {\r\n displayName: \"appointement_date\",\r\n key: \"appointmentDateTime\",\r\n class: \"\",\r\n isSort: true,\r\n type: \"date\",\r\n },\r\n {\r\n displayName: \"Appointement time\",\r\n key: \"startDateTime\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n ];\r\n clientHeaderModel: ClientHeaderModel;\r\n clientId: number;\r\n userData: any;\r\n appointmentList: any;\r\n staffId: any;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private schedulerService: SchedulerService,\r\n public dialogPopup: MatDialogRef,\r\n private commonService: CommonService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModal: MatDialog,\r\n private date: DatePipe,\r\n private clientService: ClientsService,\r\n private dialogService: DialogService,\r\n private notifier: NotifierService,\r\n private router: Router,\r\n private textChatService: TextChatService,\r\n private appService: AppService,\r\n private encounterService: EncounterService,\r\n private translate: TranslateService,\r\n private paymentService: SchedulerService,\r\n private datePipe: DatePipe,\r\n private _SharedService: SharedService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.appointmentId = data;\r\n this.metaData = new Metadata();\r\n this.statusColors = [\r\n { name: \"pending\", color: \"#74d9ff\" },\r\n { name: \"approved\", color: \"#93ee93\" },\r\n { name: \"cancelled\", color: \"#ff8484\" },\r\n { name: \"Accepted\", color: \"rgb(179, 236, 203)\" },\r\n { name: \"Tentative\", color: \"rgb(253, 209, 100)\" },\r\n ];\r\n\r\n this.clientHeaderModel = new ClientHeaderModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n this.userData = user;\r\n //console.log(user);\r\n // this.staffId = user.id ? user.id : 0;\r\n\r\n });\r\n this.initializeFormFields(this.appointment);\r\n // this.commonService.loadingState.subscribe(\r\n // (isloading: boolean) => {\r\n // this.loading = isloading;\r\n // }\r\n // );\r\n\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.currentLoginUserId = user.id;\r\n // console.log(\"popup user\", user)\r\n this.isAdminLogin =\r\n user.users3 &&\r\n user.users3.userRoles &&\r\n (user.users3.userRoles.userType || \"\").toUpperCase() == \"ADMIN\";\r\n\r\n this.isProviderLogin =\r\n user.users3 &&\r\n user.users3.userRoles &&\r\n (user.users3.userRoles.userType || \"\").toUpperCase() == \"PROVIDER\";\r\n\r\n this.isClientLogin =\r\n user.users3 &&\r\n user.users3.userRoles &&\r\n (user.users3.userRoles.userType || \"\").toUpperCase() == \"CLIENT\";\r\n this.selectedAppointments = [this.appointmentId];\r\n // console.log(\r\n // this.isAdminLogin,\r\n // this.isProviderLogin,\r\n // this.isClientLogin\r\n // );\r\n this.getAppointment(this.appointmentId);\r\n // this.getAppointmentListOfPatients(this.userData.id);\r\n }\r\n });\r\n }\r\n\r\n getAppointmentListOfPatients(patientId: number) {\r\n let role = \"Provider\";\r\n var data = {\r\n patientId: patientId,\r\n status: \"Approved\",\r\n pageNumber: 1,\r\n pageSize: 10,\r\n organizationId: this.userData.organizationID,\r\n role: role,\r\n staffIdss: this.staffId || 0\r\n };\r\n // console.log(data);\r\n\r\n this.paymentService\r\n .getAppointmentListForPatients(data)\r\n .subscribe((response) => {\r\n //console.log(\"upcoming appointment list\", response.data);\r\n if (response.statusCode == 200) {\r\n // console.log(this.appointmentId, response.data);\r\n this.appointmentList = response.data.map((x) => {\r\n x.startDateTime = this.datePipe.transform(\r\n new Date(x.startDateTime),\r\n \"HH:mm a\"\r\n );\r\n return x;\r\n });\r\n this.metaData = response.meta;\r\n } else {\r\n this.appointmentList = response.data;\r\n this.metaData = null;\r\n }\r\n\r\n this.appointmentList = this.appointmentList.filter(\r\n (a) => a.patientAppointmentId != this.appointmentId\r\n );\r\n if (this.metaData != null) {\r\n this.metaData.totalRecords != 0\r\n ? (this.metaData.totalRecords = this.metaData.totalRecords - 1)\r\n : this.metaData.totalRecords;\r\n this.metaData.totalPages != 0\r\n ? (this.metaData.totalPages = this.metaData.totalPages - 1)\r\n : this.metaData.totalPages;\r\n this.metaData.pageSizeOptions = [5, 10, 25, 50, 100];\r\n }\r\n });\r\n }\r\n\r\n getClientHeaderInfo() {\r\n this.clientService\r\n .getClientHeaderInfo(this.clientId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.clientHeaderModel = response.data;\r\n this.clientHeaderModel.patientBasicHeaderInfo != null\r\n ? (this.clientHeaderModel.patientBasicHeaderInfo.dob = format(\r\n this.clientHeaderModel.patientBasicHeaderInfo.dob,\r\n \"MM/DD/YYYY\"\r\n ))\r\n : \"\";\r\n const userId =\r\n this.clientHeaderModel.patientBasicHeaderInfo &&\r\n this.clientHeaderModel.patientBasicHeaderInfo.userId;\r\n this.clientService.updateClientNavigations(this.clientId, userId);\r\n }\r\n });\r\n }\r\n\r\n onNavigate() { }\r\n\r\n onNoClick(): void {\r\n this.dialogPopup.close();\r\n }\r\n\r\n initializeFormFields(appointment?: AppointmentModel) {\r\n appointment = appointment || new AppointmentModel();\r\n\r\n const configControls = {\r\n patientName: [appointment.patientName],\r\n dob: [\r\n appointment.patientInfoDetails == null ||\r\n appointment.patientInfoDetails.patientInfo == null ||\r\n appointment.patientInfoDetails.patientInfo.length == 0 ||\r\n !appointment.patientInfoDetails.patientInfo[0].dob\r\n ? undefined\r\n : format(appointment.patientInfoDetails.patientInfo[0].dob, \"DD/MM/YYYY\"),\r\n ],\r\n gender: [\r\n appointment.patientInfoDetails == null ||\r\n appointment.patientInfoDetails.patientInfo == null ||\r\n appointment.patientInfoDetails.patientInfo.length == 0\r\n ? undefined\r\n : appointment.patientInfoDetails.patientInfo[0].gender,\r\n ],\r\n email: [\r\n appointment.patientInfoDetails == null ||\r\n appointment.patientInfoDetails.patientInfo == null ||\r\n appointment.patientInfoDetails.patientInfo.length == 0\r\n ? undefined\r\n : appointment.patientInfoDetails.patientInfo[0].email,\r\n ],\r\n phone: [\r\n appointment.patientInfoDetails == null ||\r\n appointment.patientInfoDetails.patientInfo == null ||\r\n appointment.patientInfoDetails.patientInfo.length == 0\r\n ? undefined\r\n : appointment.patientInfoDetails.patientInfo[0].phone,\r\n ],\r\n patientPhotoThumbnailPath: [appointment.patientPhotoThumbnailPath],\r\n startDateTime: [\r\n appointment.startDateTime\r\n ? this.toDateTimeString(appointment.startDateTime)\r\n : undefined,\r\n ],\r\n endDateTime: [\r\n appointment.endDateTime\r\n ? this.toDateTimeString(appointment.endDateTime)\r\n : undefined,\r\n ],\r\n notes: [appointment.notes],\r\n isTelehealthAppointment: [appointment.isTelehealthAppointment],\r\n statusName: [appointment.statusName],\r\n isClientRequired: [appointment.isClientRequired],\r\n mode: [appointment.mode],\r\n type: [appointment.type],\r\n provider: [\r\n appointment.appointmentStaffs == null ||\r\n appointment.appointmentStaffs.length == 0\r\n ? undefined\r\n : appointment.appointmentStaffs[0].staffName,\r\n ],\r\n };\r\n this.appointmentForm = this.formBuilder.group(configControls);\r\n this.appointmentForm.disable();\r\n }\r\n\r\n // // this.appointmentForm.controls.statusName.setValue(await this._SharedService.transform(appointment.statusName))\r\n // // this.appointmentForm.controls.mode.setValue(await this._SharedService.transform(appointment.mode))\r\n // // this.appointmentForm.controls.type.setValue(await this._SharedService.transform(appointment.type))\r\n // }\r\n\r\n // get f() {\r\n // return this.appointmentForm.controls;\r\n // }\r\n\r\n onTableActionClick(event:any){\r\n this.getUserDocument(event.data);\r\n }\r\n\r\n showInfermedicaReport() {\r\n const modalPopup = this.dialogModal.open(ViewReportComponent, {\r\n hasBackdrop: true,\r\n data: this.reportId,\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => { });\r\n }\r\n isApproved: boolean = false;\r\n getAppointment(appointmentId) {\r\n this.getUserDocuments(appointmentId);\r\n this.loading = true;\r\n this.schedulerService\r\n .getAppointmentDetailsWithPatient(appointmentId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n //////;\r\n this.appointment = response.data;\r\n //////\r\n //console.log(\"appoitment\", this.appointment,);\r\n this.staffId = this.appointment.appointmentStaffs[0].staffId;\r\n this.isAppoitmentCompleted =\r\n response.data.statusName === \"Completed\" ? true : false;\r\n this.clientId = response.data.patientID;\r\n this.getClientHeaderInfo();\r\n this.getSoapNotes();\r\n if (new Date(this.appointment.endDateTime) < new Date()) {\r\n this.isEnded = true;\r\n } else if (new Date(this.appointment.startDateTime) < new Date()) {\r\n this.isStarted = true;\r\n } else {\r\n this.isShowTimer = true;\r\n }\r\n if (\r\n this.appointment.statusName == \"Pending\" ||\r\n this.appointment.statusName == \"Invited\" ||\r\n this.appointment.statusName == \"Expired\"\r\n )\r\n this.isApproved = false;\r\n else this.isApproved = true;\r\n\r\n if (response.data.reportId > 0) {\r\n this.showReport = true;\r\n this.reportId = response.data.reportId;\r\n }\r\n this.initializeFormFields(this.appointment);\r\n this.loading = false;\r\n\r\n this.getAppointmentListOfPatients(this.appointment.patientID);\r\n this.getPatientPreviousDiagnosis();\r\n // if (this.isFirstLoad) {\r\n // this.getAllAppointments(this.appointment.patientID);\r\n // this.getPatientPreviousDiagnosis();\r\n // } else {\r\n // if (\r\n // this.otherAppointmentsPersistence &&\r\n // this.otherAppointmentsPersistence.length > 1\r\n // ) {\r\n // this.filterOtherAppointments(appointmentId);\r\n // }\r\n // }\r\n }\r\n });\r\n }\r\n goToProfile = () => {\r\n this.dialogPopup.close(this.appointment.patientID);\r\n\r\n // this.router.navigate([\"web/client/profile\"], {\r\n // queryParams: {\r\n // id: this.commonService.encryptValue(this.appointment.patientID, true),\r\n // },\r\n // });\r\n };\r\n\r\n getSoapNotes = () => {\r\n this.encounterService\r\n .GetSoapNotesByPatientId(this.appointment.patientID)\r\n .subscribe((res) => {\r\n res.data.forEach((element) => {\r\n if (element.objective != null || element.subjective) {\r\n element.objective = element.objective.substring(0, 50);\r\n element.subjective = element.subjective.substring(0, 50);\r\n }\r\n });\r\n this.allSoapNotes = res.data;\r\n // console.log(this.allSoapNotes);\r\n });\r\n };\r\n\r\n getPatientPreviousDiagnosis = () => {\r\n this.encounterService\r\n .getPatientDiagnosis(this.appointment.patientID)\r\n .subscribe((res) => {\r\n res.data.map((item) => {\r\n item.diagnosisDate = format(item.diagnosisDate, \"MM-DD-YYYY\");\r\n });\r\n this.patientDiagnosisList = res.data;\r\n });\r\n };\r\n\r\n getAllAppointments(patientId) {\r\n const filterModal = {\r\n locationIds: [101],\r\n // fromDate: format(this.appointmentForm.value.startDateTime, \"YYYY-MM-DD\"),\r\n // toDate: format(this.appointmentForm.value.endDateTime, \"YYYY-MM-DD\"),\r\n staffIds: [this.appointment.appointmentStaffs[0].staffId],\r\n patientIds: [patientId],\r\n };\r\n this.schedulerService.getListData(filterModal).subscribe((response) => {\r\n this.isLoadingOtherAppointments = true;\r\n if (response.statusCode === 200) {\r\n this.isLoadingOtherAppointments = false;\r\n this.otherAppointments = response.data;\r\n this.otherAppointmentsPersistence = response.data;\r\n if (this.otherAppointments && this.otherAppointments.length > 0) {\r\n this.filterOtherAppointments(this.appointmentId);\r\n }\r\n }\r\n });\r\n }\r\n\r\n filterOtherAppointments(currentAppointmentId) {\r\n this.otherAppointments = [\r\n ...this.otherAppointmentsPersistence.filter(\r\n (x) => x.patientAppointmentId == currentAppointmentId\r\n ),\r\n ];\r\n this.otherAppointments.sort((a, b) => {\r\n return (\r\n new Date(b.startDateTime).valueOf() -\r\n new Date(a.startDateTime).valueOf()\r\n );\r\n });\r\n }\r\n\r\n onClose() {\r\n this.dialogPopup.close();\r\n }\r\n\r\n onOtherAppointmentClick(appointmentId) {\r\n this.selectedAppointments.push(appointmentId);\r\n this.appointmentId = appointmentId;\r\n this.filterOtherAppointments(appointmentId);\r\n this.getAppointment(appointmentId);\r\n }\r\n\r\n toDateTimeString(date, onlyDate = false) {\r\n return this.date.transform(\r\n new Date(date),\r\n onlyDate ? 'DD/MM/YYYY' : \"dd/MM/yyyy hh:mm a\"\r\n );\r\n }\r\n\r\n slotDateTime(date) {\r\n return this.date.transform(new Date(date), \"dd/MM hh:mm a\");\r\n }\r\n\r\n onBack() {\r\n this.selectedAppointments.pop();\r\n const previousAppointmentId =\r\n this.selectedAppointments[this.selectedAppointments.length - 1];\r\n this.appointmentId = previousAppointmentId;\r\n this.getAppointment(previousAppointmentId);\r\n }\r\n\r\n getBgColor(appointmentStatus): string {\r\n return this.statusColors.find(\r\n (x) => x.name.toLowerCase() == appointmentStatus.toLowerCase()\r\n ).color;\r\n }\r\n\r\n getBgClass(index: number): string {\r\n return index % 2 == 0 ? \"evenCellColor\" : \"oddCellColor\";\r\n }\r\n\r\n getUserDocuments(appyId) {\r\n console.log(appyId);\r\n console.log(\"getUserDocuments\")\r\n this.isLoadingDocuments = true;\r\n this.clientService\r\n .getPateintApptDocuments(appyId)\r\n .subscribe((response: ResponseModel) => {\r\n this.isLoadingDocuments = false;\r\n if (response != null) {\r\n this.documentList =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.documentList = Array.isArray(response.data)\r\n ? response.data.map((x) => {\r\n x.createdDate = this.datePipe.transform(\r\n new Date(x.createdDate),\r\n \"dd/MM/yyyy\"\r\n );\r\n x.expiration = this.datePipe.transform(\r\n new Date(x.expiration),\r\n \"dd/MM/yyyy\"\r\n );\r\n return x;\r\n })\r\n : [];\r\n }\r\n });\r\n }\r\n\r\n getUserDocument(value: UserDocumentModel) {\r\n // this.clientService.getUserDocument(value.id).subscribe((response: any) => {\r\n // this.clientService.downloadFile(response, response.type, value.url);\r\n // });\r\n let key = \"userdoc\";\r\n if (value.key.toLowerCase() === \"refferal\") {\r\n key = \"refferal\";\r\n }\r\n this.clientService\r\n .getDocumentForDownlod(value.id, key)\r\n .subscribe((response: any) => {\r\n // console.log(response);\r\n /// ;\r\n if (response.statusCode == 200) {\r\n var fileType = \"\";\r\n switch (response.data.extenstion) {\r\n case \".png\":\r\n fileType = \"image/png\";\r\n break;\r\n case \".gif\":\r\n fileType = \"image/gif\";\r\n break;\r\n case \".pdf\":\r\n fileType = \"application/pdf\";\r\n break; // Assuming PDF for illustration\r\n case \".jpeg\":\r\n fileType = \"image/jpeg\";\r\n break;\r\n case \".jpg\":\r\n fileType = \"image/jpeg\";\r\n break;\r\n case \".xls\":\r\n fileType = \"application/vnd.ms-excel\";\r\n break;\r\n default:\r\n fileType = null;\r\n }\r\n var binaryString = atob(response.data.base64);\r\n var bytes = new Uint8Array(binaryString.length);\r\n for (var i = 0; i < binaryString.length; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n\r\n var newBlob = new Blob([bytes], {\r\n type: fileType,\r\n });\r\n\r\n this.clientService.downloadFile(\r\n newBlob,\r\n fileType,\r\n response.data.fileName\r\n );\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n deleteUserDocument(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this document?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientService\r\n .deleteUserDocument(id)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getUserDocuments(this.appointmentId);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n videoCall() {\r\n // this.router.navigate([\"/web/encounter/video-call\"], {\r\n // queryParams: {\r\n // apptId: this.appointmentId,\r\n // },\r\n // });\r\n this.router.navigate([\"/web/waiting-room/\" + this.appointmentId]);\r\n this.dialogModal.closeAll();\r\n }\r\n\r\n chat() {\r\n this.commonService.loginUser.subscribe((response: any) => {\r\n if (response.access_token) {\r\n var chatInitModel = new ChatInitModel();\r\n chatInitModel.isActive = true;\r\n chatInitModel.AppointmentId = this.appointmentId;\r\n chatInitModel.UserId = response.data.userID;\r\n //chatInitModel.UserRole = response.data.userRoles.userType;\r\n\r\n if (this.isProviderLogin) {\r\n chatInitModel.UserRole = response.data.users1.userRoles.userType;\r\n } else {\r\n chatInitModel.UserRole = response.data.users3.userRoles.userType;\r\n }\r\n this.appService.CheckChatActivated(chatInitModel);\r\n // this.getAppointmentInfo(\r\n // chatInitModel.AppointmentId,\r\n // chatInitModel.UserRole\r\n // );\r\n this.textChatService.setAppointmentDetail(\r\n chatInitModel.AppointmentId,\r\n chatInitModel.UserRole\r\n );\r\n this.textChatService.setRoomDetail(\r\n chatInitModel.UserId,\r\n chatInitModel.AppointmentId\r\n );\r\n this.dialogModal.closeAll();\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{\\\"cancel_appointment\\\"|translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please select cancellation reason\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Refund Amount will be:\\\"|translate}} {{RefundModel.refundAmount|number:'1.2-2'}}

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

{{\\\"Cancellation policy:\\\"|translate}}

\\r\\n {{getRefundString(RefundModel.uptoHours,RefundModel.refundPercentage)}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { SchedulerService } from '../scheduler.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { CancelAppointmentModel } from '../scheduler.model';\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-cancel-appointment-dialog',\r\n templateUrl: './cancel-appointment-dialog.component.html',\r\n styleUrls: ['./cancel-appointment-dialog.component.css']\r\n})\r\nexport class CancelAppointmentDialogComponent implements OnInit {\r\n cancelAppointmentForm: FormGroup;\r\n cancelAppointmentModel: CancelAppointmentModel;\r\n appointmentId: number;\r\n submitted: boolean = false;\r\n isloadingMasterData: boolean = false;\r\n masterCancelType: Array;\r\n currentLoginUserId: any;\r\n isAdminLogin = false;\r\n isClientLogin = false;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private schedulerService: SchedulerService,\r\n public dialogPopup: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private commonService: CommonService,\r\n private translate: TranslateService\r\n\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.appointmentId = data;\r\n this.masterCancelType = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeFormFields(this.cancelAppointmentModel);\r\n this.fetchMasterData();\r\n this.checkLoggedInUser();\r\n // this.getRefundAmount()\r\n }\r\n\r\n checkLoggedInUser() {\r\n this.commonService.currentLoginUserInfo.subscribe(\r\n (user: any) => {\r\n if (user) {\r\n this.currentLoginUserId = user.id;\r\n this.isAdminLogin =\r\n user.users3 &&\r\n user.users3.userRoles &&\r\n (user.users3.userRoles.userType || \"\").toUpperCase() == \"ADMIN\";\r\n\r\n this.isClientLogin = user.users3 &&\r\n user.users3.userRoles &&\r\n (user.users3.userRoles.userType || \"\").toUpperCase() == \"CLIENT\";\r\n\r\n\r\n\r\n }\r\n });\r\n }\r\n\r\n initializeFormFields(cancelModel?: CancelAppointmentModel) {\r\n cancelModel = cancelModel || new CancelAppointmentModel();\r\n const configControls = {\r\n 'cancelTypeId': [cancelModel.cancelTypeId, Validators.required],\r\n 'cancelReason': [cancelModel.cancelReason, Validators.required],\r\n }\r\n this.cancelAppointmentForm = this.formBuilder.group(configControls);\r\n\r\n }\r\n\r\n get formControls() { return this.cancelAppointmentForm.controls; }\r\n\r\n onClose(): void {\r\n this.dialogPopup.close();\r\n }\r\n\r\n onSubmit(): void {\r\n debugger\r\n this.submitted = true;\r\n if (this.cancelAppointmentForm.invalid) {\r\n this.submitted = false;\r\n return;\r\n }\r\n\r\n this.cancelAppointmentModel = this.cancelAppointmentForm.value;\r\n this.cancelAppointmentModel.ids = [this.appointmentId];\r\n\r\n this.schedulerService.cancelAppointment(this.cancelAppointmentModel)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify('success', response.message);\r\n this.dialogPopup.close('SAVE');\r\n } else {\r\n this.notifier.notify('error', response.message);\r\n }\r\n });\r\n }\r\n\r\n fetchMasterData(): void {\r\n // load master data\r\n this.isloadingMasterData = true;\r\n const masterData = { masterdata: \"MASTERCANCELTYPE\" };\r\n this.schedulerService.getMasterData(masterData)\r\n .subscribe((response: any) => {\r\n this.isloadingMasterData = false;\r\n this.masterCancelType = response.masterCancelType || [];\r\n\r\n // if(this.isClientLogin){\r\n // this.masterCancelType = this.masterCancelType.filter(x => x.value == 'Cancel By Client');\r\n // this.formControls.cancelTypeId.setValue(this.masterCancelType[0].id);\r\n // }\r\n let defautlType = this.masterCancelType.find(\r\n x => (x.value || \"\").toUpperCase() == \"CARE MANAGER CANCELLATION\"\r\n );\r\n\r\n this.commonService.userRole.subscribe((role) => {\r\n let selectedCancelType = null;\r\n // console.log(\"Role in action\", role)\r\n if (role.toLowerCase() === 'provider') {\r\n\r\n selectedCancelType = this.masterCancelType.find(type => type.globalCodeValue === \"Cancel By Staff\");\r\n } else if (role.toLowerCase() === 'client') {\r\n\r\n selectedCancelType = this.masterCancelType.find(type => type.globalCodeValue === \"Cancel By Client\");\r\n } else {\r\n\r\n selectedCancelType = this.masterCancelType.find(type => type.globalCodeValue === \"Cancel By Other\");\r\n }\r\n\r\n if (selectedCancelType) {\r\n this.formControls[\"cancelTypeId\"].patchValue(selectedCancelType.id);\r\n } else {\r\n this.formControls[\"cancelTypeId\"].patchValue(defautlType.id);\r\n }\r\n\r\n // this.formControls[\"cancelTypeId\"].patchValue(\r\n // selectedCancelType !=null ? selectedCancelType?.id : defautlType.id\r\n // //selectedCancelType ? selectedCancelType.id : defautlType.id\r\n // );\r\n // console.log('Selected Cancel Type ID:', selectedCancelType.id );\r\n });\r\n\r\n this.getRefundAmount()\r\n\r\n });\r\n }\r\n RefundModel: any = {\r\n refundAmount: 0,\r\n uptoHours: 0,\r\n refundPercentage: 0\r\n}\r\n isUnderCancellationPolicy: boolean = false\r\n getRefundAmount() {\r\n this.schedulerService.GetRefundableAmount(this.appointmentId, this.cancelAppointmentForm.value.cancelTypeId).subscribe((res) => {\r\n if (res && res.statusCode == 200) { \r\n this.RefundModel = res.data\r\n if (this.RefundModel.uptoHours && this.RefundModel.refundPercentage) {\r\n this.isUnderCancellationPolicy = true\r\n }\r\n } else {\r\n this.isUnderCancellationPolicy = false\r\n this.RefundModel = {\r\n refundAmount: 0,\r\n uptoHours: 0,\r\n refundPercentage: 0\r\n }\r\n }\r\n },\r\n (error) => {\r\n this.isUnderCancellationPolicy = false\r\n this.RefundModel = {\r\n refundAmount: 0,\r\n uptoHours: 0,\r\n refundPercentage: 0\r\n }\r\n console.log(error);\r\n })\r\n }\r\n getRefundString(hour: any, percentage: any) {\r\n try {\r\n var string = this.translate.instant(\"Cancel appointment in {hours} hours, {percentage}% refund\")\r\n let str2 = string.replace(\"{hours}\", hour)\r\n return str2.replace(\"{percentage}\", percentage)\r\n } catch (ex) {\r\n return \"\"\r\n }\r\n }\r\n\r\n}\r\n","import { ClientProfileModel } from \"../../agency-portal/clients/client-profile.model\";\r\n\r\nexport class AppointmentModel {\r\n 'patientAppointmentId': number = 0;\r\n 'appointmentTypeID': number = null;\r\n 'appointmentStaffs': AppointmentStaff[];\r\n 'patientID': number = null;\r\n 'patientName': string = '';\r\n 'serviceLocationID': number = null;\r\n 'officeAddressID': number = null;\r\n 'patientAddressID': number = null;\r\n 'customAddressID': number = null;\r\n 'customAddress': string = '';\r\n 'latitude': number = 0;\r\n 'longitude': number = 0;\r\n 'startDateTime': Date = new Date();\r\n 'endDateTime': Date = new Date();\r\n 'notes': string = '';\r\n 'isTelehealthAppointment': boolean = false;\r\n 'isRecurrence': boolean = false;\r\n 'isClientRequired': boolean = false;\r\n 'isBillableAppointment': boolean = false;\r\n 'isBillable': boolean = false;\r\n 'offset': number = 0;\r\n 'timezone': string = '';\r\n 'isExcludedFromMileage': boolean = false;\r\n 'isDirectService': boolean = false;\r\n 'mileage': number = null;\r\n 'driveTime': string = '';\r\n // some extra keys ...\r\n 'patientEncounterId': number = 0;\r\n 'parentAppointmentId': number = null;\r\n 'claimId': number = null;\r\n 'cancelTypeId': number = null;\r\n 'statusName': string = '';\r\n 'mode': string = '';\r\n 'type': string = '';\r\n 'PatientInfoDetails':ClientProfileModel = null;\r\n 'patientInfoDetails':ClientProfileModel = null;\r\n 'patientPhotoThumbnailPath':string = '';\r\n 'rating': number = null;\r\n 'reviewRatingId': number = null;\r\n 'review':string = '';\r\n}\r\n\r\nexport class AppointmentStaff {\r\n 'staffId'?: number = 0;\r\n 'isDeleted'?: boolean = false;\r\n 'staffName'?: string = '';\r\n}\r\n\r\nexport class RecurrenceAppointmentModel {\r\n 'startDateTime': Date = new Date();\r\n 'endDateTime': Date = new Date();\r\n 'startDate': string = '';\r\n 'startTime': string = '';\r\n 'endTime': string = '';\r\n 'message': string = '';\r\n}\r\n\r\nexport class CancelAppointmentModel {\r\n 'cancelTypeId': number = null;\r\n 'cancelReason': string = '';\r\n 'ids': number[];\r\n}\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nconst getQueryParamsFromObject = (filterModal: object): string => {\r\n let queryParams = \"\";\r\n let index = 0;\r\n for (const key of Object.keys(filterModal)) {\r\n if (index === 0) queryParams += `?${key}=${filterModal[key]}`;\r\n else queryParams += `&${key}=${filterModal[key]}`;\r\n\r\n index++;\r\n }\r\n return queryParams;\r\n};\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class SchedulerService {\r\n getMasterDataURL = \"api/MasterData/MasterDataByName\";\r\n getAllProvidersForDDL = \"Staffs/GetAllProvidersForDDL\";\r\n getAllURL = \"api/PatientAppointments/GetPatientAppointmentList\";\r\n getMyAppointmentUrl = \"api/PatientAppointments/GetMyAppointmentList\";\r\n getStaffAndPatientByLocationURL =\r\n \"api/PatientAppointments/GetStaffAndPatientByLocation\";\r\n getStaffAvailabilityURL =\r\n \"AvailabilityTemplates/GetStaffAvailabilityWithLocation\";\r\n addAvailibilitySlot = \"AvailabilityTemplates/AddAvailibilitySlot\";\r\n private getAvailabilityById = \"AvailabilityTemplates/GetAvailabilityById\";\r\n private deleteAvailibilitySlot =\r\n \"AvailabilityTemplates/DeleteAvailibilitySlot\";\r\n getProviderAvailability = \"AvailabilityTemplates/GetProviderAvailability\";\r\n getMinMaxOfficeTimeURL = \"MasterLocations/GetMinMaxOfficeTime\";\r\n getPatientsURL = \"Patients/GetPatients\";\r\n checkIsValidAppointmentURL =\r\n \"api/PatientAppointments/CheckIsValidAppointmentWithLocation\";\r\n checkAuthorizationDetailsURL =\r\n \"api/PatientAppointments/GetPatientAuthorizationData\";\r\n getDataForSchedulerURL =\r\n \"api/PatientAppointments/GetDataForSchedulerByPatient\";\r\n createAppointmentURL = \"api/PatientAppointments/SavePatientAppointment\";\r\n createAppointmentFromPatientPortalURL =\r\n \"PatientPortalAppointment/SavePatientAppointment\";\r\n bookNewAppointmentFromPatientPortalURL =\r\n \"PatientPortalAppointment/BookNewAppointment\";\r\n bookNewAppointmentFromPatientPortalURL1 =\r\n \"PatientPortalAppointment/BookNewAppointment1\";\r\n RescheduleAppointmentURL = \"PatientPortalAppointment/RescheduleAppointment\";\r\n getAppointmentDetailURL = \"api/PatientAppointments/GetAppointmentDetails\";\r\n getAppointmentDetailsAsListURL =\r\n \"api/PatientAppointments/GetAppointmentDetailsAsList\";\r\n deleteAppointmentDetailURL = \"api/PatientAppointments/DeleteAppointment\";\r\n cancelAppointmentURL = \"api/PatientAppointments/CancelAppointments\";\r\n GetRefundableAmountURL = \"api/PatientAppointments/GetRefundableAmount\";\r\n unCancelAppointmentURL = \"api/PatientAppointments/ActivateAppointments\";\r\n updateAppointmentStatusURL =\r\n \"api/PatientAppointments/UpdateAppointmentStatus\";\r\n UpdatePatientAppointmentForLabURL =\r\n \"api/PatientAppointments/UpdatePatientAppointmentForLab\";\r\n updateCallDurationURL = \"api/PatientAppointments/UpdateCallDuration\";\r\n bookNewFreeAppointmentFromPatientPortalURL =\r\n \"PatientPortalAppointment/BookNewFreeAppointment\";\r\n getAppointmentDetailsWithPatientURL =\r\n \"api/PatientAppointments/GetAppointmentDetailsWithPatient\";\r\n getStaffFeeSettingsURL = \"Staffs/GetStaffFeeSettings?id=\";\r\n getGetLastNewAppointmentURL =\r\n \"api/PatientAppointments/GetLastNewAppointment?providerId=\";\r\n GetPreviousAppointmentURL = \"api/PatientAppointments/GetPreviousAppointment\";\r\n // bookNewAppointmentFromPaymentPageURL = \"PatientPortalAppointment/BookNewAppointmentFromPaymentPage\";\r\n bookNewAppointmentFromPaymentPageURL =\r\n \"Home/BookNewAppointmentFromPaymentPage\";\r\n checkAppointmentTimeExpiryURL = \"Home/CheckAppointmentTimeExpiry\";\r\n bookNewUrgentCareAppointmentFromPatientPortalURL =\r\n \"PatientPortalAppointment/BookUrgentCareAppointment\";\r\n urgentCareRefundAppointmentFeeURL =\r\n \"PatientPortalAppointment/UrgentCareRefundAppointmentFee\";\r\n SaveSymptomatePatientReportURL = \"Payers/SaveSymptomatePatientReport\";\r\n private getStaffAvailabilityByLocationURL =\r\n \"AvailabilityTemplates/GetStaffAvailabilityWithLocation\";\r\n getLastUrgentCareCallStatusURL =\r\n \"api/PatientAppointments/GetLastUrgentCareCallStatus?userId=\";\r\n getLastUrgentCareCallStatusForPatientPortalURL =\r\n \"api/PatientAppointments/GetLastUrgentCareCallStatusForPatientPortal?userId=\";\r\n GetLastPatientFollowupDetailsURL =\r\n \"api/PatientAppointments/GetLastPatientFollowupDetails?userId=\";\r\n getLastPatientFollowupWithCurrentPovider =\r\n \"api/PatientAppointments/GetLastPatientFollowupWithCurrentPovider\";\r\n getAllfilteredApptURL = \"api/PatientAppointments/GetFilteredAppointmentList\";\r\n checkFollowupURL = \"api/PatientAppointments/CheckFollowUpAppointment\";\r\n checkFollowupFees = \"api/PatientAppointments/CheckPatientFollowupFees\";\r\n private checkoutPayment = \"api/PatientAppointments/CheckoutPayment\";\r\n private getAppointmentListForPatientsURL =\r\n \"api/PatientAppointments/GetAppointmentListForPatients\";\r\n ProviderBlockCalenderTimeUrl =\r\n \"AvailabilityTemplates/ProviderBlockCalenderTime\";\r\n\r\n GetProviderBlockCalendarUrl =\r\n \"AvailabilityTemplates/GetProviderBlockCalendar\";\r\n GetProviderBlockCalendarDocumentUrl =\r\n \"AvailabilityTemplates/GetProviderBlockCalendarDocument\";\r\n\r\n DeleteProviderBlockCalendarUrl =\r\n \"AvailabilityTemplates/DeleteProviderBlockCalendar\";\r\n GetPaymentStatusUrl = \"api/PatientAppointments/GetPaymentStatus\";\r\n\r\n constructor(private commonService: CommonService) {}\r\n\r\n getMasterData(masterData: any): Observable {\r\n return this.commonService.post(this.getMasterDataURL, masterData);\r\n }\r\n\r\n getListData(filterModal: any): Observable {\r\n // ?locationIds=1&fromDate=2018-11-11&toDate=2018-11-17&staffIds=3\r\n const queryParams = getQueryParamsFromObject(filterModal);\r\n\r\n return this.commonService.getAll(this.getAllURL + queryParams, {});\r\n }\r\n getMyAppointment(filterModal: any): Observable {\r\n const queryParams = getQueryParamsFromObject(filterModal);\r\n return this.commonService.getAll(\r\n this.getMyAppointmentUrl + queryParams,\r\n null,\r\n true\r\n );\r\n }\r\n getAppointmentListForPatients(filterModel: any): Observable {\r\n const queryParams = getQueryParamsFromObject(filterModel);\r\n return this.commonService.getAll(\r\n this.getAppointmentListForPatientsURL + queryParams,\r\n {}\r\n );\r\n }\r\n getAllProviders(): Observable {\r\n return this.commonService.getAll(this.getAllProvidersForDDL, {});\r\n }\r\n\r\n getStaffAndPatientByLocation(\r\n locationIds: string,\r\n permissionKey: string = \"SCHEDULING_LIST_VIEW_OTHERSTAFF_SCHEDULES\"\r\n ): Observable {\r\n const queryParams = `?locationIds=${locationIds}&permissionKey=${permissionKey}&isActiveCheckRequired=YES`;\r\n return this.commonService.getAll(\r\n this.getStaffAndPatientByLocationURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getStaffAvailability(\r\n staffIds: string,\r\n locationId: string,\r\n appointmentMode: any\r\n ): Observable {\r\n const queryParams = `?staffId=${staffIds}&locationId=${locationId}&appointmentMode=${appointmentMode}`;\r\n return this.commonService.getAll(\r\n this.getStaffAvailabilityURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getMinMaxOfficeTime(locationIds: string): Observable {\r\n const queryParams = `?locationIds=${locationIds}`;\r\n return this.commonService.getAll(\r\n this.getMinMaxOfficeTimeURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getPatientsByLocation(\r\n searchText: string,\r\n locationIds: string\r\n ): Observable {\r\n // http://108.168.203.227/HC_Patient_Merging/Patients/GetPatients\r\n const queryParams = `?searchKey=${searchText}&locationIDs=${locationIds}&pageSize=5&isActive=true`;\r\n return this.commonService.getAll(this.getPatientsURL + queryParams, {});\r\n }\r\n\r\n getDataForScheduler(filterModal: any): Observable {\r\n const queryParams = getQueryParamsFromObject(filterModal);\r\n return this.commonService.getAll(\r\n this.getDataForSchedulerURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n checkIsValidAppointment(appointmentData: any): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(this.checkIsValidAppointmentURL, postJson);\r\n }\r\n\r\n checkAuthorizationDetails(filterModal: any): Observable {\r\n const queryParams = getQueryParamsFromObject(filterModal);\r\n return this.commonService.getAll(\r\n this.checkAuthorizationDetailsURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n createAppointment(appointmentData: any, params: any): Observable {\r\n const queryParams = getQueryParamsFromObject(params);\r\n const postJson = appointmentData;\r\n return this.commonService.post(\r\n this.createAppointmentURL + queryParams,\r\n postJson\r\n );\r\n }\r\n\r\n createAppointmentFromPatientPortal(appointmentData: any): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(\r\n this.createAppointmentFromPatientPortalURL,\r\n postJson\r\n );\r\n }\r\n bookNewAppointmentFromPatientPortal(appointmentData: any): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(\r\n this.bookNewAppointmentFromPatientPortalURL,\r\n postJson,true\r\n );\r\n }\r\n\r\n bookNewAppointmentFromPatientPortal1(appointmentData: any): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(\r\n this.bookNewAppointmentFromPatientPortalURL1 + \"?a=2\",\r\n { a: 1 }\r\n );\r\n }\r\n\r\n RescheduleAppointment(appointmentData: any): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(this.RescheduleAppointmentURL, postJson);\r\n }\r\n bookNewFreeAppointmentFromPatientPortal(\r\n appointmentData: any\r\n ): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(\r\n this.bookNewFreeAppointmentFromPatientPortalURL,\r\n postJson\r\n );\r\n }\r\n\r\n bookNewAppointmentFromPaymentPage(appointmentData: any): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(\r\n this.bookNewAppointmentFromPaymentPageURL,\r\n postJson\r\n );\r\n }\r\n\r\n getAppointmentDetails(appointmentId: number): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}`;\r\n return this.commonService.getById(\r\n this.getAppointmentDetailURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getAppointmentDetailsWithPatient(appointmentId: number): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}`;\r\n return this.commonService.getById(\r\n this.getAppointmentDetailsWithPatientURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n deleteAppointmentDetails(\r\n appointmentId: number,\r\n parentAppointmentId: number,\r\n deleteSeries: boolean,\r\n isAdmin: boolean\r\n ): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}&parentAppointmentId=${parentAppointmentId}&deleteSeries=${deleteSeries}&isAdmin=${isAdmin}`;\r\n return this.commonService.post(\r\n this.deleteAppointmentDetailURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n cancelAppointment(appointmentData: any): Observable {\r\n return this.commonService.post(this.cancelAppointmentURL, appointmentData);\r\n }\r\n GetRefundableAmount(appointmentId: any,CancelTypeId:any): Observable {\r\n return this.commonService.get(this.GetRefundableAmountURL + \"/\" + appointmentId + \"/\" + CancelTypeId);\r\n }\r\n\r\n unCancelAppointment(appointmentId: number): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}`;\r\n return this.commonService.post(\r\n this.unCancelAppointmentURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n updateAppointmentStatus(appointmentData: any): Observable {\r\n return this.commonService.post(\r\n this.updateAppointmentStatusURL,\r\n appointmentData\r\n );\r\n }\r\n updatePatientAppointmentForLab(appointmentData: any): Observable {\r\n return this.commonService.post(\r\n this.UpdatePatientAppointmentForLabURL,\r\n appointmentData\r\n );\r\n }\r\n\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n return this.commonService.getUserScreenActionPermissions(\r\n moduleName,\r\n screenName\r\n );\r\n }\r\n UpdateCallDuration(\r\n appointmentId: number,\r\n timeDuration: string\r\n ): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}&timeDuration=${timeDuration}`;\r\n return this.commonService.post(\r\n this.updateCallDurationURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getStaffFeeSettings(staffId: number): Observable {\r\n return this.commonService.get(this.getStaffFeeSettingsURL + staffId, true);\r\n }\r\n\r\n getGetLastNewAppointment(providerId: string): Observable {\r\n return this.commonService.get(\r\n this.getGetLastNewAppointmentURL + providerId,\r\n true\r\n );\r\n }\r\n getPreviousAppointment(\r\n providerId: string,\r\n patientId: number\r\n ): Observable {\r\n const queryParams = `?providerId=${providerId}&clientId=${patientId}`;\r\n return this.commonService.post(\r\n this.GetPreviousAppointmentURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n checkAppointmentTimeExpiry(appointmentId: number): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}`;\r\n return this.commonService.post(\r\n this.checkAppointmentTimeExpiryURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getAppointmentDetailsAsList(appointmentId: number): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}`;\r\n return this.commonService.getById(\r\n this.getAppointmentDetailsAsListURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n bookUrgentCareAppointmentFromPatientPortal(\r\n appointmentData: any\r\n ): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(\r\n this.bookNewUrgentCareAppointmentFromPatientPortalURL,\r\n postJson\r\n );\r\n }\r\n\r\n urgentCareRefundAppointmentFee(appointmentId: number): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}`;\r\n return this.commonService.post(\r\n this.urgentCareRefundAppointmentFeeURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n SaveSymptomatePatientReport(data: any) {\r\n return this.commonService.post(this.SaveSymptomatePatientReportURL, data);\r\n }\r\n saveAvailibilitySlot(data: any) {\r\n return this.commonService.post(this.addAvailibilitySlot, data);\r\n }\r\n\r\n GetAvailabilityById(data: any) {\r\n return this.commonService.get(`${this.getAvailabilityById}?id=${data}`);\r\n }\r\n DeleteAvailibilitySlot(data: any) {\r\n return this.commonService.post(this.deleteAvailibilitySlot, data);\r\n }\r\n GetProviderAvailability(startDate: any, endDate: any) {\r\n return this.commonService.get(\r\n `${this.getProviderAvailability}?startDate=${startDate}&endTime=${endDate}`,\r\n true\r\n );\r\n }\r\n\r\n getLastUrgentCareCallStatus(userId: string): Observable {\r\n return this.commonService.get(\r\n this.getLastUrgentCareCallStatusURL + userId,\r\n true\r\n );\r\n }\r\n getLastUrgentCareCallStatusForPatientPortal(userId: string): Observable {\r\n return this.commonService.get(\r\n this.getLastUrgentCareCallStatusForPatientPortalURL + userId,\r\n true\r\n );\r\n }\r\n GetLastPatientFollowupDetails(patientId: any): Observable {\r\n return this.commonService.get(\r\n this.GetLastPatientFollowupDetailsURL + patientId,\r\n true\r\n );\r\n }\r\n GetLastPatientFollowupWithCurrentPovider(\r\n patinetUserId: string,\r\n providerId: any,\r\n appointmentDate: any,\r\n isNotification: boolean\r\n ): Observable {\r\n const queryParams = `?userId=${patinetUserId}&staffId=${providerId}&appointmentDate=${appointmentDate}&isNotification=${isNotification}`;\r\n return this.commonService.get(\r\n this.getLastPatientFollowupWithCurrentPovider + queryParams\r\n );\r\n }\r\n\r\n getStaffAvailabilityByLocation(\r\n staffId: number,\r\n locationId: number,\r\n appointmentMode: any\r\n ) {\r\n return this.commonService.getById(\r\n this.getStaffAvailabilityByLocationURL +\r\n \"?staffId=\" +\r\n staffId +\r\n \"&locationId=\" +\r\n locationId +\r\n \"&appointmentMode=\" +\r\n appointmentMode,\r\n {}\r\n );\r\n }\r\n\r\n getfilteredAppointmentListData(filterModal: any): Observable {\r\n // ?locationIds=1&fromDate=2018-11-11&toDate=2018-11-17&staffIds=3\r\n const queryParams = getQueryParamsFromObject(filterModal);\r\n\r\n return this.commonService.getAll(\r\n this.getAllfilteredApptURL + queryParams,\r\n {}\r\n );\r\n }\r\n checkfollowupAppointment(id: number): Observable {\r\n const queryParams = `?AppointmentId=${id}`;\r\n return this.commonService.get(this.checkFollowupURL + queryParams);\r\n }\r\n checkFollowupPricewhichoneapply(\r\n patinetUserId: string,\r\n providerId: any,\r\n appointmentDate: any\r\n ): Observable {\r\n const queryParams = `?PatientId=${patinetUserId}&StaffId=${providerId}&appointmentDate=${appointmentDate}`;\r\n return this.commonService.get(this.checkFollowupFees + queryParams);\r\n }\r\n\r\n checkoutPaymentForAppointment(amount: string): Observable {\r\n const queryParams = `?amount=${amount}`;\r\n return this.commonService.get(this.checkoutPayment + queryParams);\r\n }\r\n\r\n HyperPayPaymentStatus(checloutId: string): Observable {\r\n const queryParams = `?checkoutId=${checloutId}`;\r\n return this.commonService.get(this.GetPaymentStatusUrl + queryParams);\r\n }\r\n\r\n SaveProviderBlockCalenderTime(data: any) {\r\n return this.commonService.post(this.ProviderBlockCalenderTimeUrl, data);\r\n }\r\n\r\n getProviderBlockCalenderTime(startDate: any, endDate: any): Observable {\r\n // `${this.GetProviderBlockCalendarUrl}?startDate=${startDate}&endTime=${endDate}`,\r\n // true\r\n return this.commonService.getAll(\r\n `${this.GetProviderBlockCalendarUrl}?startDate=${startDate}&endTime=${endDate}`,\r\n true\r\n );\r\n }\r\n\r\n DeleteProviderBlockCalendarApi(id: number): Observable {\r\n const queryParams = `?id=${id}`;\r\n return this.commonService.post(\r\n this.DeleteProviderBlockCalendarUrl + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getProviderBlockCalenderDocument(id: number): Observable {\r\n const queryParams = `?id=${id}`;\r\n return this.commonService.get(\r\n this.GetProviderBlockCalendarDocumentUrl + queryParams\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../core/services\";\r\nimport { Observable } from \"rxjs\";\r\nimport { SaveQuestionAsnwerRequestModel } from \"src/app/shared/dynamic-form/dynamic-form-models\";\r\nimport { AddUserDocumentModel, AddUserDocumentPatientModel } from \"../agency-portal/users/users.model\";\r\n//import { PayerModel, PayerServiceCodeModel, PayerServiceCodeModifierModel, PayerServiceCodeWithModifierModel, PayerActivityServiceCodeModel, ActivityCodeModifierUpdateModel } from \"./payers.model\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class WaitingRoomService {\r\n \r\n private getProvidersQuestionnaireControlsByTypeURL = 'Questionnaire/GetProvidersQuestionnaireControlsByAppointment';\r\n private getMasterDataURL = 'api/MasterData/MasterDataByName';\r\n private saveAppointmentQuestionnaireAsnwersURL = 'Questionnaire/SaveAppointmentQuestionnaireAsnwers';\r\n private getAppointmentDetailURL = \"api/PatientAppointments/GetAppointmentDetails\";\r\n private getUserDocumentsURL = \"userDocument/GetUserDocuments\";\r\n private getUserByLocationURL = \"api/PatientAppointments/GetStaffAndPatientByLocation\";\r\n private getUserDocumentURL = \"userDocument/GetUserDocument\";\r\n private deleteUserDocumentURL = \"userDocument/DeleteUserDocument\";\r\n private uploadUserDocumentURL = \"userDocument/UploadUserDocuments\";\r\n private getPateintApptDocumentsURL = \"userDocument/GetPateintAppointmenttDocuments\";\r\n private updatePatientPermissionURL = \"Patients/UpdatePatientPermission\";\r\n private updatePatientAppointmentPermissionURL = \"api/PatientAppointments/UpdatePatientAppointmentPermission\";\r\n \r\n constructor(private commonService: CommonService) {\r\n\r\n }\r\n\r\n\r\n updatePatientPermission(data:any){\r\n return this.commonService.post(this.updatePatientPermissionURL,data,false);\r\n }\r\n updatePatientAppointmentPermission(data:any){\r\n return this.commonService.post(this.updatePatientAppointmentPermissionURL,data,false);\r\n }\r\n\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n return this.commonService.getUserScreenActionPermissions(\r\n moduleName,\r\n screenName\r\n );\r\n }\r\n\r\n getProvidersQuestionnaireControlsByType(typeId:number, staffId: number,appointmentId: number =0) :Observable {\r\n return this.commonService.get(this.getProvidersQuestionnaireControlsByTypeURL+\"?typeId=\"+typeId+\"&staffId=\"+staffId+\"&appointmentId=\"+appointmentId);\r\n }\r\n\r\n getMasterData(value) {\r\n return this.commonService.post(this.getMasterDataURL, { masterdata: value });\r\n }\r\n\r\n saveAnswers(model:SaveQuestionAsnwerRequestModel) :Observable{\r\n return this.commonService.post(this.saveAppointmentQuestionnaireAsnwersURL,model);\r\n }\r\n\r\n getAppointmentDetails(appointmentId: number): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}`;\r\n return this.commonService.getById(\r\n this.getAppointmentDetailURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n\r\n getUserDocuments(userId: number, from: string, toDate: string) {\r\n return this.commonService.getAll(\r\n this.getUserDocumentsURL +\r\n \"?userId=\" +\r\n userId +\r\n \"&from=\" +\r\n from +\r\n \"&to=\" +\r\n toDate,\r\n {}\r\n );\r\n }\r\n \r\n getPateintApptDocuments(apptId: number) {\r\n return this.commonService.getAll(\r\n this.getPateintApptDocumentsURL +\r\n \"?apptId=\" +\r\n apptId,\r\n {}\r\n );\r\n }\r\n\r\n getUserDocument(id: number) {\r\n return this.commonService.download(\r\n this.getUserDocumentURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n getDocumentForDownlod(id: number, key: any = \"userdoc\") {\r\n return this.commonService.get(\r\n this.getUserDocumentURL + \"?id=\" + id + \"&key=\" + key\r\n );\r\n }\r\n\r\n deleteUserDocument(id: number) {\r\n return this.commonService.post(\r\n this.deleteUserDocumentURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n \r\n uploadUserDocuments(data: AddUserDocumentPatientModel) {\r\n return this.commonService.post(this.uploadUserDocumentURL, data);\r\n }\r\n\r\n downloadFile(blob: Blob, filetype: string, filename: string) {\r\n var newBlob = new Blob([blob], { type: filetype });\r\n // IE doesn't allow using a blob object directly as link href\r\n // instead it is necessary to use msSaveOrOpenBlob\r\n const nav = (window.navigator as any);\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n // For other browsers:\r\n // Create a link pointing to the ObjectURL containing the blob.\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(function () {\r\n // For Firefox it is necessary to delay revoking the ObjectURL\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n \r\n \r\n}","import { NgModule } from \"@angular/core\";\r\nimport {\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatExpansionModule,\r\n MAT_DATE_LOCALE\r\n} from \"@angular/material\";\r\nimport { NgxMaterialTimepickerModule } from \"ngx-material-timepicker\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\n\r\n@NgModule({\r\n imports: [\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n NgxMaterialTimepickerModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTooltipModule,\r\n MatExpansionModule\r\n ],\r\n //providers: [{ provide: MAT_DATE_LOCALE, useValue: { useUtc: true } }],\r\n exports: [\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n NgxMaterialTimepickerModule,\r\n MatDatepickerModule,\r\n MatTooltipModule,\r\n MatExpansionModule\r\n ]\r\n})\r\nexport class PlatformMaterialModule {}\r\n","module.exports = \".cross_icon{\\r\\n display: flex;\\r\\n justify-content: end;\\r\\n padding: 0;\\r\\n}\\r\\n.cross_icon_block{\\r\\n font-size: 25px;\\r\\n color: #014971;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \"","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\n\r\n@Component({\r\n selector: \"app-qrimage-inhanser\",\r\n templateUrl: \"./qrimage-inhanser.component.html\",\r\n styleUrls: [\"./qrimage-inhanser.component.css\"],\r\n})\r\nexport class QRImageInhanserComponent implements OnInit {\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {}\r\n\r\n ngOnInit() {\r\n }\r\n\r\n closeDialog=()=>{\r\n this.dialogModalRef.close()\r\n }\r\n}\r\n","module.exports = \".img_block {\\r\\n width:200px\\r\\n}\\r\\n.data_block{\\r\\n word-break: break-all;\\r\\n}\\r\\n@media (max-width:520px) {\\r\\n h4 {\\r\\n font-size: 20px;\\r\\n }\\r\\n span{\\r\\n font-size: 16px;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n

{{ referalData.title }}

\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Doctor Info

\\r\\n
\\r\\n
\\r\\n {{\\\"name\\\"|translate}}: \\r\\n \\r\\n {{ referalData.providerFirstName }} {{\\r\\n referalData.providerMiddleName\\r\\n }} {{ referalData.providerLastName }}\\r\\n \\r\\n
\\r\\n
\\r\\n Prescriber ID: \\r\\n \\r\\n {{ referalData.npiNumber ? referalData.npiNumber : \\\"---\\\" }}\\r\\n \\r\\n
\\r\\n
\\r\\n Country Code: \\r\\n {{ referalData.providerCountryCode }}\\r\\n
\\r\\n
\\r\\n Contact No: \\r\\n {{ referalData.providerPhonenumber }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Patient Info

\\r\\n
\\r\\n
\\r\\n {{\\\"name\\\"|translate}}: \\r\\n \\r\\n {{ referalData.patientFirstName }} {{\\r\\n referalData.patientMiddleName\\r\\n }} {{ referalData.patientLastName }}\\r\\n
\\r\\n
\\r\\n {{\\\"dob\\\"|translate}}: \\r\\n \\r\\n {{ referalData.patientDOB | date : \\\"dd/MM/yyyy\\\" }}\\r\\n \\r\\n
\\r\\n
\\r\\n {{\\\"gender\\\"|translate}}: \\r\\n {{ referalData.patientGender }} \\r\\n
\\r\\n
\\r\\n {{\\\"email\\\"|translate}}: \\r\\n {{ referalData.patientEmail }}\\r\\n
\\r\\n
\\r\\n Contact No: \\r\\n {{ referalData.patientPhoneNumber }}\\r\\n
\\r\\n
\\r\\n Country Code: \\r\\n {{ referalData.patientCountryCode }}\\r\\n
\\r\\n
\\r\\n Nationality: \\r\\n \\r\\n {{\\r\\n referalData.patientNationality\\r\\n ? referalData.patientNationality\\r\\n : \\\"---\\\"\\r\\n }}\\r\\n \\r\\n
\\r\\n
\\r\\n NationalId No.: \\r\\n \\r\\n {{\\r\\n referalData.patientNationalId\\r\\n ? referalData.patientNationalId\\r\\n : \\\"---\\\"\\r\\n }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

{{\\\"notes\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n {{ referalData.notes }}\\r\\n
\\r\\n\\r\\n
\\r\\n

Test Information

\\r\\n
\\r\\n
\\r\\n {{ i + 1 }} :    {{ test }}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Lab Info

\\r\\n
\\r\\n
\\r\\n {{\\\"name\\\"|translate}}: \\r\\n {{ referalData.labRadiologyFirstName }} {{\\r\\n referalData.labRadiologyLastName\\r\\n }}\\r\\n
\\r\\n
\\r\\n {{\\\"email\\\"|translate}}: \\r\\n {{ referalData.labRadiologyEmail }}\\r\\n
\\r\\n
\\r\\n Contact No: \\r\\n {{ referalData.labRadiologyPhoneNumber }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

LOGO

\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n

Stamp

\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"signature\\\"|translate}}

\\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 } from \"@angular/router\";\r\nimport { ClientsService } from \"src/app/platform/modules/client-portal/clients.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-referral-qr-code-page\",\r\n templateUrl: \"./referral-qr-code-page.component.html\",\r\n styleUrls: [\"./referral-qr-code-page.component.css\"],\r\n})\r\nexport class ReferralQrCodePageComponent implements OnInit {\r\n referalId: string;\r\n referalData: any;\r\n testList: any;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private clientService: ClientsService,\r\n private translate:TranslateService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.paramMap.subscribe((params) => {\r\n this.referalId = params.get(\"id\");\r\n });\r\n // console.log(this.referalId);\r\n this.getReferalDataByReferalId();\r\n }\r\n\r\n getReferalDataByReferalId = () => {\r\n this.clientService\r\n .GetReferalDetailsByReferalIdAPi(this.referalId)\r\n .subscribe((res: any) => {\r\n // console.log(res);\r\n this.referalData = res.data;\r\n this.testList = res.data.testName.split('|')\r\n // console.log(this.testList);\r\n \r\n });\r\n };\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{title}} Appointment Invitation

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\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, Inject } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { AppointmentGraphService } from \"src/app/shared/appointment-graph/appointment-graph.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-accept-reject-appointment-invitation\",\r\n templateUrl: \"./accept-reject-appointment-invitation.component.html\",\r\n styleUrls: [\"./accept-reject-appointment-invitation.component.css\"]\r\n})\r\nexport class AcceptRejectAppointmentInvitationComponent implements OnInit {\r\n approveAppointmentForm: FormGroup;\r\n submitted: boolean = false;\r\n title: string = \"\";\r\n appointmentId: number = 0;\r\n status: string = \"\";\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private appointmentGraphService: AppointmentGraphService,\r\n public dialogPopup: MatDialogRef<\r\n AcceptRejectAppointmentInvitationComponent\r\n >,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n if (data) {\r\n this.title = data.title;\r\n this.appointmentId = data.appointmentId;\r\n this.status = data.status;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeFormFields();\r\n }\r\n\r\n initializeFormFields() {\r\n const configControls = {\r\n notes: [\"\"],\r\n id: [this.appointmentId],\r\n status: [this.status]\r\n };\r\n this.approveAppointmentForm = this.formBuilder.group(configControls);\r\n }\r\n\r\n get formControls() {\r\n return this.approveAppointmentForm.controls;\r\n }\r\n\r\n onClose(): void {\r\n this.dialogPopup.close();\r\n }\r\n\r\n onSubmit(): void {\r\n\r\n debugger;\r\n this.submitted = true;\r\n if (this.approveAppointmentForm.invalid) {\r\n this.submitted = false;\r\n return;\r\n }\r\n\r\n const { NotesToMember } = this.approveAppointmentForm.value;\r\n // this.appointmentData[\"NotesToMember\"] = NotesToMember;\r\n\r\n this.appointmentGraphService\r\n .updateAppointmentStatus(this.approveAppointmentForm.value)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.dialogPopup.close(\"SAVE\");\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"ul.ul-user-list {\\r\\n background: #fff;\\r\\n position: relative;\\r\\n top: -17px;\\r\\n height: 135px;\\r\\n overflow: auto;\\r\\n width: 100%;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\nul.ul-user-list li {\\r\\n list-style: none;\\r\\n line-height: 51px;\\r\\n border-bottom: solid 1px #e5e5e5;\\r\\n margin-left: 0px;\\r\\n}\\r\\n\\r\\nul.ul-user-list li:hover {\\r\\n background: #e5e5e5;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.ul-user-list img.profile-pic.img-fluid {\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n border-radius: 50%;\\r\\n padding: 4px;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-radio-container {\\r\\n width: inherit !important;\\r\\n height: inherit !important;\\r\\n}\"","module.exports = \"
\\r\\n

{{\\\"Invite User\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ type.key|translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_name\\\"|translate}}\\r\\n \\r\\n \\r\\n
    \\r\\n
  • \\r\\n  \\r\\n {{\\r\\n user.fullName\\r\\n }} - \\r\\n {{ user.roleName }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_email\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"Please_enter_a_valid_email_address\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ submitted ? \\\"Sending...\\\" : \\\"Send\\\"|translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { CommonService } from \"./../../platform/modules/core/services/common.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { debug } from \"util\";\r\nimport { AddNewCallerService } from \"./add-new-caller.service\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { Component, OnInit, ViewEncapsulation, Inject } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { AddNewCallerModel } from \"./add-new-caller.model\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-add-new-caller\",\r\n templateUrl: \"./add-new-caller.component.html\",\r\n styleUrls: [\"./add-new-caller.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AddNewCallerComponent implements OnInit {\r\n headerText: string = \"\";\r\n sendUserInvitationForm: FormGroup;\r\n submitted: boolean = false;\r\n private addNewCallerModel: AddNewCallerModel;\r\n masterRoles: any;\r\n userList: Array = [];\r\n userExisted: boolean = false;\r\n public userType: any;\r\n userTypes = [\r\n { value: 1, key: \"Internal\" },\r\n { value: 2, key: \"External\" },\r\n ];\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private notifier: NotifierService,\r\n private formBuilder: FormBuilder,\r\n private addNewCallerService: AddNewCallerService,\r\n private commonService: CommonService,\r\n private translate:TranslateService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.addNewCallerModel = new AddNewCallerModel();\r\n this.userType = this.userTypes.find((x) => x.value == 1);\r\n if (\r\n data &&\r\n data.appointmentId &&\r\n +data.appointmentId > 0 &&\r\n data.sessionId &&\r\n +data.sessionId > 0\r\n ) {\r\n this.addNewCallerModel.appointmentId = data.appointmentId;\r\n this.addNewCallerModel.sessionId = data.sessionId;\r\n } else {\r\n if (\r\n localStorage.getItem(\"otSession\") &&\r\n localStorage.getItem(\"otSession\") != \"\"\r\n ) {\r\n var response = JSON.parse(\r\n this.commonService.encryptValue(\r\n localStorage.getItem(\"otSession\"),\r\n false\r\n )\r\n );\r\n this.addNewCallerModel.appointmentId = +response.appointmentId;\r\n this.addNewCallerModel.sessionId = +response.id;\r\n }\r\n }\r\n const webUrl = window.location.origin;\r\n this.addNewCallerModel.webRootUrl = `${webUrl}`;\r\n }\r\n\r\n ngOnInit() {\r\n this.sendUserInvitationForm = this.formBuilder.group(\r\n {\r\n staffId: [this.addNewCallerModel.staffId],\r\n sessionId: [this.addNewCallerModel.sessionId],\r\n appointmentId: [this.addNewCallerModel.appointmentId],\r\n webRootUrl: [this.addNewCallerModel.webRootUrl],\r\n name: [\r\n this.addNewCallerModel.name,\r\n [Validators.required, Validators.minLength, Validators.maxLength],\r\n ],\r\n email: [\r\n this.addNewCallerModel.email,\r\n [Validators.required, Validators.email],\r\n ],\r\n },\r\n { validator: this.validateForm.bind(this) }\r\n );\r\n\r\n this.getMasterData();\r\n //this.getAllUserListing();\r\n }\r\n get formControls() {\r\n return this.sendUserInvitationForm.controls;\r\n }\r\n validateForm(formGroup: FormGroup) {\r\n return null;\r\n }\r\n getMasterData() {\r\n // this.usersService\r\n // .getMasterData(\"MASTERROLES\")\r\n // .subscribe((response: any) => {\r\n // if (response != null) {\r\n // this.masterRoles =\r\n // response.masterRoles != null ? response.masterRoles : [];\r\n // }\r\n // });\r\n }\r\n onSubmit() {\r\n //;\r\n if (!this.sendUserInvitationForm.invalid) {\r\n this.submitted = true;\r\n this.addNewCallerService\r\n .inviteNewPerson(this.sendUserInvitationForm.value)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", \"Invitation sent successfully\");\r\n this.closeDialog(\"save\");\r\n } else if (response.statusCode == 201) {\r\n this.notifier.notify(\"info\", response.message);\r\n this.closeDialog(\"save\");\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n applyFilter(event: any) {\r\n var name = event.target.value;\r\n if (name.length > 3 && this.userType.value == 1) {\r\n this.getAllUserListing(name);\r\n } else {\r\n this.userList = [];\r\n this.userExisted = false;\r\n }\r\n }\r\n getAllUserListing(name: string = \"\") {\r\n this.addNewCallerService\r\n .getStaffDetailsByName(name)\r\n .subscribe((response: any) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.userList = response.data;\r\n this.userExisted = true;\r\n } else {\r\n this.userList = [];\r\n this.userExisted = false;\r\n }\r\n });\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n getUserDetail(user: any) {\r\n this.userExisted = false;\r\n this.formControls.name.setValue(user.fullName);\r\n this.formControls.email.setValue(user.email);\r\n this.formControls.staffId.setValue(user.staffID);\r\n }\r\n changeUserType(event: any, type: any) {\r\n this.userType = type;\r\n var name = this.formControls.name.value;\r\n if (name.length > 3 && this.userType.value == 1) {\r\n this.getAllUserListing(name);\r\n } else {\r\n this.userList = [];\r\n this.userExisted = false;\r\n }\r\n }\r\n}\r\n","export class AddNewCallerModel {\r\n name: string;\r\n email: string;\r\n webRootUrl: string;\r\n sessionId: number;\r\n appointmentId: number;\r\n staffId: number;\r\n}\r\n","import { CommonService } from \"./../../platform/modules/core/services/common.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { FilterModel } from \"src/app/super-admin-portal/core/modals/common-model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AddNewCallerService {\r\n private getStaffDetailsByNameUrl = \"Staffs/GetStaffsByName?name=\";\r\n private getOTSessionByAppointmentIdUrl =\r\n \"api/Telehealth/GetOTSessionByApptId?appointmentId=\";\r\n private inviteNewPersonUrl = \"GroupSession/SaveInvitation\";\r\n private getInvitedMemberListUrl = \"GroupSession/GetInvitedMemberList\";\r\n constructor(private commonService: CommonService) {}\r\n getStaffDetailsByName(name: string = \"\"): Observable {\r\n return this.commonService.getAll(\r\n `${this.getStaffDetailsByNameUrl}${name}`,\r\n {}\r\n );\r\n }\r\n getOTSessionByAppointmentId(apptId: number = 0): Observable {\r\n return this.commonService.getAll(\r\n `${this.getOTSessionByAppointmentIdUrl}${apptId}`,\r\n {}\r\n );\r\n }\r\n inviteNewPerson(data: any): Observable {\r\n return this.commonService.post(`${this.inviteNewPersonUrl}`, data);\r\n }\r\n\r\n getInvitedMemberList(filterModel: any) {\r\n const URL =\r\n this.getInvitedMemberListUrl +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&patientId=\" +\r\n filterModel.patientId;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n}\r\n","module.exports = \".iconbox-single {\\r\\n background: #fff;\\r\\n border-radius: 5px;\\r\\n -webkit-border-radius: 5px;\\r\\n box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02);\\r\\n -webkit-box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02);\\r\\n height: 160px;\\r\\n}\\r\\n\\r\\n.iconbox-single .box-title {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.circle-icon {\\r\\n display: flex;\\r\\n align-items: flex-end;\\r\\n}\\r\\n\\r\\n.circle-icon i {\\r\\n font-size: 130px;\\r\\n line-height: 98px;\\r\\n color: rgba(0, 0, 0, 0.15);\\r\\n}\\r\\n\\r\\n.icon-2 i {\\r\\n font-size: 162px;\\r\\n line-height: 108px;\\r\\n}\\r\\n\\r\\n.icon-1 i {\\r\\n font-size: 200px;\\r\\n line-height: 100px;\\r\\n}\\r\\n\\r\\n.iconbox-single p {\\r\\n margin: 0;\\r\\n opacity: 0.5;\\r\\n text-transform: uppercase;\\r\\n font-weight: 500;\\r\\n font-size: 13px;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.iconbox-single h5 {\\r\\n margin: 0;\\r\\n font-size: 40px;\\r\\n font-weight: 500;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.iconbox-single.gaps-click:hover p {\\r\\n color: #fff;\\r\\n opacity: 1;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.dashboard-panel>div {\\r\\n height: 30px;\\r\\n}\\r\\n\\r\\n.dashboard-panel button {\\r\\n width: 30px !important;\\r\\n height: 30px !important;\\r\\n padding: 0px !important;\\r\\n line-height: normal;\\r\\n}\\r\\n\\r\\n.dashboard_body table th {\\r\\n height: auto !important;\\r\\n color: #000 !important;\\r\\n font-weight: 500 !important;\\r\\n font-size: 11px !important;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.dashboard_body .DivPager {\\r\\n padding: 0px 25px;\\r\\n}\\r\\n\\r\\n.remain-unit-circle {\\r\\n color: #fff;\\r\\n border: 1px solid transparent;\\r\\n width: 80px;\\r\\n text-align: center;\\r\\n display: block;\\r\\n border-radius: 30px;\\r\\n -webkit-border-radius: 30px;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n.mb-minus-15 {\\r\\n margin-bottom: -15px;\\r\\n}\\r\\n\\r\\n.update-pwd {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.update-pwd i {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.dashboard-box .chart svg {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.icon-3 i {\\r\\n line-height: 104px;\\r\\n}\\r\\n\\r\\n.icon-5 i {\\r\\n font-size: 125px;\\r\\n line-height: 102px;\\r\\n}\\r\\n\\r\\n.dash-table {\\r\\n max-height: 400px;\\r\\n}\\r\\n\\r\\n.sticky-header {\\r\\n height: 380px;\\r\\n}\\r\\n\\r\\n.sticky-header table {\\r\\n table-layout: fixed;\\r\\n}\\r\\n\\r\\n.sticky-header table.mat-table thead,\\r\\n.sticky-header table.mat-table thead th {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n top: 0px;\\r\\n z-index: 100;\\r\\n}\\r\\n\\r\\n.dash-table a:hover,\\r\\n.sticky-header a:hover {\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.-vertical .ng-scrollbar-thumb {\\r\\n min-height: 70px;\\r\\n}\\r\\n\\r\\n.dashboardchart i {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\ntd.mat-table-sticky:first-child,\\r\\ntd.mat-table-sticky:last-child {\\r\\n background-color: #fff;\\r\\n background-clip: padding-box;\\r\\n}\\r\\n\\r\\ntd.mat-table-sticky:nth-child(2) {\\r\\n background-color: #fff;\\r\\n background-clip: padding-box;\\r\\n}\\r\\n\\r\\nth.mat-table-sticky:first-child,\\r\\nth.mat-table-sticky:nth-child(2),\\r\\nth.mat-table-sticky:last-child {\\r\\n background-color: #f1f5f7;\\r\\n}\\r\\n\\r\\n.sticky-table {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.sticky-table .table-hover tbody tr:hover {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.no-fixed {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.no-fixed .table {\\r\\n table-layout: inherit;\\r\\n width: 100%;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.no-fixed .table tr.mat-header-row th {\\r\\n position: static !important;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n::ng-deep mat-select .mat-select-trigger .mat-select-value .mat-select-value-text span {\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n/*increase height of bar chart*/\\r\\n\\r\\n.bar-dash>div {\\r\\n min-height: 320px;\\r\\n}\\r\\n\\r\\n.canvas.chartjs-render-monitor {\\r\\n height: 250px !important;\\r\\n}\\r\\n\\r\\n.refresh {\\r\\n padding-right: 27px;\\r\\n}\\r\\n\\r\\n.field-clear {\\r\\n position: absolute;\\r\\n bottom: 1.8em;\\r\\n cursor: pointer;\\r\\n color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n@media (max-width: 1199px) {\\r\\n .iconbox-single {\\r\\n height: 130px;\\r\\n }\\r\\n .iconbox-single h5 {\\r\\n font-size: 30px;\\r\\n }\\r\\n .circle-icon i {\\r\\n font-size: 72px;\\r\\n line-height: 53px;\\r\\n }\\r\\n .icon-2 i {\\r\\n font-size: 90px;\\r\\n line-height: 61px;\\r\\n }\\r\\n .icon-1 i {\\r\\n font-size: 110px;\\r\\n line-height: 54px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 480px) {\\r\\n .dashboard-box .chart>div {\\r\\n width: 60px !important;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"accepted_approved_appointments\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n 0\\r\\n }\\\" stickyHeader=\\\"true\\\" [inputColumns]=\\\"allAppointmentsDisplayedColumns\\\"\\r\\n [inputSource]=\\\"allAppointmentsList\\\" [inputMeta]=\\\"allAppointmentsMeta\\\"\\r\\n (onChange)=\\\"onUpcomingAptPageOrSortChange($event)\\\" [inputButtons]=\\\"allAppointmentsActionButtons\\\">\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"view_appointment\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"reschedule\\\"|translate}}\\r\\n \\r\\n {{\\\"reschedule\\\"|translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"send_invitation\\\"|translate}}\\r\\n \\r\\n \\r\\n View Patient Profile\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{\\\"appointment_graph\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ obj.value }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ obj.value | translate}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ obj.value | translate }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n 0\\r\\n }\\\" stickyHeader=\\\"true\\\" [inputColumns]=\\\"cancelledDisplayedColumns\\\"\\r\\n [inputSource]=\\\"cancelledPatientAppointment\\\" [inputMeta]=\\\"cancelledAppointmentMeta\\\"\\r\\n [inputButtons]=\\\"cancelledActionButtons\\\" (onChange)=\\\"onCancelledPageOrSortChange($event)\\\"\\r\\n (onTableActionClick)=\\\"onTableActionClick($event)\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n 0\\r\\n }\\\" stickyHeader=\\\"true\\\" [inputColumns]=\\\"pendingDisplayedColumns\\\" [inputSource]=\\\"pendingPatientAppointment\\\"\\r\\n [inputMeta]=\\\"pendingAppointmentMeta\\\" [inputButtons]=\\\"pendingActionButtons\\\"\\r\\n (onChange)=\\\"onPendingPageOrSortChange($event)\\\"\\r\\n (onTableActionClick)=\\\"onPendingInvitationTableActionClick($event)\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { AcceptRejectAppointmentInvitationComponent } from \"./../accept-reject-appointment-invitation/accept-reject-appointment-invitation.component\";\r\nimport { InvitedRejectedComponent } from \"./invited-rejected/invited-rejected.component\";\r\nimport { InvitedAcceptedComponent } from \"./invited-accepted/invited-accepted.component\";\r\nimport { InvitedPendingComponent } from \"./invited-pending/invited-pending.component\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ResponseModel } from \"./../../super-admin-portal/core/modals/common-model\";\r\nimport { MatPaginator, MatDialog } from \"@angular/material\";\r\nimport { ContextMenuService } from \"ngx-contextmenu\";\r\nimport { ContextMenuComponent } from \"ngx-contextmenu\";\r\nimport { AppointmentViewComponent } from \"./../../platform/modules/scheduling/appointment-view/appointment-view.component\";\r\nimport { StaffAppointmentComponent } from \"./../../shared/staff-appointment/staff-appointment.component\";\r\nimport { AddNewCallerService } from \"./../../shared/add-new-caller/add-new-caller.service\";\r\nimport { AddNewCallerComponent } from \"./../../shared/add-new-caller/add-new-caller.component\";\r\nimport { SetReminderComponent } from \"./../../shared/set-reminder/set-reminder.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n ComponentFactoryResolver,\r\n ViewContainerRef,\r\n ComponentRef,\r\n} from \"@angular/core\";\r\nimport {\r\n Metadata,\r\n FilterModel,\r\n} from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { AppointmentGraphService } from \"src/app/shared/appointment-graph/appointment-graph.service\";\r\nimport { Color } from \"ng2-charts\";\r\nimport { format, addDays } from \"date-fns\";\r\nimport { merge, Subscription, Subject } from \"rxjs\";\r\nimport { ApproveAppointmentDialogComponent } from \"src/app/shared/approve-appointment-dialog/approve-appointment-dialog.component\";\r\nimport { CancelAppointmentDialogComponent } from \"src/app/shared/cancel-appointment-dialog/cancel-appointment-dialog.component\";\r\nimport { AppointmentReschedulingDialogComponent } from \"../appointment-rescheduling-dialog/appointment-rescheduling-dialog.component\";\r\nimport { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { AppointmentActionComponent } from \"src/app/platform/modules/agency-portal/appointment-action/appointment-action.component\";\r\n\r\n@Component({\r\n selector: \"app-appointment-graph\",\r\n templateUrl: \"./appointment-graph.component.html\",\r\n styleUrls: [\"./appointment-graph.component.css\"],\r\n})\r\nexport class AppointmentGraphComponent implements OnInit {\r\n contextMenu: ContextMenuComponent;\r\n currentPatientId: number = 0;\r\n currentAppointmentId: number = 0;\r\n showTooltip: boolean = false;\r\n appointId: number = 0;\r\n allAppointmentsFilterModel: FilterModel;\r\n allAppointmentsMeta: Metadata;\r\n allAppointmentsList: Array = [];\r\n allAppointmentsDisplayedColumns: Array;\r\n allAppointmentsActionButtons: Array;\r\n filterModel: FilterModel;\r\n pendingAptfilterModel: FilterModel;\r\n cancelledAptfilterModel: FilterModel;\r\n upcomingAptfilterModel: FilterModel;\r\n tentativeAptFilterModel: FilterModel;\r\n pendingAppointmentMeta: Metadata;\r\n cancelledAppointmentMeta: Metadata;\r\n tentativeAppointmentMeta: Metadata;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n pendingDisplayedColumns: Array;\r\n pendingActionButtons: Array;\r\n cancelledDisplayedColumns: Array;\r\n\r\n cancelledActionButtons: Array;\r\n tentativeDisplayedColumns: Array;\r\n tentativeActionButtons: Array;\r\n selectedIndex: number = 0;\r\n lineChartDataForAppointment: Array;\r\n showGraphAppointment: boolean = false;\r\n lineChartLabels_appointments: Array = [];\r\n lineChartOptions_appointments: any;\r\n barChartColors_appointments: Array;\r\n lineChartData_appointments: Array;\r\n filterParamsForAppointent: {\r\n statusIds: Array;\r\n appointmentTimeIntervalId: number;\r\n //isCheckTotalEnrollments: boolean\r\n CareManagerIds: Array;\r\n };\r\n\r\n masterStaffs: Array;\r\n pendingPatientAppointment: Array = [];\r\n cancelledPatientAppointment: Array = [];\r\n tentativePatientAppointment: Array = [];\r\n subscription: Subscription;\r\n currentLoginUserId: number;\r\n currentLocationId: number = 0;\r\n userRoleName: string;\r\n masterTimeIntervalData: Array = [];\r\n masterAppointmenttimeIntervalData: Array = [];\r\n masterAppointmentStatus: Array = [];\r\n filteredAppointmentStatus: Array = [];\r\n masterTaskTimeIntervalData: Array = [];\r\n filterTaskParams: {\r\n taskTypeIds: Array;\r\n timeIntervalFilterId: number;\r\n careManagerIds: Array;\r\n };\r\n // @ViewChild(\"tabContentPendingInvitation\", { read: ViewContainerRef })\r\n // tabContentPendingInvitation: ViewContainerRef;\r\n // @ViewChild(\"tabContentAcceptedInvitation\", { read: ViewContainerRef })\r\n // tabContentAcceptedInvitation: ViewContainerRef;\r\n // @ViewChild(\"tabContentRejectedInvitation\", { read: ViewContainerRef })\r\n // tabContentRejectedInvitation: ViewContainerRef;\r\n\r\n invitedDisplayedColumns: Array;\r\n invitedActionButtons: Array;\r\n invitedAptfilterModel: FilterModel;\r\n invitedAppointmentMeta: Metadata;\r\n invitedPatientAppointment: Array = [];\r\n\r\n invitedAcceptedDisplayedColumns: Array;\r\n invitedAcceptedActionButtons: Array;\r\n invitedAcceptedAptfilterModel: FilterModel;\r\n invitedAcceptedAppointmentMeta: Metadata;\r\n invitedAcceptedPatientAppointment: Array = [];\r\n\r\n invitedRejectedDisplayedColumns: Array;\r\n invitedRejectedActionButtons: Array;\r\n invitedRejectedAptfilterModel: FilterModel;\r\n invitedRejectedAppointmentMeta: Metadata;\r\n invitedRejectedPatientAppointment: Array = [];\r\n\r\n IstimeExpired = false;\r\n clientModel: any;\r\n constructor(\r\n private appointmentGraphService: AppointmentGraphService,\r\n private commonService: CommonService,\r\n private dailog: MatDialog,\r\n private cfr: ComponentFactoryResolver,\r\n private contextMenuService: ContextMenuService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private addNewCallerService: AddNewCallerService,\r\n private clientService: ClientsService,\r\n private datePipe: DatePipe,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.invitedAppointmentMeta = null;\r\n this.invitedAptfilterModel = new FilterModel();\r\n this.invitedDisplayedColumns = [\r\n {\r\n displayName: \"provider\",\r\n key: \"staffName\",\r\n //width: \"110px\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"patient\",\r\n key: \"fullName\",\r\n // width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"invitation_receiver\",\r\n key: \"inviteReceiverName\",\r\n // width: \"120px\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"appointment_type\",\r\n key: \"appointmentType\",\r\n // width: \"130px\",\r\n },\r\n {\r\n displayName: \"appointment_mode\",\r\n key: \"appointmentMode\",\r\n // width: \"60px\",\r\n },\r\n {\r\n displayName: \"date_time\",\r\n key: \"dateTimeOfService\",\r\n // width: \"250px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\",\r\n },\r\n {\r\n displayName: \"symptoms_ailments\",\r\n key: \"notes\",\r\n // width: \"250px\",\r\n type: \"50\",\r\n isInfo: true,\r\n },\r\n {\r\n displayName: \"actions\",\r\n key: \"Actions\",\r\n // width: \"80px\", \r\n sticky: true\r\n },\r\n ];\r\n\r\n this.invitedActionButtons = [];\r\n // this.invitedActionButtons = [\r\n // {\r\n // displayName: \"Accept Invitation\",\r\n // key: \"accept\",\r\n // class: \"fa fa-check\",\r\n // },\r\n // { displayName: \"Reject Invitation\", key: \"reject\", class: \"fa fa-ban\" },\r\n // ];\r\n\r\n this.invitedAcceptedAppointmentMeta = null;\r\n this.invitedAcceptedAptfilterModel = new FilterModel();\r\n this.invitedAcceptedDisplayedColumns = [\r\n {\r\n displayName: \"provider\",\r\n key: \"staffName\",\r\n //width: \"110px\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"patient\",\r\n key: \"fullName\",\r\n // width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"appointment_type\",\r\n key: \"appointmentType\",\r\n // width: \"130px\",\r\n },\r\n {\r\n displayName: \"appointment_mode\",\r\n key: \"appointmentMode\",\r\n // width: \"60px\",\r\n },\r\n {\r\n displayName: \"date_time\",\r\n key: \"dateTimeOfService\",\r\n // width: \"250px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\",\r\n },\r\n {\r\n displayName: \"symptoms_ailments\",\r\n key: \"notes\",\r\n // width: \"250px\",\r\n type: \"50\",\r\n isInfo: true,\r\n },\r\n {\r\n displayName: \"Accepted Remarks\",\r\n key: \"invitationAcceptRejectRemarks\",\r\n // width: \"250px\",\r\n type: \"50\",\r\n isInfo: true,\r\n },\r\n ];\r\n\r\n this.invitedAcceptedActionButtons = [];\r\n\r\n this.invitedRejectedAppointmentMeta = null;\r\n this.invitedRejectedAptfilterModel = new FilterModel();\r\n this.invitedRejectedDisplayedColumns = [\r\n {\r\n displayName: \"provider\",\r\n key: \"staffName\",\r\n //width: \"110px\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"patient\",\r\n key: \"fullName\",\r\n //width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"appointment_type\",\r\n key: \"appointmentType\",\r\n // width: \"120px\",\r\n },\r\n {\r\n displayName: \"appointment_mode\",\r\n key: \"appointmentMode\",\r\n //width: \"120px\",\r\n },\r\n {\r\n displayName: \"date_time\",\r\n key: \"dateTimeOfService\",\r\n //width: \"260px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\",\r\n },\r\n {\r\n displayName: \"symptoms_ailments\",\r\n key: \"notes\",\r\n // width: \"250px\",\r\n type: \"50\",\r\n isInfo: true,\r\n },\r\n {\r\n displayName: \"Rejected Remarks\",\r\n key: \"invitationAcceptRejectRemarks\",\r\n // width: \"250px\",\r\n type: \"50\",\r\n isInfo: true,\r\n },\r\n ];\r\n\r\n this.invitedRejectedActionButtons = [];\r\n\r\n this.pendingAptfilterModel = new FilterModel();\r\n this.cancelledAptfilterModel = new FilterModel();\r\n this.upcomingAptfilterModel = new FilterModel();\r\n this.tentativeAptFilterModel = new FilterModel();\r\n this.allAppointmentsFilterModel = new FilterModel();\r\n this.allAppointmentsMeta = null;\r\n\r\n this.filterParamsForAppointent = {\r\n statusIds: [],\r\n appointmentTimeIntervalId: null,\r\n CareManagerIds: [],\r\n };\r\n\r\n this.pendingDisplayedColumns = [\r\n {\r\n displayName: \"provider\",\r\n key: \"staffName\",\r\n //width: \"110px\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"patient\",\r\n key: \"fullName\",\r\n // width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"appointment_type\",\r\n key: \"appointmentType\",\r\n // width: \"120px\",\r\n },\r\n {\r\n displayName: \"appointment_mode\",\r\n key: \"appointmentMode\",\r\n width: \"120px\",\r\n },\r\n {\r\n displayName: \"date_time\",\r\n key: \"dateTimeOfService\",\r\n // width: \"280px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\",\r\n },\r\n {\r\n displayName: \"symptoms_ailments\",\r\n key: \"notes\",\r\n //width: \"160px\",\r\n type: \"50\",\r\n isInfo: true,\r\n },\r\n {\r\n displayName: \"actions\", key: \"Actions\",\r\n // width: \"80px\",\r\n sticky: true\r\n },\r\n ];\r\n\r\n this.pendingActionButtons = [\r\n { displayName: \"Approve\", key: \"PendingAction\", class: \"fa fa-check\" },\r\n // { displayName: \"Cancel\", key: \"cancel\", class: \"fa fa-ban\" },\r\n ];\r\n\r\n this.cancelledDisplayedColumns = [\r\n {\r\n displayName: \"provider\",\r\n key: \"staffName\",\r\n //width: \"100px\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"patient\",\r\n key: \"fullName\",\r\n // width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"appointment_type\",\r\n key: \"appointmentType\",\r\n // width: \"80px\",\r\n },\r\n {\r\n displayName: \"appointment_mode\",\r\n key: \"appointmentMode\",\r\n // width: \"80px\",\r\n },\r\n {\r\n displayName: \"date_time\",\r\n key: \"dateTimeOfService\",\r\n //width: \"280px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\",\r\n },\r\n {\r\n displayName: \"symptoms_ailments\",\r\n key: \"notes\",\r\n // width: \"160px\",\r\n type: \"50\",\r\n isInfo: true,\r\n },\r\n {\r\n displayName: \"cancel_type\", key: \"cancelType\",\r\n //width: \"140px\"\r\n },\r\n {\r\n displayName: \"cancel_reason\", key: \"cancelReason\",\r\n //width: \"180px\"\r\n },\r\n {\r\n displayName: \"actions\", key: \"Actions\",\r\n // width: \"60px\", \r\n sticky: true\r\n },\r\n ];\r\n this.cancelledActionButtons = [];\r\n\r\n this.tentativeDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n // width: \"110px\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n // width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n // width: \"120px\",\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n // width: \"120px\",\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n // width: \"280px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\",\r\n },\r\n {\r\n displayName: \"Actions\", key: \"Actions\",\r\n //width: \"80px\",\r\n sticky: true\r\n },\r\n ];\r\n this.tentativeActionButtons = [];\r\n\r\n this.allAppointmentsDisplayedColumns = [\r\n {\r\n displayName: \"provider\",\r\n key: \"staffName\",\r\n class: \"\",\r\n //width: \"110px\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"patient\",\r\n key: \"fullName\",\r\n class: \"\",\r\n // width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"appointment_type\",\r\n key: \"appointmentType\",\r\n // width: \"130px\",\r\n },\r\n {\r\n displayName: \"appointment_mode\",\r\n key: \"appointmentMode\",\r\n // width: \"130px\",\r\n },\r\n {\r\n displayName: \"date_time\",\r\n key: \"dateTimeOfService\",\r\n //width: \"280px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\",\r\n },\r\n {\r\n displayName: \"time_remaining\",\r\n key: \"startDateTime\",\r\n // width: \"280px\",\r\n type: \"count\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\",\r\n },\r\n {\r\n displayName: \"symptoms_ailments\",\r\n key: \"notes\",\r\n // width: \"160px\",\r\n type: \"50\",\r\n isInfo: true,\r\n },\r\n // {\r\n // displayName: \"Rating\",\r\n // key: \"rating\",\r\n // width: \"110px\",\r\n // type: \"rating\"\r\n // },\r\n // {\r\n // displayName: \"Review\",\r\n // key: \"review\",\r\n // width: \"150px\",\r\n // type: \"50\"\r\n // },\r\n // { displayName: \"Status\", key: \"statusName\", width: \"80px\" },\r\n {\r\n displayName: \"Actions\", key: \"Actions\",\r\n //width: \"50px\" \r\n },\r\n ];\r\n this.allAppointmentsActionButtons = [\r\n // {\r\n // displayName: \"Waiting-room info\",\r\n // key: \"video\",\r\n // class: \"fa fa-wpforms fa-custom\",\r\n // //class:\" fa fa-video-camera\"\r\n // },\r\n {\r\n displayName: \"Action\",\r\n key: \"bookingMode\",\r\n class: \"fa fa-wpforms fa-custom\",\r\n },\r\n ];\r\n this.lineChartData_appointments = [];\r\n\r\n (this.lineChartData_appointments = []), (this.masterStaffs = []);\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription = this.commonService.currentLoginUserInfo.subscribe(\r\n (user: any) => {\r\n if (user) {\r\n this.currentLoginUserId = user.id;\r\n this.currentLocationId = user.currentLocationId;\r\n this.userRoleName =\r\n user && user.users3 && user.users3.userRoles.userType;\r\n //this.isAdmin = true;\r\n\r\n if (this.currentLoginUserId > 0) {\r\n //this.filterTaskParams.careManagerIds = [this.currentLoginUserId];\r\n // this.filterCareGapGraph.CareManagerIds = [this.currentLoginUserId];\r\n this.filterParamsForAppointent.CareManagerIds = [\r\n this.currentLoginUserId,\r\n ];\r\n //this.filterAlerts.CareManagerIds = [this.currentLoginUserId];\r\n //this.filterParamsForEncounter.CareManagerIds = [this.currentLoginUserId];\r\n let CMIdArray = [];\r\n CMIdArray.push(this.currentLoginUserId);\r\n // this.filterParamsForHRA.careManagerIds = CMIdArray;\r\n }\r\n this.filterParamsForAppointent.CareManagerIds = [\r\n this.currentLoginUserId,\r\n ];\r\n // this.filterAlerts.CareManagerIds = [this.currentLoginUserId];\r\n }\r\n }\r\n );\r\n this.getMasterData();\r\n this.getStaffsByLocation();\r\n this.getUserPermissions();\r\n this.getAllPatientAppointmentList();\r\n }\r\n\r\n CheckTime(value): boolean {\r\n // var currentDate = new Date();\r\n // const y = new Date(currentDate).getFullYear(),\r\n // m = new Date(currentDate).getMonth(),\r\n // d = new Date(currentDate).getDate(),\r\n // splitTime = new Date(currentDate).getTime(),\r\n // hours = new Date(currentDate).getHours(),\r\n // minutes = new Date(currentDate).getMinutes();\r\n // var totalMinutes = +hours * 60 + +minutes;\r\n // var row = value;\r\n // var rdate = new Date(row.endDateTime);\r\n // var endTime = row.endDateTime.split(\"T\");\r\n // var endTimeArr = endTime[1].split(\":\");\r\n // var endHour = endTimeArr[0];\r\n // var endMin = endTimeArr[1];\r\n // var totalEndMinutes = +endHour * 60 + +endMin;\r\n // var icons = \"\";\r\n // if (totalEndMinutes > totalMinutes && rdate >= currentDate) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n\r\n var curDate = this.datePipe.transform(new Date(), \"yyyy-MM-dd HH:mm:ss a\");\r\n var selDate = this.datePipe.transform(new Date(value.endDateTime), \"yyyy-MM-dd HH:mm:ss a\");\r\n if (selDate < curDate) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n getMasterData() {\r\n const masterData = {\r\n masterdata:\r\n \"CAREPLANSTATUSFILTER,APPOINTMENTIMEGRAPHFILTER,APPOINTMENTSTATUS,ENCOUNTERTYPES,ENCOUNTERGRAPHFILTER,MASTERTASKSTIMEINTERVAL,PATIENTCAREGAPSTATUS,ALERTSINDICATORFILTER,MASTERCAREGAPSTIMEINTERVAL,MASTERENROLLMENTTYPEFILTER\",\r\n };\r\n this.appointmentGraphService\r\n .getMasterData(masterData)\r\n .subscribe((response: any) => {\r\n const staticEncTypes = [\r\n \"Acute Care\",\r\n \"Wellness Visit\",\r\n \"Administrative\",\r\n \"Disease Management\",\r\n ];\r\n\r\n this.masterTimeIntervalData = response.carePlanStatusFilter || [];\r\n this.masterAppointmenttimeIntervalData =\r\n response.appointmentTimeGraphFilter || [];\r\n this.masterAppointmentStatus = response.appointmentStatus || [];\r\n this.filteredAppointmentStatus = this.masterAppointmentStatus.filter(item =>\r\n item.value !== 'Pending' && item.value !== 'Invitation_Rejected'\r\n );\r\n\r\n // this.masterEncountertimeIntervalData = response.encounterGraphfilter || [];\r\n this.masterTaskTimeIntervalData =\r\n response.masterTasksTimeInterval || [];\r\n // this.masterCareGapsStatus = response.patientCareGapStatus || [];\r\n // this.masterAlertTypes = response.masterLoadAlerts || [];\r\n // this.masterCareGapsTimeIntervalData = response.masterCareGapsTimeInterval || [];\r\n // this.masterEnrollmentTypeFilter = response.masterEnrollmentTypeFilter || [];\r\n\r\n let defaultTimeIntervalObj = this.masterTimeIntervalData.find(\r\n (x) => x.value == \"Monthly\"\r\n );\r\n // let defautlEncTimeIntervalObj = this.masterEncountertimeIntervalData.find(x => x.value == 'Weekly');\r\n let defaultAptTimeIntervalObj =\r\n this.masterAppointmenttimeIntervalData.find(\r\n (x) => x.value == \"Monthly\"\r\n );\r\n // let defaultTaskTimeIntervalObj = this.masterTaskTimeIntervalData.find(x => (x.value || '').split('(')[0].trim() == 'Weekly');\r\n // let defaultCareGapStatusObj = this.masterCareGapsStatus.find(x => x.value.toLowerCase() == 'open');\r\n // let defaultCareGapIntervalObj = this.masterCareGapsTimeIntervalData.find(x => (x.value || '').split('(')[0].trim() == 'Weekly');\r\n // let defaultEnrollTypeObj = this.masterEnrollmentTypeFilter.find(x => x.value == 'All');\r\n\r\n //this.filterParams.timeIntervalFilterId = defaultTimeIntervalObj && defaultTimeIntervalObj.id;\r\n // this.filterAlerts.EnrollmentId = defaultEnrollTypeObj && defaultEnrollTypeObj.id;\r\n // let idArray = this.masterAppointmentStatus.Select(x=>x.id);\r\n let idArray = this.masterAppointmentStatus.map(function (a) {\r\n return a.id;\r\n });\r\n this.filterParamsForAppointent.statusIds = idArray || [];\r\n\r\n // this.filterParamsForEncounter.encounterTimeIntervalId = defautlEncTimeIntervalObj && defautlEncTimeIntervalObj.id;\r\n this.filterParamsForAppointent.appointmentTimeIntervalId =\r\n defaultAptTimeIntervalObj && defaultAptTimeIntervalObj.id;\r\n //this.filterTaskParams.timeIntervalFilterId = defaultTaskTimeIntervalObj && defaultTaskTimeIntervalObj.id;\r\n //this.filterCareGapGraph.StatusIds = defaultCareGapStatusObj && defaultCareGapStatusObj.id;\r\n // this.filterCareGapGraph.TimeIntervalId = defaultCareGapIntervalObj && defaultCareGapIntervalObj.id;\r\n //this.filterCareGapGraph.EnrollmentId = defaultEnrollTypeObj && defaultEnrollTypeObj.id;\r\n\r\n // this.filterParamsForEncounter.encounterTypeIds = (response.encounterTypes || []).filter(x => staticEncTypes.includes(x.value)).map(x => x.id);\r\n // this.filterParamsForEncounter.EnrollmentId = defaultEnrollTypeObj && defaultEnrollTypeObj.id;\r\n // if (this.filterParams.timeIntervalFilterId > 0) {\r\n // this.getDataForProgramEnrollesLineChart(this.filterParams)\r\n // }\r\n if (this.filterParamsForAppointent.appointmentTimeIntervalId > 0) {\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n\r\n // if (this.filterCareGapGraph.StatusIds > 0 && this.filterCareGapGraph.TimeIntervalId > 0) {\r\n // this.getDataForCareGapStatusPieChart();\r\n // }\r\n\r\n // if (this.filterParamsForEncounter.encounterTimeIntervalId > 0) {\r\n // this.getDataForEncounterLineChart(this.filterParamsForEncounter)\r\n // }\r\n\r\n // if (this.filterAlerts.EnrollmentId > 0) {\r\n // this.getDataForAlertGraph();\r\n // }\r\n // this.viewEmptyEncounterGraph();\r\n // this.viewEmptyAppointmentGraph();\r\n });\r\n }\r\n onApptGraphCMSelect(event: any) {\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n onStatusSelect(event: any) {\r\n let statusIdArray = event.value;\r\n this.filterParamsForAppointent.statusIds = statusIdArray || [];\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n onAppointmenttimeInterval(event: any) {\r\n this.filterParamsForAppointent.appointmentTimeIntervalId = event.value;\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n onResetApptCMDropdown() {\r\n this.filterParamsForAppointent.CareManagerIds = [];\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n onTabChanged(event: any) {\r\n //////;\r\n this.selectedIndex = event.index;\r\n this.showTooltip = false;\r\n if (event.index == 0) {\r\n this.showTooltip = true;\r\n this.getAllPatientAppointmentList();\r\n } else if (event.index == 1) {\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n } else if (event.index == 2) {\r\n // this.getPendignPatientAppointmentList();\r\n this.getCancelledPatientAppointmentList();\r\n } else if (event.index == 3) {\r\n this.getPendignPatientAppointmentList();\r\n } else if (event.index == 4) {\r\n this.getPendingInvitedPatientAppointmentList();\r\n } else if (event.index == 5) {\r\n this.getAcceptedInvitedPatientAppointmentList();\r\n } else if (event.index == 6) {\r\n this.getRejectedInvitedPatientAppointmentList();\r\n }\r\n // else if (event.index == 4) {\r\n // this.loadChild(InvitedPendingComponent, this.tabContentPendingInvitation);\r\n // } else if (event.index == 5) {\r\n // this.loadChild(\r\n // InvitedAcceptedComponent,\r\n // this.tabContentAcceptedInvitation\r\n // );\r\n // } else if (event.index == 6) {\r\n // this.loadChild(\r\n // InvitedRejectedComponent,\r\n // this.tabContentRejectedInvitation\r\n // );\r\n // }\r\n }\r\n loadChild(component: any, tabContent: ViewContainerRef) {\r\n let factory: any;\r\n factory = this.cfr.resolveComponentFactory(component);\r\n tabContent.clear();\r\n let comp: ComponentRef =\r\n tabContent.createComponent(factory);\r\n //comp.instance.handleTabChange.subscribe(this.handleTabChange.bind(this));\r\n }\r\n\r\n getDataForAppointmentLineChart(filterParamsForAppointent: any) {\r\n this.appointmentGraphService\r\n .getLineChartDataForAppointments(filterParamsForAppointent)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.lineChartDataForAppointment = response.data || [];\r\n // this.viewAppointmentLineGraph();\r\n if (\r\n this.lineChartDataForAppointment &&\r\n this.lineChartDataForAppointment.length > 0\r\n ) {\r\n this.viewAppointmentLineGraph();\r\n } else {\r\n this.showGraphAppointment = false;\r\n }\r\n } else {\r\n this.lineChartDataForAppointment = [];\r\n }\r\n });\r\n }\r\n getAllPatientAppointmentList(pageNumber: number = 1, pageSize: number = 5) {\r\n const filters = {\r\n // locationIds: this.currentLocationId,\r\n // staffIds: (this.userRoleName || '').toUpperCase() == 'ADMIN' ? \"\" : this.currentLoginUserId,\r\n //fromDate: format(new Date(), \"YYYY-MM-DD\"),\r\n //toDate: format(addDays(new Date(), 720), \"YYYY-MM-DD\"),\r\n // status: 'Approved',\r\n pageNumber,\r\n pageSize,\r\n };\r\n var curDate = this.datePipe.transform(new Date(), \"yyyy-MM-dd HH:mm:ss a\");\r\n this.appointmentGraphService\r\n .getAcceptedOrApprovedAppointmentList(filters)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.allAppointmentsList =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.allAppointmentsList = (this.allAppointmentsList || []).map(\r\n (x) => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n (y) => y.staffName\r\n );\r\n // console.log(this.allAppointmentsList);\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n (y) => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"DD/MM/YYYY\"),\r\n });\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"DD/MM/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n\r\n x.netAmount = \"JOD \" + x.netAmount;\r\n if (x.statusName == \"Invitation_Rejected\") {\r\n x.statusName = \"Cancelled\"\r\n }\r\n if (x.statusName == \"Invited\") {\r\n x.statusName = \"Pending\"\r\n }\r\n x.showActionButton = this.datePipe.transform(new Date(x.endDateTime), \"yyyy-MM-dd HH:mm:ss a\") < curDate ? false : true;\r\n return x;\r\n }\r\n );\r\n this.allAppointmentsMeta = response.meta;\r\n }\r\n this.allAppointmentsMeta.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n getPendignPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getPendingPatientAppointment(this.pendingAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.pendingPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.pendingPatientAppointment = (\r\n this.pendingPatientAppointment || []\r\n ).map((x) => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n (y) => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n (y) => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"DD/MM/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"DD/MM/YYYY\"),\r\n });\r\n return x;\r\n });\r\n this.pendingAppointmentMeta = response.meta;\r\n\r\n this.commonService.setPendingAppointment(this.pendingAppointmentMeta.totalRecords.toString());\r\n localStorage.setItem(\"pendingAppointment\", this.pendingAppointmentMeta.totalRecords.toString());\r\n } else {\r\n this.pendingPatientAppointment = [];\r\n this.pendingAppointmentMeta = null;\r\n localStorage.setItem(\"pendingAppointment\", '0');\r\n\r\n }\r\n });\r\n }\r\n\r\n getCancelledPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getCancelledPatientAppointment(this.cancelledAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.cancelledPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.cancelledPatientAppointment = (\r\n this.cancelledPatientAppointment || []\r\n ).map((x) => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n (y) => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n (y) => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"DD/MM/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"DD/MM/YYYY\"),\r\n });\r\n return x;\r\n });\r\n this.cancelledAppointmentMeta = response.meta;\r\n } else {\r\n this.cancelledPatientAppointment = [];\r\n this.cancelledAppointmentMeta = null;\r\n }\r\n this.cancelledAppointmentMeta.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n\r\n getTentativePatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getTentativePatientAppointmentList(this.tentativeAptFilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.tentativePatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.tentativePatientAppointment = (\r\n this.tentativePatientAppointment || []\r\n ).map((x) => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n (y) => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n (y) => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"DD/MM/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"DD/MM/YYYY\"),\r\n });\r\n return x;\r\n });\r\n this.tentativeAppointmentMeta = response.meta;\r\n } else {\r\n this.tentativePatientAppointment = [];\r\n this.tentativeAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n viewAppointmentLineGraph() {\r\n this.showGraphAppointment = true;\r\n let appointmentArrayMonth = Array.from(\r\n new Set(this.lineChartDataForAppointment.map((x) => x.xAxis))\r\n ).map((xAxis) => {\r\n let x = this.lineChartDataForAppointment.find((x) => x.xAxis == xAxis);\r\n return {\r\n ...x,\r\n };\r\n });\r\n let resultArrayAppointment = Array.from(\r\n new Set(this.lineChartDataForAppointment.map((x) => x.appointmentStatus))\r\n )\r\n .sort()\r\n .map((appointmentStatus) => {\r\n return this.lineChartDataForAppointment.find(\r\n (x) => x.appointmentStatus == appointmentStatus\r\n ).appointmentStatus;\r\n });\r\n\r\n if (resultArrayAppointment.includes(\"Accepted\")) {\r\n resultArrayAppointment.push(resultArrayAppointment.shift());\r\n }\r\n let bgColors = resultArrayAppointment.map((appointmentStatus) => {\r\n return this.lineChartDataForAppointment.find(\r\n (x) => x.appointmentStatus == appointmentStatus\r\n ).color;\r\n });\r\n\r\n this.lineChartLabels_appointments = [];\r\n this.lineChartOptions_appointments = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n };\r\n this.barChartColors_appointments = [\r\n //{ backgroundColor: \"rgb(147, 238, 147)\" },\r\n { backgroundColor: \"rgb(122, 219, 131)\" },\r\n { backgroundColor: \"rgb(255, 132, 132)\" },\r\n { backgroundColor: \"rgb(116, 217, 255)\" },\r\n { backgroundColor: \"rgb(253, 209, 100)\" },\r\n ];\r\n // if ((bgColors || []).filter((x) => x != null).length > 0) {\r\n // this.barChartColors_appointments = (bgColors || []).map((c) => {\r\n // return { backgroundColor: c };\r\n // });\r\n // console.log(this.barChartColors_appointments,\"barChartColors_appointments\")\r\n // }\r\n if (appointmentArrayMonth.length > 0) {\r\n let sortedMonth = appointmentArrayMonth.sort((a, b) => {\r\n return (\r\n new Date(a.yearNumber).getTime() - new Date(b.yearNumber).getTime()\r\n );\r\n });\r\n this.lineChartLabels_appointments = sortedMonth\r\n .filter((x) => x.xAxis != null)\r\n .map(({ xAxis, yearNumber }) => xAxis);\r\n }\r\n if (resultArrayAppointment && resultArrayAppointment.length > 0) {\r\n let newChartDataArray = [];\r\n const filteredResultArray = resultArrayAppointment.filter(status =>\r\n status !== 'Pending' && status !== 'Invitation_Rejected'\r\n );\r\n for (let i = 0; i < filteredResultArray.length; i++) {\r\n newChartDataArray.push({\r\n label: filteredResultArray[i],\r\n data: this.lineChartDataForAppointment\r\n .filter((x) => x.appointmentStatus == filteredResultArray[i])\r\n .sort((a, b) => {\r\n return a.monthNumber - b.monthNumber;\r\n })\r\n .map(({ appointmentCount }) => parseInt(appointmentCount)),\r\n fill: false,\r\n stack: \"a\",\r\n });\r\n }\r\n // this.lineChartData_appointments = [...newChartDataArray];\r\n this.lineChartData_appointments = newChartDataArray.map(item => {\r\n return {\r\n ...item,\r\n label: this.translate.instant(item.label) // Translate the 'label' or relevant property\r\n };\r\n });\r\n\r\n }\r\n }\r\n getStaffsByLocation(): void {\r\n const locId = (this.currentLocationId || 0).toString();\r\n this.appointmentGraphService\r\n .getStaffAndPatientByLocation(locId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode == 200) {\r\n if ((this.userRoleName || \"\").toUpperCase() == \"ADMIN\") {\r\n this.masterStaffs = response.data.staff || [];\r\n } else {\r\n this.masterStaffs.push(\r\n response.data.staff.find((x) => x.id == this.currentLoginUserId)\r\n );\r\n }\r\n } else {\r\n this.masterStaffs = [];\r\n }\r\n });\r\n }\r\n onPendingPageOrSortChange(changeState?: any) {\r\n this.setPendingPaginatorModel(\r\n changeState.pageNumber,\r\n 5,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getPendignPatientAppointmentList();\r\n }\r\n onCancelledPageOrSortChange(changeState?: any) {\r\n this.setCancelledPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getCancelledPatientAppointmentList();\r\n }\r\n onUpcomingAptPageOrSortChange(changeState?: any) {\r\n this.setUpcomingPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getAllPatientAppointmentList(\r\n changeState.pageNumber,\r\n changeState.pageSize\r\n );\r\n }\r\n onTentativeAptPageOrSortChange(changeState?: any) {\r\n this.setTentativeAptPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getTentativePatientAppointmentList();\r\n }\r\n setPendingPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.pendingAptfilterModel.pageNumber = pageNumber;\r\n this.pendingAptfilterModel.pageSize = pageSize;\r\n this.pendingAptfilterModel.sortOrder = sortOrder;\r\n this.pendingAptfilterModel.sortColumn = sortColumn;\r\n }\r\n setCancelledPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.cancelledAptfilterModel.pageNumber = pageNumber;\r\n this.cancelledAptfilterModel.pageSize = pageSize;\r\n this.cancelledAptfilterModel.sortOrder = sortOrder;\r\n this.cancelledAptfilterModel.sortColumn = sortColumn;\r\n }\r\n setUpcomingPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.upcomingAptfilterModel.pageNumber = pageNumber;\r\n this.upcomingAptfilterModel.pageSize = pageSize;\r\n this.upcomingAptfilterModel.sortOrder = sortOrder;\r\n this.upcomingAptfilterModel.sortColumn = sortColumn;\r\n }\r\n setTentativeAptPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.tentativeAptFilterModel.pageNumber = pageNumber;\r\n this.tentativeAptFilterModel.pageSize = pageSize;\r\n this.tentativeAptFilterModel.sortOrder = sortOrder;\r\n this.tentativeAptFilterModel.sortColumn = sortColumn;\r\n }\r\n /**************Remove the permission restriction for the provider as per Client request */\r\n //Note:The below section code is to restrict access from cancel appointment\r\n // getUserPermissions() {\r\n // const schedulerActionPermissions =\r\n // this.appointmentGraphService.getUserScreenActionPermissions(\r\n // \"SCHEDULING\",\r\n // \"SCHEDULING_LIST\"\r\n // );\r\n // const {\r\n // SCHEDULING_LIST_CANCEL_APPOINTMENT,\r\n // SCHEDULING_LIST_APPROVE_APPOINTMENT,\r\n // } = schedulerActionPermissions;\r\n // let userRole: string = \"\";\r\n // this.commonService.userRole.subscribe((res) => {\r\n // userRole = res;\r\n // });\r\n\r\n // if ((userRole || \"\").toUpperCase() != \"PROVIDER\") {\r\n // let spliceIndex = this.pendingActionButtons.findIndex(\r\n // (obj) => obj.key == \"approve\"\r\n // );\r\n // this.pendingActionButtons.splice(spliceIndex, 1);\r\n // }\r\n\r\n // // if (!SCHEDULING_LIST_APPROVE_APPOINTMENT) {\r\n // // let spliceIndex = this.pendingActionButtons.findIndex(obj => obj.key == 'approve');\r\n // // this.pendingActionButtons.splice(spliceIndex, 1)\r\n // // }\r\n // if (!SCHEDULING_LIST_CANCEL_APPOINTMENT) {\r\n // let spliceIndex = this.pendingActionButtons.findIndex(\r\n // (obj) => obj.key == \"cancel\"\r\n // );\r\n // this.pendingActionButtons.splice(spliceIndex, 1);\r\n // }\r\n // }\r\n /*****************************************end function */\r\n\r\n\r\n\r\n getUserPermissions() {\r\n const schedulerActionPermissions =\r\n this.appointmentGraphService.getUserScreenActionPermissions(\r\n \"SCHEDULING\",\r\n \"SCHEDULING_LIST\"\r\n );\r\n const {\r\n SCHEDULING_LIST_CANCEL_APPOINTMENT,\r\n SCHEDULING_LIST_APPROVE_APPOINTMENT,\r\n } = schedulerActionPermissions;\r\n let userRole: string = \"\";\r\n this.commonService.userRole.subscribe((res) => {\r\n userRole = res;\r\n });\r\n\r\n // if ((userRole || \"\").toUpperCase() != \"PROVIDER\") {\r\n // let spliceIndex = this.pendingActionButtons.findIndex(\r\n // (obj) => obj.key == \"approve\"\r\n // );\r\n // this.pendingActionButtons.splice(spliceIndex, 1);\r\n // }\r\n\r\n // if (!SCHEDULING_LIST_APPROVE_APPOINTMENT) {\r\n // let spliceIndex = this.pendingActionButtons.findIndex(obj => obj.key == 'approve');\r\n // this.pendingActionButtons.splice(spliceIndex, 1)\r\n // }\r\n // if (!SCHEDULING_LIST_CANCEL_APPOINTMENT) {\r\n // let spliceIndex = this.pendingActionButtons.findIndex(\r\n // (obj) => obj.key == \"cancel\"\r\n // );\r\n // this.pendingActionButtons.splice(spliceIndex, 1);\r\n // }\r\n }\r\n\r\n\r\n\r\n\r\n onTableActionClick(actionObj?: any) {\r\n const id = actionObj.data && actionObj.data.patientAppointmentId;\r\n\r\n // console.log(actionObj);\r\n\r\n // switch ((actionObj.action || \"\").toUpperCase()) {\r\n // case \"APPROVE\":\r\n // const appointmentData = {\r\n // id: id,\r\n // status: \"APPROVED\",\r\n // };\r\n // this.createApproveAppointmentModel(appointmentData);\r\n // break;\r\n // case \"CANCEL\":\r\n // this.cancelAppointmentDialog(id);\r\n // break;\r\n // default:\r\n // break;\r\n // }\r\n }\r\n\r\n CheckIstimeExpired = (item: any): boolean => {\r\n return this.IstimeExpired;\r\n };\r\n\r\n onTableRowClick(actionObj?: any) {\r\n this.currentAppointmentId = actionObj.data.patientAppointmentId;\r\n this.currentPatientId = actionObj.data.patientID;\r\n this.IstimeExpired = this.CheckTime(actionObj.data);\r\n //console.log(actionObj.data);\r\n if (this.selectedIndex == 0 && actionObj.action != \"video\" && actionObj.action != \"bookingMode\") {\r\n this.onContextMenu(actionObj.action);\r\n }\r\n switch ((actionObj.action || \"\")) {\r\n case \"VIDEO\":\r\n // this.router.navigate([\"/web/encounter/soap\"], {\r\n // queryParams: {\r\n // apptId: this.currentAppointmentId,\r\n // encId: actionObj.data.patientEncounterId\r\n // },\r\n // });\r\n this.router.navigate([\r\n \"/web/waiting-room/\" + this.currentAppointmentId,\r\n ]);\r\n break;\r\n case \"bookingMode\":\r\n this.router.navigate([\r\n \"/web/waiting-room/assessment/\" + actionObj.data.patientAppointmentId,\r\n ]);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n createApproveAppointmentModel(appointmentData: any) {\r\n let dbModal;\r\n dbModal = this.dailog.open(ApproveAppointmentDialogComponent, {\r\n hasBackdrop: true,\r\n data: appointmentData,\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") {\r\n this.getPendignPatientAppointmentList();\r\n }\r\n });\r\n }\r\n cancelAppointmentDialog(id: number) {\r\n let dbModal;\r\n dbModal = this.dailog.open(CancelAppointmentDialogComponent, {\r\n hasBackdrop: true,\r\n data: id,\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") {\r\n this.getPendignPatientAppointmentList();\r\n }\r\n });\r\n }\r\n\r\n // getPendingInvitedPatientAppointmentList() {\r\n // this.appointmentGraphService\r\n // .getPendingInvitedPatientAppointment(this.invitedAptfilterModel)\r\n // .subscribe((response: ResponseModel) => {\r\n // if (response != null && response.statusCode == 200) {\r\n // this.invitedPatientAppointment =\r\n // response.data != null && response.data.length > 0\r\n // ? response.data\r\n // : [];\r\n // this.invitedPatientAppointment = (\r\n // this.invitedPatientAppointment || []\r\n // ).map((x) => {\r\n // const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n // (y) => y.staffName\r\n // );\r\n // const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n // (y) => y.staffId\r\n // );\r\n // x.staffName = staffsArray.join(\", \");\r\n // x.dateTimeOfService =\r\n // format(x.startDateTime, \"MM/DD/YYYY\") +\r\n // \" (\" +\r\n // format(x.startDateTime, \"h:mm A\") +\r\n // \" - \" +\r\n // format(x.endDateTime, \"h:mm A\") +\r\n // \")\";\r\n // (x[\"queryParamsPatientObj\"] = {\r\n // id:\r\n // x.patientID > 0\r\n // ? this.commonService.encryptValue(x.patientID, true)\r\n // : null,\r\n // }),\r\n // (x[\"queryParamsObj\"] = {\r\n // id:\r\n // x.patientID > 0\r\n // ? this.commonService.encryptValue(x.patientID, true)\r\n // : null,\r\n // staffId: staffIds.join(\",\"),\r\n // date: format(x.startDateTime, \"MM/DD/YYYY\"),\r\n // });\r\n // return x;\r\n // });\r\n // this.invitedAppointmentMeta = response.meta;\r\n // } else {\r\n // this.invitedPatientAppointment = [];\r\n // this.invitedAppointmentMeta = null;\r\n // }\r\n // this.invitedAppointmentMeta.pageSizeOptions = [5, 10, 25, 50, 100];\r\n // });\r\n // }\r\n\r\n getPendingInvitedPatientAppointmentList() {\r\n this.addNewCallerService\r\n .getInvitedMemberList(this.invitedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedPatientAppointment = (\r\n this.invitedPatientAppointment || []\r\n ).map((x) => {\r\n x.dateTimeOfService =\r\n format(x.startDateTime, 'DD/MM/YYYY') +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n return x;\r\n });\r\n this.invitedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedPatientAppointment = [];\r\n this.invitedAppointmentMeta = null;\r\n }\r\n this.invitedAppointmentMeta.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n\r\n onPendingInvitationTableActionClick(actionObj?: any) {\r\n\r\n let dbModal;\r\n dbModal = this.dailog.open(AppointmentActionComponent, {\r\n hasBackdrop: true,\r\n data: actionObj.data,\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"approve\") {\r\n const appointmentAcceptData = {\r\n title: \"Approved\",\r\n appointmentId: actionObj.data.patientAppointmentId,\r\n status: \"APPROVED\",\r\n };\r\n this.createAcceptRejectInvitationAppointmentModel(\r\n appointmentAcceptData\r\n );\r\n } else if (result == \"cancel\") {\r\n const appointmentRejectData = {\r\n title: \"Reject\",\r\n appointmentId: actionObj.data.patientAppointmentId,\r\n status: \"Invitation_Rejected\",\r\n };\r\n this.createAcceptRejectInvitationAppointmentModel(\r\n appointmentRejectData\r\n );\r\n } else {\r\n // console.log(\"close\");\r\n }\r\n });\r\n // const id = actionObj.data && actionObj.data.patientAppointmentId;\r\n // switch ((actionObj.action || \"\").toUpperCase()) {\r\n // case \"ACCEPT\":\r\n // const appointmentAcceptData = {\r\n // title: \"Approved\",\r\n // appointmentId: id,\r\n // status: \"APPROVED\",\r\n // };\r\n // this.createAcceptRejectInvitationAppointmentModel(\r\n // appointmentAcceptData\r\n // );\r\n // break;\r\n // case \"REJECT\":\r\n // const appointmentRejectData = {\r\n // title: \"Reject\",\r\n // appointmentId: id,\r\n // status: \"invitation rejected\",\r\n // };\r\n // this.createAcceptRejectInvitationAppointmentModel(\r\n // appointmentRejectData\r\n // );\r\n // break;\r\n // default:\r\n // break;\r\n // }\r\n }\r\n createAcceptRejectInvitationAppointmentModel(appointmentData: any) {\r\n let dbModal;\r\n dbModal = this.dailog.open(AcceptRejectAppointmentInvitationComponent, {\r\n hasBackdrop: true,\r\n data: appointmentData,\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") {\r\n this.getPendingInvitedPatientAppointmentList();\r\n }\r\n });\r\n }\r\n getAcceptedInvitedPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getAcceptedInvitedPatientAppointment(this.invitedAcceptedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedAcceptedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedAcceptedPatientAppointment = (\r\n this.invitedAcceptedPatientAppointment || []\r\n ).map((x) => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n (y) => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n (y) => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, 'DD/MM/YYYY') +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, 'DD/MM/YYYY'),\r\n });\r\n return x;\r\n });\r\n this.invitedAcceptedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedAcceptedPatientAppointment = [];\r\n this.invitedAcceptedAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n onContextMenu($event: MouseEvent) {\r\n this.contextMenuService.show.next({\r\n anchorElement: $event.target,\r\n // Optional - if unspecified, all context menu components will open\r\n contextMenu: this.contextMenu,\r\n event: $event,\r\n item: 5,\r\n });\r\n\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n openDialogBookAppointment(\r\n staffId: number,\r\n providerId: string,\r\n type: boolean\r\n ) {\r\n let dbModal;\r\n dbModal = this.dailog.open(AppointmentReschedulingDialogComponent, {\r\n hasBackdrop: true,\r\n minWidth: \"50%\",\r\n maxWidth: \"50%\",\r\n data: {\r\n staffId: staffId,\r\n userInfo: null,\r\n providerId: providerId,\r\n locationId: this.currentLocationId || 0,\r\n isNewAppointment: type,\r\n appointmentId: type ? 0 : this.currentAppointmentId,\r\n patientId: type ? 0 : this.currentPatientId,\r\n age:\r\n this.clientModel && this.clientModel.age != 0\r\n ? this.clientModel.age\r\n : 1,\r\n },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n if (result == \"booked\") {\r\n }\r\n } else {\r\n this.getAllPatientAppointmentList();\r\n }\r\n });\r\n }\r\n createCancelAppointmentModel(appointmentId: number) {\r\n const modalPopup = this.dailog.open(CancelAppointmentDialogComponent, {\r\n hasBackdrop: true,\r\n data: appointmentId,\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => { });\r\n }\r\n createViewAppointmentModel(appointmentId: number) {\r\n const modalPopup = this.dailog.open(AppointmentViewComponent, {\r\n hasBackdrop: true,\r\n minWidth: \"80%\",\r\n maxWidth: \"80%\",\r\n data: appointmentId,\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result) {\r\n this.router.navigate([\"web/client/profile\"], {\r\n queryParams: {\r\n id: this.commonService.encryptValue(\r\n result,\r\n true\r\n ),\r\n },\r\n });\r\n // console.log(result);\r\n }\r\n\r\n });\r\n }\r\n createAddPersonModel(appointmentId: number, sessionId: number) {\r\n const modalPopup = this.dailog.open(AddNewCallerComponent, {\r\n hasBackdrop: true,\r\n data: { appointmentId: appointmentId, sessionId: sessionId },\r\n });\r\n }\r\n\r\n getClientInfo(patientId): Promise {\r\n return this.clientService.getClientById(patientId).toPromise();\r\n // .subscribe((response: any) => {\r\n // if (response != null) {\r\n // this.clientModel = response.data;\r\n // }\r\n // });\r\n }\r\n\r\n async addEvent(event: any, type: any): Promise {\r\n if (type) {\r\n this.clientModel = await this.getClientInfo(this.currentPatientId);\r\n }\r\n switch (type) {\r\n case \"1\":\r\n this.openDialogBookAppointment(\r\n this.currentLoginUserId,\r\n this.currentLoginUserId.toString(),\r\n true\r\n );\r\n break;\r\n case \"2\":\r\n this.createViewAppointmentModel(this.currentAppointmentId);\r\n break;\r\n case \"3\":\r\n this.openDialogBookAppointment(\r\n this.currentLoginUserId,\r\n this.currentLoginUserId.toString(),\r\n false\r\n );\r\n break;\r\n case \"4\":\r\n this.createCancelAppointmentModel(this.currentAppointmentId);\r\n break;\r\n case \"5\":\r\n const modalPopup = this.dailog.open(SetReminderComponent, {\r\n hasBackdrop: true,\r\n data: { appointmentId: this.currentAppointmentId },\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result === \"save\") {\r\n }\r\n });\r\n break;\r\n\r\n case \"6\":\r\n if ((this.userRoleName || \"\").toUpperCase() == \"ADMIN\") {\r\n // this.router.navigate([\"/web/manage-users/users\"]);\r\n this.router.navigate([\"/web/availability\"]);\r\n } else if (\r\n (this.userRoleName || \"\").toUpperCase() == \"PROVIDER\" ||\r\n (this.userRoleName || \"\").toUpperCase() == \"STAFF\"\r\n ) {\r\n //localStorage.setItem(\"tabToLoad\", \"User Info\");\r\n // this.router.navigate([\"/web/manage-users/user\"], {\r\n // queryParams: {\r\n // id: this.commonService.encryptValue(this.currentLoginUserId),\r\n // },\r\n // });\r\n this.router.navigate([\"/web/availability\"]);\r\n }\r\n break;\r\n case \"7\":\r\n this.addNewCallerService\r\n .getOTSessionByAppointmentId(this.currentAppointmentId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.createAddPersonModel(\r\n this.currentAppointmentId,\r\n response.data.id\r\n );\r\n }\r\n });\r\n break;\r\n case \"8\":\r\n // console.log('profiler--', event);\r\n this.router.navigate([\"web/client/profile\"], { queryParams: { id: (event != null ? this.commonService.encryptValue(this.currentPatientId, true) : null) } });\r\n }\r\n }\r\n getRejectedInvitedPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getRejectedInvitedPatientAppointment(this.invitedRejectedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedRejectedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedRejectedPatientAppointment = (\r\n this.invitedRejectedPatientAppointment || []\r\n ).map((x) => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n (y) => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n (y) => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, 'DD/MM/YYYY') +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, 'DD/MM/YYYY'),\r\n });\r\n return x;\r\n });\r\n this.invitedRejectedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedRejectedPatientAppointment = [];\r\n this.invitedRejectedAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n onPendingInvitationPageOrSortChange(changeState?: any) {\r\n this.setInvitePendingPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getPendingInvitedPatientAppointmentList();\r\n }\r\n setInvitePendingPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.invitedAptfilterModel.pageNumber = pageNumber;\r\n this.invitedAptfilterModel.pageSize = pageSize;\r\n this.invitedAptfilterModel.sortOrder = sortOrder;\r\n this.invitedAptfilterModel.sortColumn = sortColumn;\r\n }\r\n onAcceptedInvitationPageOrSortChange(changeState?: any) {\r\n this.setInviteAcceptedPaginatorModel(\r\n changeState.pageNumber,\r\n 5,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getAcceptedInvitedPatientAppointmentList();\r\n }\r\n setInviteAcceptedPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.invitedAcceptedAptfilterModel.pageNumber = pageNumber;\r\n this.invitedAcceptedAptfilterModel.pageSize = pageSize;\r\n this.invitedAcceptedAptfilterModel.sortOrder = sortOrder;\r\n this.invitedAcceptedAptfilterModel.sortColumn = sortColumn;\r\n }\r\n onRejectedInvitationPageOrSortChange(changeState?: any) {\r\n this.setInviteRejectedPaginatorModel(\r\n changeState.pageNumber,\r\n 5,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getRejectedInvitedPatientAppointmentList();\r\n }\r\n setInviteRejectedPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.invitedRejectedAptfilterModel.pageNumber = pageNumber;\r\n this.invitedRejectedAptfilterModel.pageSize = pageSize;\r\n this.invitedRejectedAptfilterModel.sortOrder = sortOrder;\r\n this.invitedRejectedAptfilterModel.sortColumn = sortColumn;\r\n }\r\n\r\n}\r\n","import { FilterModel } from \"./../../super-admin-portal/core/modals/common-model\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class AppointmentGraphService {\r\n private getMasterDataURL = \"api/MasterData/MasterDataByName\";\r\n private getLineChartDataForAppointmentsURL = \"AdminDashboard/GetAppointmentsDataForGraph\";\r\n private getAcceptedOrApprovedAppointmentURL = \"api/PatientAppointments/GetAcceptedOrApprovedAppointmentList\";\r\n private getAcceptedOrApprovedAppointmentListForDashBoardURL = \"api/PatientAppointments/GetAcceptedOrApprovedAppointmentListForDashBoard\";\r\n private getAcceptedOrApprovedAppointmentForRedDotURL = \"api/PatientAppointments/GetApprovedAcceptedAppointmentListForRedDot\";\r\n private getPendingPatientAppointmentURL = \"api/PatientAppointments/GetPendingAppointmentList\";\r\n private getCancelledPatientAppointmentURL = \"api/PatientAppointments/GetCancelledAppointmentList\";\r\n private getTentativePatientAppointmentURL = \"api/PatientAppointments/GetTentativeAppointmentList\";\r\n private getStaffAndPatientByLocationURL = \"api/PatientAppointments/GetStaffAndPatientByLocation\";\r\n private updateAppointmentStatusURL = \"api/PatientAppointments/UpdateAppointmentStatus\";\r\n private cancelAppointmentURL = \"api/PatientAppointments/CancelAppointments\";\r\n private getPendingInvitedPatientAppointmentURL = \"api/PatientAppointments/GetPendingInvitationAppointmentList\";\r\n private getAcceptedInvitedPatientAppointmentURL = \"api/PatientAppointments/GetAcceptedInvitationAppointmentList\";\r\n private getRejectedInvitedPatientAppointmentURL = \"api/PatientAppointments/GetRejectedInvitationAppointmentList\";\r\n private getUrgentcareAppointmentListURL = \"api/PatientAppointments/GetUrgentCareAppointmentList\";\r\n\r\n\r\n constructor(private commonService: CommonService) {}\r\n getLineChartDataForAppointments(filterParamsForAppointent: any) {\r\n let url =\r\n this.getLineChartDataForAppointmentsURL +\r\n \"?StatusIds=\" +\r\n (filterParamsForAppointent.statusIds || []).join() +\r\n \"&AppointmentTimeIntervalId=\" +\r\n filterParamsForAppointent.appointmentTimeIntervalId +\r\n \"&CareManagerIds=\" +\r\n (filterParamsForAppointent.CareManagerIds || []).join();\r\n return this.commonService.getAll(url, {});\r\n }\r\n getAcceptedOrApprovedAppointmentList(filterModel: any) {\r\n const queryParams = `?pageNumber=${filterModel.pageNumber}&pageSize=${filterModel.pageSize}&fromDate=${filterModel.fromDate}&toDate=${filterModel.toDate}`;\r\n return this.commonService.getAll(\r\n this.getAcceptedOrApprovedAppointmentURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getAcceptedOrApprovedAppointmentListForDashBoard(filterModel: any) {\r\n const queryParams = `?pageNumber=${filterModel.pageNumber}&pageSize=${filterModel.pageSize}&fromDate=${filterModel.fromDate}&toDate=${filterModel.toDate}`;\r\n return this.commonService.getAll(\r\n this.getAcceptedOrApprovedAppointmentListForDashBoardURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getAcceptedOrApprovedAppointmentListForRedDot(filterModel: any) {\r\n const queryParams = `?pageNumber=${filterModel.pageNumber}&pageSize=${filterModel.pageSize}&fromDate=${filterModel.fromDate}&toDate=${filterModel.toDate}`;\r\n return this.commonService.getAll(\r\n this.getAcceptedOrApprovedAppointmentForRedDotURL + queryParams,\r\n {}\r\n );\r\n }\r\n getPendingPatientAppointment(filterModel: FilterModel) {\r\n const URL =\r\n this.getPendingPatientAppointmentURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n getCancelledPatientAppointment(filterModel: FilterModel) {\r\n const URL =\r\n this.getCancelledPatientAppointmentURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n getTentativePatientAppointmentList(filterModel: FilterModel) {\r\n const URL =\r\n this.getTentativePatientAppointmentURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n getStaffAndPatientByLocation(\r\n locationIds: string,\r\n permissionKey: string = \"SCHEDULING_LIST_VIEW_OTHERSTAFF_SCHEDULES\"\r\n ): Observable {\r\n const queryParams = `?locationIds=${locationIds}&permissionKey=${permissionKey}&isActiveCheckRequired=YES`;\r\n return this.commonService.getAll(\r\n this.getStaffAndPatientByLocationURL + queryParams,\r\n {}\r\n );\r\n }\r\n getMasterData(masterData: any): Observable {\r\n return this.commonService.post(this.getMasterDataURL, masterData);\r\n }\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n return this.commonService.getUserScreenActionPermissions(\r\n moduleName,\r\n screenName\r\n );\r\n }\r\n // appointments\r\n updateAppointmentStatus(appointmentData: any): Observable {\r\n return this.commonService.post(\r\n this.updateAppointmentStatusURL,\r\n appointmentData\r\n );\r\n }\r\n cancelAppointment(appointmentData: any): Observable {\r\n return this.commonService.post(this.cancelAppointmentURL, appointmentData);\r\n }\r\n getPendingInvitedPatientAppointment(filterModel: FilterModel) {\r\n const URL =\r\n this.getPendingInvitedPatientAppointmentURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n getRejectedInvitedPatientAppointment(filterModel: FilterModel) {\r\n const URL =\r\n this.getRejectedInvitedPatientAppointmentURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n getAcceptedInvitedPatientAppointment(filterModel: FilterModel) {\r\n const URL =\r\n this.getAcceptedInvitedPatientAppointmentURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n getUrgentcareAppointmentList(filterModel: any) {\r\n const queryParams = `?pageNumber=${filterModel.pageNumber}&pageSize=${filterModel.pageSize}&fromDate=${filterModel.fromDate}&toDate=${filterModel.toDate}`;\r\n return this.commonService.getAll(\r\n this.getUrgentcareAppointmentListURL + queryParams,\r\n {}\r\n );\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \" 0}\\\"\\r\\n stickyHeader=\\\"true\\\" [inputColumns]=\\\"invitedAcceptedDisplayedColumns\\\" [inputSource]=\\\"invitedAcceptedPatientAppointment\\\" [inputMeta]=\\\"invitedAcceptedAppointmentMeta\\\"\\r\\n [inputButtons]='invitedAcceptedActionButtons'>\\r\\n\\r\\n\"","import { AppointmentGraphService } from \"./../appointment-graph.service\";\r\nimport {\r\n FilterModel,\r\n Metadata\r\n} from \"./../../../super-admin-portal/core/modals/common-model\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { format } from \"date-fns\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\n@Component({\r\n selector: \"app-invited-accepted\",\r\n templateUrl: \"./invited-accepted.component.html\",\r\n styleUrls: [\"./invited-accepted.component.css\"]\r\n})\r\nexport class InvitedAcceptedComponent implements OnInit {\r\n invitedAcceptedDisplayedColumns: Array;\r\n invitedAcceptedActionButtons: Array;\r\n invitedAcceptedAptfilterModel: FilterModel;\r\n invitedAcceptedAppointmentMeta: Metadata;\r\n invitedAcceptedPatientAppointment: Array = [];\r\n constructor(\r\n private appointmentGraphService: AppointmentGraphService,\r\n private commonService: CommonService\r\n ) {\r\n this.invitedAcceptedAppointmentMeta = null;\r\n this.invitedAcceptedAptfilterModel = new FilterModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.invitedAcceptedDisplayedColumns = [\r\n {\r\n displayName: \"Care Manager\",\r\n key: \"staffName\",\r\n // width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Member Name\",\r\n key: \"fullName\",\r\n // width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt Type\",\r\n key: \"appointmentType\",\r\n // width: \"130px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n // width: \"250px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n // width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n }\r\n ];\r\n\r\n this.invitedAcceptedActionButtons = [];\r\n this.getAcceptedInvitedPatientAppointmentList();\r\n }\r\n getAcceptedInvitedPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getAcceptedInvitedPatientAppointment(this.invitedAcceptedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedAcceptedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedAcceptedPatientAppointment = (this\r\n .invitedAcceptedPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, 'MM/DD/yyyy') +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, 'MM/DD/yyyy')\r\n });\r\n return x;\r\n });\r\n this.invitedAcceptedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedAcceptedPatientAppointment = [];\r\n this.invitedAcceptedAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \" 0}\\\"\\r\\n stickyHeader=\\\"true\\\" [inputColumns]=\\\"invitedDisplayedColumns\\\" [inputSource]=\\\"invitedPatientAppointment\\\" [inputMeta]=\\\"invitedAppointmentMeta\\\"\\r\\n [inputButtons]='invitedActionButtons'>\\r\\n\\r\\n\"","import { Router, NavigationEnd } from \"@angular/router\";\r\nimport { AppointmentGraphService } from \"./../appointment-graph.service\";\r\nimport {\r\n FilterModel,\r\n Metadata\r\n} from \"./../../../super-admin-portal/core/modals/common-model\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { format } from \"date-fns\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\n\r\n@Component({\r\n selector: \"app-invited-pending\",\r\n templateUrl: \"./invited-pending.component.html\",\r\n styleUrls: [\"./invited-pending.component.css\"]\r\n})\r\nexport class InvitedPendingComponent implements OnInit, OnDestroy {\r\n invitedDisplayedColumns: Array;\r\n invitedActionButtons: Array;\r\n invitedAptfilterModel: FilterModel;\r\n invitedAppointmentMeta: Metadata;\r\n invitedPatientAppointment: Array = [];\r\n\r\n mySubscription: any;\r\n constructor(\r\n private appointmentGraphService: AppointmentGraphService,\r\n private commonService: CommonService,\r\n private router: Router\r\n ) {\r\n this.invitedAppointmentMeta = null;\r\n this.invitedAptfilterModel = new FilterModel();\r\n\r\n this.router.routeReuseStrategy.shouldReuseRoute = function() {\r\n return false;\r\n };\r\n this.mySubscription = this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n // Trick the Router into believing it's last link wasn't previously loaded\r\n this.router.navigated = false;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.invitedDisplayedColumns = [\r\n {\r\n displayName: \"Care Manager\",\r\n key: \"staffName\",\r\n // width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Member Name\",\r\n key: \"fullName\",\r\n // width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt Type\",\r\n key: \"appointmentType\",\r\n // width: \"130px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n // width: \"250px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n // width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n { displayName: \"Actions\", key: \"Actions\", \r\n //width: \"80px\",\r\n sticky: true }\r\n ];\r\n\r\n this.invitedActionButtons = [\r\n { displayName: \"Approve\", key: \"approve\", class: \"fa fa-check\" },\r\n { displayName: \"Cancel\", key: \"cancel\", class: \"fa fa-ban\" }\r\n ];\r\n this.getPendingInvitedPatientAppointmentList();\r\n }\r\n ngOnDestroy() {\r\n if (this.mySubscription) {\r\n this.mySubscription.unsubscribe();\r\n }\r\n }\r\n getPendingInvitedPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getPendingInvitedPatientAppointment(this.invitedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedPatientAppointment = (this.invitedPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, 'DD/MM/YYYY') +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, 'DD/MM/YYYY')\r\n });\r\n return x;\r\n });\r\n this.invitedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedPatientAppointment = [];\r\n this.invitedAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \" 0}\\\"\\r\\n stickyHeader=\\\"true\\\" [inputColumns]=\\\"invitedRejectedDisplayedColumns\\\" [inputSource]=\\\"invitedRejectedPatientAppointment\\\" [inputMeta]=\\\"invitedRejectedAppointmentMeta\\\"\\r\\n [inputButtons]='invitedRejectedActionButtons'>\\r\\n\\r\\n\"","import { AppointmentGraphService } from \"./../appointment-graph.service\";\r\nimport {\r\n FilterModel,\r\n Metadata\r\n} from \"./../../../super-admin-portal/core/modals/common-model\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { format } from \"date-fns\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\n@Component({\r\n selector: \"app-invited-rejected\",\r\n templateUrl: \"./invited-rejected.component.html\",\r\n styleUrls: [\"./invited-rejected.component.css\"]\r\n})\r\nexport class InvitedRejectedComponent implements OnInit {\r\n invitedRejectedDisplayedColumns: Array;\r\n invitedRejectedActionButtons: Array;\r\n invitedRejectedAptfilterModel: FilterModel;\r\n invitedRejectedAppointmentMeta: Metadata;\r\n invitedRejectedPatientAppointment: Array = [];\r\n constructor(\r\n private appointmentGraphService: AppointmentGraphService,\r\n private commonService: CommonService\r\n ) {\r\n this.invitedRejectedAppointmentMeta = null;\r\n this.invitedRejectedAptfilterModel = new FilterModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.invitedRejectedDisplayedColumns = [\r\n {\r\n displayName: \"Care Manager\",\r\n key: \"staffName\",\r\n // width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Member Name\",\r\n key: \"fullName\",\r\n // width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt Type\",\r\n key: \"appointmentType\",\r\n //width: \"130px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n //width: \"250px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n // width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n }\r\n ];\r\n\r\n this.invitedRejectedActionButtons = [];\r\n this.getRejectedInvitedPatientAppointmentList();\r\n }\r\n getRejectedInvitedPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getRejectedInvitedPatientAppointment(this.invitedRejectedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedRejectedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedRejectedPatientAppointment = (this\r\n .invitedRejectedPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, 'DD/MM/YYYY') +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, 'DD/MM/YYYY')\r\n });\r\n return x;\r\n });\r\n this.invitedRejectedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedRejectedPatientAppointment = [];\r\n this.invitedRejectedAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"main {\\r\\n padding: 1em;\\r\\n font-family: Arial, Helvetica, sans-serif;\\r\\n text-align: center;\\r\\n margin-top: 50px;\\r\\n display: block;\\r\\n color: greenyellow;\\r\\n}\\r\\n\\r\\nlabel {\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.upload-drop-zone {\\r\\n height: 200px;\\r\\n border-width: 2px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n/* skin.css Style*/\\r\\n\\r\\n.upload-drop-zone {\\r\\n color: #ccc;\\r\\n border-style: dashed;\\r\\n border-color: #ccc;\\r\\n line-height: 200px;\\r\\n text-align: center\\r\\n}\\r\\n\\r\\n.upload-drop-zone.drop {\\r\\n color: #222;\\r\\n border-color: #222;\\r\\n}\\r\\n\\r\\n.browse-doc {\\r\\n border-radius: 0px;\\r\\n}\\r\\n\\r\\n.browse-doc .browse {\\r\\n line-height: normal;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding: 10px 0px;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n padding-right: 15px;\\r\\n filter: grayscale(100%);\\r\\n -webkit-filter: grayscale(100%);\\r\\n opacity: 0.8;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.uploading-data p {\\r\\n width: 90%;\\r\\n font-size: 14px;\\r\\n color: rgba( 0, 0, 0, 0.80);\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.custom_modal {\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions {\\r\\n padding: 15px 18px !important;\\r\\n}\\r\\n\\r\\n.uplaod_pic i {\\r\\n font-size: 24px;\\r\\n}\\r\\n\\r\\n.cancel-btn {\\r\\n background-color: #fff;\\r\\n color: #01385f !important;\\r\\n min-width: 80px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #01385f;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.ml-auto,\\r\\n.mat-dialog-actions .mat-primary {\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n.tbactionbtn .fa {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: 10px;\\r\\n right: 10px;\\r\\n background-color: #2f2660;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 0px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions {\\r\\n display: block !important;\\r\\n}\\r\\n\\r\\n.txt-css {\\r\\n font-size: 22px;\\r\\n font-weight: 500;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n@media screen and (max-width:600px) {\\r\\n h4.mat-dialog-title {\\r\\n font-size: 17px;\\r\\n line-height: 23px;\\r\\n font-weight: 600;\\r\\n }\\r\\n .txt-css {\\r\\n font-size: 12px;\\r\\n }\\r\\n ::ng-deep .mat-dialog-actions {\\r\\n justify-content: space-between;\\r\\n /* flex-wrap: wrap; */\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n

{{\\\"Appointment Rescheduling\\\"|translate}}

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

{{\\\"Choose one of the below options for appointment rescheduling\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, Inject, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { SchedulerService } from \"src/app/platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { UrgentCareProviderActionComponent } from \"../urgentcare-provideraction/urgentcare-provideraction.component\";\r\nimport { PreponeAppointmentComponent } from \"../prepone-appointment/prepone-appointment.component\";\r\nimport { PostponeAppointmentComponent } from \"../postpone-appointment/postpone-appointment.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-appointment-rescheduling\",\r\n templateUrl: \"./appointment-rescheduling-dialog.component.html\",\r\n styleUrls: [\"./appointment-rescheduling-dialog.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AppointmentReschedulingDialogComponent implements OnInit {\r\n userId: number = null;\r\n appointmentId: number;\r\n masterDocumentTypes: any = [];\r\n //addDocumentForm: FormGroup;\r\n fileList: any = [];\r\n dataURL: any;\r\n submitted: boolean = false;\r\n todayDate = new Date();\r\n\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n private dailog: MatDialog,\r\n private router: Router,\r\n private translate: TranslateService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private schedulerService: SchedulerService,\r\n private commonService: CommonService,\r\n private appService: AppService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n //this.appointmentId = this.data;\r\n }\r\n\r\n ngOnInit() {\r\n // console.log(this.data);\r\n\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userId = user.data.userID;\r\n }\r\n });\r\n }\r\n\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n openPreponeDialog() {\r\n let dbModal;\r\n dbModal = this.dailog.open(PreponeAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: this.data,\r\n width: \"55%\",\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") {\r\n }\r\n });\r\n this.dialogModalRef.close(\"close\");\r\n }\r\n\r\n openPostPoneDialog() {\r\n // console.log(\"from rescedule model\", this.data);\r\n let dbModal;\r\n dbModal = this.dailog.open(PostponeAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: this.data,\r\n width: \"70%\",\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n // if (result == \"SAVE\") {\r\n\r\n // }\r\n this.dialogModalRef.close(\"close\");\r\n // console.log(\"closed from appoinment rescheduling\");\r\n });\r\n //this.dialogModalRef.close(\"close\");\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{\\\"approve_appointment\\\" | translate }}

\\r\\n

{{\\\"complete_appointment\\\" | translate }}

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

{{\\\"are_you_sure_you_want_to_complete_this_appointment?\\\" | translate}}

\\r\\n
\\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, Inject } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { AppointmentGraphService } from \"src/app/shared/appointment-graph/appointment-graph.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-approve-appointment-dialog\",\r\n templateUrl: \"./approve-appointment-dialog.component.html\",\r\n styleUrls: [\"./approve-appointment-dialog.component.css\"]\r\n})\r\nexport class ApproveAppointmentDialogComponent implements OnInit {\r\n approveAppointmentForm: FormGroup;\r\n appointmentData: number;\r\n submitted: boolean = false;\r\n isForCompleted: boolean;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private appointmentGraphService: AppointmentGraphService,\r\n public dialogPopup: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,private translate:TranslateService,\r\n private notifier: NotifierService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.appointmentData = data;\r\n }\r\n\r\n ngOnInit() {\r\n if(this.data.status === \"COMPLETED\"){\r\n this.isForCompleted= true;\r\n }\r\n else{\r\n this.isForCompleted= false;\r\n }\r\n this.initializeFormFields();\r\n }\r\n\r\n initializeFormFields() {\r\n const configControls = {\r\n NotesToMember: [\"\"]\r\n };\r\n this.approveAppointmentForm = this.formBuilder.group(configControls);\r\n }\r\n\r\n get formControls() {\r\n return this.approveAppointmentForm.controls;\r\n }\r\n\r\n onClose(): void {\r\n this.dialogPopup.close();\r\n }\r\n\r\n onSubmit(): void {\r\n this.submitted = true;\r\n if (this.approveAppointmentForm.invalid) {\r\n this.submitted = false;\r\n return;\r\n }\r\n\r\n const { NotesToMember } = this.approveAppointmentForm.value;\r\n this.appointmentData[\"NotesToMember\"] = NotesToMember;\r\n\r\n this.appointmentGraphService\r\n .updateAppointmentStatus(this.appointmentData)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.dialogPopup.close(\"SAVE\");\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \".chartjs-render-monitor {\\r\\n height: 250px !important;\\r\\n}\\r\\n\\r\\ncanvas {\\r\\n width: 100% !important;\\r\\n height: 400px !important;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n\"","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n EventEmitter,\r\n Output\r\n} from \"@angular/core\";\r\nimport { BaseChartDirective } from \"ng2-charts\";\r\n\r\n@Component({\r\n selector: \"app-bar-chart\",\r\n templateUrl: \"./bar-chart.component.html\",\r\n styleUrls: [\"./bar-chart.component.css\"]\r\n})\r\nexport class BarChartComponent implements OnInit, OnChanges {\r\n @Input() barChartData: any[];\r\n @Input() barChartLabels: any[];\r\n @Input() barChartOptions: any[];\r\n @Input() barChartColors: any[] = null;\r\n @Output() chartClicked: EventEmitter = new EventEmitter();\r\n @ViewChild(\"barChart\") chart: BaseChartDirective;\r\n barChartType: string = \"bar\";\r\n constructor() {\r\n this.barChartData = [];\r\n this.barChartLabels = [];\r\n this.barChartOptions = [];\r\n this.barChartColors = [];\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n onChartClicked({ event, active }: { event: MouseEvent; active: {}[] }): void {\r\n this.chartClicked.emit({ event, active });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (\r\n changes.barChartLabels &&\r\n changes.barChartLabels.previousValue !=\r\n changes.barChartLabels.currentValue\r\n ) {\r\n if (this.chart !== undefined && this.chart.ctx !== undefined) {\r\n this.chart.ngOnDestroy();\r\n this.chart.labels = this.barChartLabels;\r\n this.chart.datasets = this.barChartData;\r\n this.chart.chart = this.chart.getChartBuilder(this.chart.ctx);\r\n this.chart.chart.update();\r\n }\r\n }\r\n if (\r\n changes.barChartColors &&\r\n changes.barChartColors.previousValue !=\r\n changes.barChartColors.currentValue\r\n ) {\r\n if (this.chart !== undefined && this.chart.ctx !== undefined) {\r\n this.chart.ngOnDestroy();\r\n this.chart.colors = this.barChartColors;\r\n this.chart.chart = this.chart.getChartBuilder(this.chart.ctx);\r\n this.chart.chart.update();\r\n }\r\n }\r\n }\r\n\r\n public chartHovered({\r\n event,\r\n active\r\n }: {\r\n event: MouseEvent;\r\n active: {}[];\r\n }): void {\r\n // console.log(event, active);\r\n }\r\n}\r\n","module.exports = \".div-call {\\r\\n width: 100%;\\r\\n position: fixed;\\r\\n top: 0;\\r\\n z-index: 900;\\r\\n text-align: center;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n background: #0006;\\r\\n display: none;\\r\\n}\\r\\n.div-call.active {\\r\\n display: flex;\\r\\n}\\r\\n.div-call .div-call-container {\\r\\n background-color: #131212;\\r\\n text-align: center;\\r\\n left: 0;\\r\\n right: 0;\\r\\n margin: auto;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n position: relative;\\r\\n padding: 10px 10px 32px 10px;\\r\\n border-radius: 10px;\\r\\n box-shadow: 0px 0px 13px #2e403c;\\r\\n}\\r\\n.div-call button {\\r\\n background: none;\\r\\n min-width: auto;\\r\\n}\\r\\n.div-call button span.material-icons {\\r\\n padding: 10px;\\r\\n border-radius: 50%;\\r\\n top: 12px;\\r\\n position: relative;\\r\\n color: #fff;\\r\\n}\\r\\n.div-call button span.material-icons.call {\\r\\n background: #148814;\\r\\n}\\r\\n.div-call button span.material-icons.call-end {\\r\\n background: #d00;\\r\\n}\\r\\n.div-call button span.call-text {\\r\\n position: relative;\\r\\n top: 12px;\\r\\n left: 8px;\\r\\n color: #148814;\\r\\n display: none;\\r\\n}\\r\\n.div-call button.btn-call {\\r\\n position: relative;\\r\\n -webkit-animation-name: shake;\\r\\n animation-name: shake;\\r\\n -webkit-animation-duration: 2s;\\r\\n animation-duration: 2s;\\r\\n -webkit-animation-iteration-count: infinite;\\r\\n animation-iteration-count: infinite;\\r\\n -webkit-animation-timing-function: ease-in;\\r\\n animation-timing-function: ease-in;\\r\\n cursor: pointer;\\r\\n}\\r\\n.div-call button.btn-call:hover {\\r\\n -webkit-animation-name: none;\\r\\n animation-name: none;\\r\\n}\\r\\n.div-call button.btn-call-end {\\r\\n position: relative;\\r\\n -webkit-animation-name: shake1;\\r\\n animation-name: shake1;\\r\\n -webkit-animation-duration: 1.5s;\\r\\n animation-duration: 1.5s;\\r\\n -webkit-animation-iteration-count: infinite;\\r\\n animation-iteration-count: infinite;\\r\\n -webkit-animation-timing-function: ease-in;\\r\\n animation-timing-function: ease-in;\\r\\n cursor: pointer;\\r\\n}\\r\\n.div-call button.btn-call-end:hover {\\r\\n -webkit-animation-name: none;\\r\\n animation-name: none;\\r\\n}\\r\\n@-webkit-keyframes shake {\\r\\n 0% {\\r\\n top: 0;\\r\\n }\\r\\n 10% {\\r\\n top: -2px;\\r\\n }\\r\\n 20% {\\r\\n top: 2px;\\r\\n }\\r\\n 30% {\\r\\n top: -4px;\\r\\n }\\r\\n 40% {\\r\\n top: 4px;\\r\\n }\\r\\n 50% {\\r\\n top: -6px;\\r\\n }\\r\\n 60% {\\r\\n top: 6px;\\r\\n }\\r\\n 70% {\\r\\n top: -4px;\\r\\n }\\r\\n 80% {\\r\\n top: 4px;\\r\\n }\\r\\n 90% {\\r\\n top: -2px;\\r\\n }\\r\\n 100% {\\r\\n top: 0;\\r\\n }\\r\\n}\\r\\n@keyframes shake {\\r\\n 0% {\\r\\n top: 0;\\r\\n }\\r\\n 10% {\\r\\n top: -2px;\\r\\n }\\r\\n 20% {\\r\\n top: 2px;\\r\\n }\\r\\n 30% {\\r\\n top: -4px;\\r\\n }\\r\\n 40% {\\r\\n top: 4px;\\r\\n }\\r\\n 50% {\\r\\n top: -6px;\\r\\n }\\r\\n 60% {\\r\\n top: 6px;\\r\\n }\\r\\n 70% {\\r\\n top: -4px;\\r\\n }\\r\\n 80% {\\r\\n top: 4px;\\r\\n }\\r\\n 90% {\\r\\n top: -2px;\\r\\n }\\r\\n 100% {\\r\\n top: 0;\\r\\n }\\r\\n}\\r\\n@-webkit-keyframes shake1 {\\r\\n 0% {\\r\\n top: 0;\\r\\n }\\r\\n 10% {\\r\\n top: -1px;\\r\\n }\\r\\n 20% {\\r\\n top: 1px;\\r\\n }\\r\\n 30% {\\r\\n top: -3px;\\r\\n }\\r\\n 40% {\\r\\n top: 3px;\\r\\n }\\r\\n 50% {\\r\\n top: -5px;\\r\\n }\\r\\n 60% {\\r\\n top: 5px;\\r\\n }\\r\\n 70% {\\r\\n top: -3px;\\r\\n }\\r\\n 80% {\\r\\n top: 3px;\\r\\n }\\r\\n 90% {\\r\\n top: -1px;\\r\\n }\\r\\n 100% {\\r\\n top: 0;\\r\\n }\\r\\n}\\r\\n@keyframes shake1 {\\r\\n 0% {\\r\\n top: 0;\\r\\n }\\r\\n 10% {\\r\\n top: -1px;\\r\\n }\\r\\n 20% {\\r\\n top: 1px;\\r\\n }\\r\\n 30% {\\r\\n top: -3px;\\r\\n }\\r\\n 40% {\\r\\n top: 3px;\\r\\n }\\r\\n 50% {\\r\\n top: -5px;\\r\\n }\\r\\n 60% {\\r\\n top: 5px;\\r\\n }\\r\\n 70% {\\r\\n top: -3px;\\r\\n }\\r\\n 80% {\\r\\n top: 3px;\\r\\n }\\r\\n 90% {\\r\\n top: -1px;\\r\\n }\\r\\n 100% {\\r\\n top: 0;\\r\\n }\\r\\n}\\r\\n/**********************User Image ripple effect*********************/\\r\\n.request-loader {\\r\\n position: relative;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 150px;\\r\\n width: 150px;\\r\\n border-radius: 100%;\\r\\n /* background: #fff; */\\r\\n /* box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25); */\\r\\n}\\r\\n/* .request-loader img {\\r\\n position: relative;\\r\\n font-size: 72px;\\r\\n top: 5px;\\r\\n left: -5px;\\r\\n} */\\r\\n.request-loader::after {\\r\\n opacity: 0;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n left: 0px;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n content: \\\"\\\";\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n border: 8px solid rgba(255, 255, 255, 0.2);\\r\\n border-radius: 100%;\\r\\n -webkit-animation-name: ripple;\\r\\n animation-name: ripple;\\r\\n -webkit-animation-duration: 3s;\\r\\n animation-duration: 3s;\\r\\n -webkit-animation-delay: 0s;\\r\\n animation-delay: 0s;\\r\\n -webkit-animation-iteration-count: infinite;\\r\\n animation-iteration-count: infinite;\\r\\n -webkit-animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1);\\r\\n animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1);\\r\\n /* z-index: -1; */\\r\\n}\\r\\n.request-loader::before {\\r\\n opacity: 0;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n left: 0px;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n content: \\\"\\\";\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n border: 8px solid rgba(255, 255, 255, 0.2);\\r\\n border-radius: 100%;\\r\\n -webkit-animation-name: ripple;\\r\\n animation-name: ripple;\\r\\n -webkit-animation-duration: 3s;\\r\\n animation-duration: 3s;\\r\\n -webkit-animation-delay: 0.5s;\\r\\n animation-delay: 0.5s;\\r\\n -webkit-animation-iteration-count: infinite;\\r\\n animation-iteration-count: infinite;\\r\\n -webkit-animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1);\\r\\n animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1);\\r\\n /* z-index: -1; */\\r\\n}\\r\\n@-webkit-keyframes ripple {\\r\\n from {\\r\\n opacity: 1;\\r\\n -webkit-transform: scale3d(0.75, 0.75, 1);\\r\\n transform: scale3d(0.75, 0.75, 1);\\r\\n }\\r\\n to {\\r\\n opacity: 0;\\r\\n -webkit-transform: scale3d(1.5, 1.5, 1);\\r\\n transform: scale3d(1.5, 1.5, 1);\\r\\n }\\r\\n}\\r\\n@keyframes ripple {\\r\\n from {\\r\\n opacity: 1;\\r\\n -webkit-transform: scale3d(0.75, 0.75, 1);\\r\\n transform: scale3d(0.75, 0.75, 1);\\r\\n }\\r\\n to {\\r\\n opacity: 0;\\r\\n -webkit-transform: scale3d(1.5, 1.5, 1);\\r\\n transform: scale3d(1.5, 1.5, 1);\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"\\r\\n
\\r\\n {{callInitModel.CallerName}}\\r\\n
\\r\\n \\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 {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Inject,\r\n OnDestroy,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { CallInitModel, CallStatus } from \"../models/callModel\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Observable, Subscription, Subject } from \"rxjs\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-call-button\",\r\n templateUrl: \"./call-button.component.html\",\r\n styleUrls: [\"./call-button.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class CallButtonComponent implements OnInit, OnDestroy, AfterViewInit {\r\n callInitModel: CallInitModel;\r\n loggedInUserName: any;\r\n audio: HTMLAudioElement;\r\n\r\n private subscription: Subscription;\r\n constructor(\r\n private appService: AppService,\r\n private commonService: CommonService,\r\n private router: Router,\r\n private translate: TranslateService,\r\n @Inject(DOCUMENT) private _document: Document\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n // console.log(\" 40 call button constructor \");\r\n this.callInitModel = new CallInitModel();\r\n\r\n this.audio = new Audio(\"/assets/incomming_call.mp3\");\r\n this.audio.loop = true;\r\n this.audio.muted = true;\r\n }\r\n ngAfterViewInit(): void {\r\n this.play();\r\n }\r\n\r\n ngOnInit() {\r\n // console.log(\" 50 call button ngoninit\");\r\n this.appService.call.subscribe((callInitModel: CallInitModel) => {\r\n this.callInitModel = callInitModel;\r\n });\r\n this.checkLoggedInClient();\r\n }\r\n checkLoggedInClient() {\r\n this.subscription = this.commonService.loginUser.subscribe((user: any) => {\r\n if (user.data) {\r\n // console.log(user.data, \"data\");\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n this.loggedInUserName = user.patientData\r\n ? user.patientData.firstName + \" \" + user.patientData.lastName\r\n : \"\";\r\n } else {\r\n this.loggedInUserName =\r\n user.data.firstName + \" \" + user.data.lastName;\r\n }\r\n }\r\n });\r\n }\r\n\r\n pickCall() {\r\n this.stop();\r\n localStorage.setItem(\"callPicked\", \"yes\");\r\n this.callInitModel.CallStatus = CallStatus.Picked;\r\n this.appService.CheckCallStarted(this.callInitModel);\r\n this.commonService.callStartStopSubject.next(true);\r\n this.commonService.userRole.subscribe((role) => {\r\n if (role.toLowerCase() == \"provider\") {\r\n this.reloadClient();\r\n\r\n //this.router.navigate([\"/web/waiting-room/check-in-video-call/\"+this.callInitModel.AppointmentId]);\r\n } else {\r\n // this.router.navigateByUrl(\"/web/waiting-room/check-in-video-call/\"+this.callInitModel.AppointmentId)\r\n // .then(()=>{this.reloadComponent()});\r\n\r\n this.reloadComponent();\r\n }\r\n });\r\n }\r\n reloadClient() {\r\n // let currentUrl = \"/web/waiting-room/check-in-video-call/\"+this.callInitModel.AppointmentId;\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.router.onSameUrlNavigation = \"reload\";\r\n // this.router.navigate([\"/web/encounter/soap\"], {\r\n // queryParams: {\r\n // apptId: this.callInitModel.AppointmentId,\r\n // encId: 0,\r\n // },\r\n // });\r\n\r\n let currentUrl =\r\n \"/web/waiting-room/check-in-soap/\" + this.callInitModel.AppointmentId;\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.router.onSameUrlNavigation = \"reload\";\r\n this.router.navigate([currentUrl]);\r\n }\r\n reloadComponent() {\r\n let currentUrl =\r\n \"/web/waiting-room/check-in-video-call/\" +\r\n this.callInitModel.AppointmentId;\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.router.onSameUrlNavigation = \"reload\";\r\n this.router.navigate([currentUrl]);\r\n }\r\n ngOnDestroy() {\r\n this.stop();\r\n // window.location.reload();\r\n }\r\n\r\n declineCall() {\r\n this.stop();\r\n // console.log(\"8 declient call called from call button\");\r\n if (\r\n this.callInitModel.AppointmentId > 0 &&\r\n Number(localStorage.getItem(\"UserId\")) > 0\r\n ) {\r\n // console.log(\"inside publisher method\");\r\n this.appService\r\n .getEndCall(\r\n this.callInitModel.AppointmentId,\r\n Number(localStorage.getItem(\"UserId\"))\r\n )\r\n .subscribe((res) => {\r\n this.callInitModel = new CallInitModel();\r\n this.callInitModel.CallStatus = CallStatus.Declined;\r\n this.callInitModel.AppointmentId = 0;\r\n\r\n // console.log(this.callInitModel);\r\n setTimeout(() => {\r\n this.appService.CheckCallStarted(this.callInitModel);\r\n this.commonService.callStartStopSubject.next(false);\r\n }, 500);\r\n\r\n // console.log(res);\r\n });\r\n }\r\n //\r\n }\r\n\r\n play() {\r\n this.audio = new Audio(\"/assets/incomming_call.mp3\");\r\n this.audio.muted = false;\r\n this.audio.loop = true;\r\n this.audio.play();\r\n }\r\n stop() {\r\n this.audio.muted = true; // Optionally mute it to silence immediately\r\n this.audio.loop = false;\r\n this.audio.pause(); // Pause the audio\r\n this.audio.src = \"\"; // Remove the source to ensure it's stopped\r\n }\r\n}\r\n","module.exports = \".buttons\\r\\n{\\r\\ntext-align: center;\\r\\n}\\r\\n.accept\\r\\n{\\r\\n margin-right: 10px;\\r\\n min-width: 120px;\\r\\n border-radius: 30px;\\r\\n color: #fff;\\r\\n}\\r\\nbutton.cancel-btn {\\r\\n color: #FFF;\\r\\n background: #8c8c8c;\\r\\n border-radius: 30px;\\r\\n min-width: 120px;\\r\\n min-height: auto;\\r\\n font-weight: 500;\\r\\n font-family: \\\"Montserrat\\\", sans-serif;\\r\\n font-size: 14px;\\r\\n border: 0;\\r\\n}\\r\\n.modal-design-sec-inner {\\r\\n margin: 24px 0 10px 0 !important;\\r\\n}\\r\\n.payment-btn-sec {\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n.payment-btn-sec button {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n}\\r\\n.strip{\\r\\n width: 100% !important;\\r\\n}\\r\\n.custom-modal-design{\\r\\nmax-width: 100%!important;\\r\\n}\\r\\n\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n

CALL NOTIFICATION

\\r\\n
\\r\\n
\\r\\n
\\r\\n
Video call has been disconnected by
\\r\\n
{{callerName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\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, Input, Inject } from \"@angular/core\";\r\nimport {\r\n MatDialog,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { PublisherComponent } from \"src/app/platform/modules/agency-portal/encounter/video-chat/publisher/publisher.component\";\r\nimport { OpentokService } from \"src/app/platform/modules/agency-portal/encounter/opentok.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { TextChatService } from \"./../../../app/shared/text-chat/text-chat.service\";\r\nimport { AppService } from \"./../../app-service.service\";\r\nimport { state } from \"@angular/animations\";\r\nimport { CommonService } from \"./../../../app/platform/modules/core/services/common.service\";\r\nimport { HubService } from \"src/app/platform/modules/main-container/hub.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-call-notification\",\r\n templateUrl: \"./call-notification.component.html\",\r\n styleUrls: [\"./call-notification.component.css\"],\r\n providers: [PublisherComponent],\r\n})\r\nexport class CallNotificationComponent implements OnInit {\r\n callerName: any;\r\n userType: any;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n router: Router,\r\n activatedRoute: ActivatedRoute,\r\n private publisher: PublisherComponent,\r\n opentokService: OpentokService,\r\n notifierService: NotifierService,\r\n commonService: CommonService,\r\n appService: AppService,\r\n textChatService: TextChatService,\r\n hubservice:HubService,\r\n private translate:TranslateService,\r\n @Inject(MAT_DIALOG_DATA) public data: any // private encounterService: EncounterService,\r\n ) // private notifierService: NotifierService\r\n {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.callerName = this.data.callerName;\r\n this.userType = this.data.userType;\r\n this.publisher = new PublisherComponent(\r\n opentokService,\r\n commonService,\r\n router,\r\n activatedRoute,\r\n null,\r\n appService,\r\n textChatService,\r\n notifierService,\r\n hubservice\r\n );\r\n // this.patientname = data.patientname;\r\n // this.isEndCall = data.isEndCall;\r\n // this.isUrgentCall = data.isUrgentCall;\r\n // this.CallerName = this.notificationPayload.callerName;\r\n // this.telehealthSessionDetailId = this.notificationPayload.telehealthSessionDetailId;\r\n // this.notificationType = this.notificationPayload.notificationType;\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n declineCall(): void {\r\n try {\r\n this.publisher.endCall();\r\n this.dialogRef.close(\"close\");\r\n } catch {\r\n this.dialogRef.close(\"close\");\r\n }\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{\\\"cancel_appointment\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please select cancellation reason\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Refund Amount will be:\\\"|translate}} {{RefundModel.refundAmount|number:'1.2-2'}}

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

{{\\\"Cancellation policy:\\\"|translate}}

\\r\\n {{getRefundString(RefundModel.uptoHours,RefundModel.refundPercentage)}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit, Inject } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { AppointmentGraphService } from \"src/app/shared/appointment-graph/appointment-graph.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { SchedulerService } from \"src/app/platform/modules/scheduling/scheduler/scheduler.service\";\r\n\r\n@Component({\r\n selector: \"app-cancel-appointment-dialog\",\r\n templateUrl: \"./cancel-appointment-dialog.component.html\",\r\n styleUrls: [\"./cancel-appointment-dialog.component.css\"]\r\n})\r\nexport class CancelAppointmentDialogComponent implements OnInit {\r\n cancelAppointmentForm: FormGroup;\r\n appointmentId: number;\r\n submitted: boolean = false;\r\n isloadingMasterData: boolean = false;\r\n masterCancelType: Array;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private appointmentGraphService: AppointmentGraphService,\r\n public dialogPopup: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private translate:TranslateService,\r\n private commonService: CommonService,\r\n private _schedulerService: SchedulerService\r\n\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.appointmentId = data;\r\n this.masterCancelType = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeFormFields();\r\n this.fetchMasterData();\r\n \r\n }\r\n\r\n initializeFormFields() {\r\n \r\n const configControls = {\r\n cancelTypeId: [\"\", Validators.required],\r\n cancelReason: [\"\"]\r\n };\r\n this.cancelAppointmentForm = this.formBuilder.group(configControls);\r\n }\r\n\r\n get formControls() {\r\n return this.cancelAppointmentForm.controls;\r\n }\r\n\r\n onClose(): void {\r\n this.dialogPopup.close();\r\n }\r\n\r\n onSubmit(): void {\r\n\r\n debugger;\r\n //////\r\n this.submitted = true;\r\n if (this.cancelAppointmentForm.invalid) {\r\n this.submitted = false;\r\n return;\r\n }\r\n\r\n let postData = this.cancelAppointmentForm.value;\r\n postData.ids = [this.appointmentId];\r\n\r\n this.appointmentGraphService\r\n .cancelAppointment(postData)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.dialogPopup.close(\"SAVE\");\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n fetchMasterData(): void {\r\n // load master data\r\n this.isloadingMasterData = true;\r\n const masterData = { masterdata: \"MASTERCANCELTYPE\" };\r\n this.appointmentGraphService\r\n .getMasterData(masterData)\r\n .subscribe((response: any) => {\r\n this.isloadingMasterData = false;\r\n if (response) {\r\n this.masterCancelType = response.masterCancelType || [];\r\n let defautlType = this.masterCancelType.find(\r\n x => (x.value || \"\").toUpperCase() == \"CARE MANAGER CANCELLATION\"\r\n );\r\n\r\n // this.formControls[\"cancelTypeId\"].patchValue(\r\n // defautlType && defautlType.id\r\n // );\r\n\r\n\r\n this.commonService.userRole.subscribe((role) => {\r\n let selectedCancelType = null;\r\n //console.log(\"Role in action\", role)\r\n if (role.toLowerCase() === 'provider' || role.toLowerCase() === 'lab' || role.toLowerCase() === 'radiology') {\r\n selectedCancelType = this.masterCancelType.find(type => type.globalCodeValue === \"Cancel By Staff\");\r\n } else if (role.toLowerCase() === 'client') {\r\n \r\n selectedCancelType = this.masterCancelType.find(type => type.globalCodeValue === \"Cancel By Client\");\r\n } else {\r\n \r\n selectedCancelType = this.masterCancelType.find(type => type.globalCodeValue === \"Cancel By Other\");\r\n }\r\n\r\n if (selectedCancelType) {\r\n this.formControls[\"cancelTypeId\"].patchValue(selectedCancelType.id);\r\n } else {\r\n this.formControls[\"cancelTypeId\"].patchValue(defautlType.id);\r\n }\r\n \r\n // this.formControls[\"cancelTypeId\"].patchValue(\r\n // selectedCancelType !=null ? selectedCancelType?.id : defautlType.id\r\n // //selectedCancelType ? selectedCancelType.id : defautlType.id\r\n // );\r\n //console.log('Selected Cancel Type ID:', selectedCancelType.id );\r\n });\r\n this.getRefundAmount()\r\n }\r\n });\r\n }\r\n\r\n RefundModel: any = {\r\n refundAmount: 0,\r\n uptoHours: 0,\r\n refundPercentage: 0\r\n }\r\n isUnderCancellationPolicy: boolean = false\r\n getRefundAmount() {\r\n this._schedulerService.GetRefundableAmount(this.appointmentId, this.cancelAppointmentForm.value.cancelTypeId).subscribe((res) => {\r\n if (res && res.statusCode == 200) {\r\n this.RefundModel = res.data\r\n if (this.RefundModel.uptoHours && this.RefundModel.refundPercentage) {\r\n this.isUnderCancellationPolicy = true\r\n }\r\n } else {\r\n this.isUnderCancellationPolicy = false\r\n this.RefundModel = {\r\n refundAmount: 0,\r\n uptoHours: 0,\r\n refundPercentage: 0\r\n }\r\n }\r\n },\r\n (error) => {\r\n this.isUnderCancellationPolicy = false\r\n this.RefundModel = {\r\n refundAmount: 0,\r\n uptoHours: 0,\r\n refundPercentage: 0\r\n }\r\n console.log(error);\r\n })\r\n }\r\n getRefundString(hour: any, percentage: any) {\r\n try {\r\n var string = this.translate.instant(\"Cancel appointment in {hours} hours, {percentage}% refund\")\r\n let str2 = string.replace(\"{hours}\", hour)\r\n return str2.replace(\"{percentage}\", percentage)\r\n } catch (ex) {\r\n return \"\"\r\n }\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{\\\"change_email\\\"|translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter new email\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter current password\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { Subscription } from 'rxjs';\r\nimport { ResponseModel } from 'src/app/super-admin-portal/core/modals/common-model';\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ChangeemailService } from './changeemail.service';\r\n\r\n@Component({\r\n selector: 'app-change-email',\r\n templateUrl: './change-email.component.html',\r\n styleUrls: ['./change-email.component.css']\r\n})\r\nexport class ChangeEmailComponent implements OnInit {\r\n\r\n changeEmailForm: FormGroup;\r\n submitted: boolean = false;\r\n subscription: Subscription;\r\n userId: number;\r\n isShowPassword:any;\r\n isShowNewPassword:any;\r\n isShowRePassword:any;\r\n constructor(private notifier: NotifierService, private dialogModalRef: MatDialogRef, private commonService: CommonService, private formBuilder: FormBuilder, private changeEmailService: ChangeemailService, private translate:TranslateService,\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n \r\n ngOnInit() {\r\n this.changeEmailForm = this.formBuilder.group({\r\n password: ['',Validators.required],\r\n newEmail: ['',Validators.required]\r\n });\r\n \r\n this.subscription = this.commonService.loginUser.subscribe((user: any) => {\r\n if (user && user.data) {\r\n // console.log(\"User id from email change component\",user.data.userID );\r\n this.userId = user.data.userID;\r\n }\r\n });\r\n }\r\n\r\n get formControls() {\r\n return this.changeEmailForm.controls;\r\n }\r\n\r\n // validateForm(formGroup: FormGroup) {\r\n // let pass = formGroup.controls.newPassword.value;\r\n // let confirmPass = formGroup.controls.confirmNewPassword.value;\r\n \r\n // if (confirmPass == undefined || !confirmPass.length)\r\n // return null;\r\n \r\n // return pass && confirmPass && pass === confirmPass ? null : formGroup.controls.confirmNewPassword.setErrors({ notSame: true })\r\n // }\r\n \r\n onSubmit() {\r\n if (!this.changeEmailForm.invalid) {\r\n let data = this.changeEmailForm.value;\r\n data.userID = this.userId;\r\n this.submitted = true;\r\n this.changeEmailService.updateNewEmail(data).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message);\r\n this.closeDialog('save');\r\n }\r\n else\r\n this.notifier.notify('error', response.message);\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ChangeemailService {\r\n\r\n private updateNewEmailURL = 'user/UpdateUserEmail';\r\n constructor(private commonService: CommonService) {\r\n }\r\n\r\n updateNewEmail(data: any) {\r\n return this.commonService.post(this.updateNewEmailURL, data);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{value.message}}\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"app-chat-widget {\\n position: absolute;\\n bottom: 0px;\\n right: 0px;\\n z-index: 1; }\\n\\n.chat-btn {\\n bottom: 20px;\\n right: 30px;\\n border-radius: 50%;\\n width: 60px;\\n height: 60px;\\n padding: 0px !important;\\n min-width: auto;\\n position: fixed; }\\n\\n.chat-hideicon {\\n width: 20px; }\\n\\n.chat-box {\\n height: 400px;\\n width: 350px;\\n overflow: hidden;\\n background-color: white;\\n position: fixed;\\n bottom: 90px;\\n right: 30px;\\n -webkit-transform: translateX(0%);\\n transform: translateX(0%);\\n box-shadow: 0 2px 10px 1px #b5b5b5;\\n -webkit-box-shadow: 0 2px 10px 1px #b5b5b5;\\n border-radius: 10px;\\n -webkit-border-radius: 10px;\\n transition: 0.3s ease; }\\n\\n.chat-box .inner {\\n overflow: scroll;\\n height: 85%;\\n padding-top: 64px;\\n background: #ffffff;\\n -ms-overflow-style: none;\\n overflow: -moz-scrollbars-none; }\\n\\n.chat-box .inner::-webkit-scrollbar {\\n width: 0 !important; }\\n\\n.chat-box .inner .content {\\n padding: 10.66666667px;\\n position: relative; }\\n\\n.nav {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n height: 64px;\\n z-index: 100;\\n transition: 0.3s ease; }\\n\\n.nav .default-nav {\\n height: 64px;\\n width: 100%;\\n position: absolute;\\n left: 0;\\n top: 0;\\n z-index: 110;\\n background-color: #35cce6;\\n border-bottom: 3px solid #1ab4ce;\\n color: #ffffff;\\n transition: 0.3s ease; }\\n\\n.nav .default-nav .main-nav {\\n position: absolute;\\n left: 0;\\n width: 100%;\\n height: 64px;\\n top: 0;\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n transition: 0.3s ease; }\\n\\n.nav .default-nav .main-nav .main-nav-item {\\n height: 64px;\\n display: flex;\\n justify-content: start;\\n align-items: center;\\n padding: 0px 15px;\\n transition: 0.3s ease; }\\n\\n.nav .default-nav .main-nav .main-nav-item img {\\n width: 50px;\\n height: 50px;\\n border: 1px solid #35cce6;\\n border-radius: 100px;\\n background-color: #F4F7F9;\\n margin-right: 20px; }\\n\\n.nav .default-nav .main-nav .main-nav-item .main-nav-item-link {\\n display: block;\\n text-decoration: none;\\n color: inherit;\\n transition: 0.3s ease;\\n font-size: 18px; }\\n\\n.send-chat {\\n position: fixed;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 64px;\\n background: #F4F7F9; }\\n\\n.send-chat .input {\\n height: 64px;\\n background: #F4F7F9;\\n border: none;\\n width: calc(100% - 64px);\\n position: absolute;\\n left: 0;\\n top: 0;\\n padding: 5px 15px;\\n resize: none;\\n overflow: scroll;\\n font-weight: 300;\\n -ms-overflow-style: none;\\n overflow: -moz-scrollbars-none; }\\n\\n.send-chat .input:focus {\\n outline: none; }\\n\\n.send-chat .input::-webkit-scrollbar {\\n width: 10 !important; }\\n\\n.send-chat .send {\\n position: fixed;\\n height: 42.66666667px;\\n width: 42.66666667px;\\n border-radius: 50%;\\n border: 0;\\n background: #52D6A2;\\n color: #ffffff;\\n bottom: 10.66666667px;\\n right: 10.66666667px; }\\n\\n.send-chat .send:before {\\n content: '';\\n background: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/104946/ic_send_white_48dp.png) no-repeat center center;\\n background-size: 25.6px;\\n position: absolute;\\n top: 0;\\n left: 5px;\\n right: 0;\\n bottom: 0; }\\n\\n.send-chat .send:focus {\\n outline: none; }\\n\\n.send-chat .send:hover {\\n cursor: pointer; }\\n\\n.message-wrapper {\\n position: relative;\\n overflow: hidden;\\n width: 100%;\\n margin: 10px 0px; }\\n\\n.message-wrapper .text-wrapper {\\n padding: 5px 8px;\\n margin: 0px;\\n border-radius: 5px;\\n -webkit-border-radius: 5px;\\n font-weight: 300;\\n position: relative; }\\n\\n.client-chat div {\\n float: right;\\n background: #A3EAF7; }\\n\\n.response-chat div {\\n float: left;\\n background: #F5F7F9; }\\n\\n@media (max-width: 480px) {\\n .chat-box {\\n width: 80%; } }\\n\"","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n Inject,\r\n ViewEncapsulation,\r\n ViewChild,\r\n AfterViewInit\r\n} from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { CommonService } from \"../../platform/modules/core/services\";\r\nimport { ChatHistoryModel } from \"../../platform/modules/agency-portal/clients/profile/chat-history.model\";\r\nimport { HubConnection } from \"../../hubconnection.service\";\r\nimport { ScrollbarComponent } from \"ngx-scrollbar\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-chat-widget\",\r\n templateUrl: \"./chat-widget.component.html\",\r\n styleUrls: [\"./chat-widget.component.scss\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ChatWidgetComponent implements OnInit, AfterViewInit {\r\n @Input() fromUserId: number;\r\n @Input() toUserId: number;\r\n @Input() allMessageArray: Array;\r\n @Input() imgSource: string = \"\";\r\n @Input() badge: number;\r\n @Input() title: string = \"\";\r\n @Input() subTitle: string = \"\";\r\n @Input() showCloseButton: boolean = false;\r\n @Input() autoFocus: boolean = true;\r\n message: string;\r\n hubConnection: HubConnection;\r\n @ViewChild(\"scrollbar\") scrollbarRef: ScrollbarComponent;\r\n\r\n showChatModal: boolean;\r\n\r\n constructor(private translate:TranslateService) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.showChatModal = false;\r\n this.message = \"\";\r\n this.hubConnection = new HubConnection();\r\n }\r\n\r\n onToggleChatModal() {\r\n this.showChatModal = !this.showChatModal;\r\n }\r\n\r\n ngOnInit() {\r\n this.createHubConnection();\r\n }\r\n\r\n createHubConnection() {\r\n if (this.hubConnection) {\r\n var token = JSON.parse(localStorage.getItem(\"access_token\"));\r\n this.hubConnection.createHubConnection(token).then(response => {\r\n this.hubConnection.getHubConnection().onclose(() => {\r\n this.ReconnectOnClose(this.fromUserId);\r\n });\r\n this.hubConnection\r\n .ConnectToServerWithUserId(this.fromUserId, 1)\r\n .then(res => {\r\n this.getMessageNotifications();\r\n });\r\n });\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n // this.scrollbarRef.scrollState.subscribe(e => console.log(e))\r\n }\r\n sendMessage(event) {\r\n if (!this.message || !this.message.trim()) return false;\r\n this.handleNewUserMessage(this.message);\r\n // const messageObj: ChatHistoryModel = {\r\n // message: this.message,\r\n // isRecieved: false\r\n // };\r\n // this.allMessageArray.push(messageObj);\r\n this.message = \"\";\r\n }\r\n handleNewUserMessage(message: string = \"\") {\r\n if (this.hubConnection.isConnected()) {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\"SendMessage\", message, this.fromUserId, this.toUserId)\r\n .catch(err =>{}\r\n // console.error(err, \"ReceiveMessageReceiveMessageerror\")\r\n );\r\n return message;\r\n } else {\r\n this.hubConnection.restartHubConnection().then(() => {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\"SendMessage\", message, this.fromUserId, this.toUserId)\r\n .catch(err =>{}\r\n // console.error(err, \"ReceiveMessageReceiveMessageerror\")\r\n );\r\n return message;\r\n });\r\n }\r\n }\r\n getMessageNotifications() {\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\"ReceiveMessage\", (result, fromUserId) => {\r\n // console.log(\"message from server ChatWidget\", result, fromUserId, this.toUserId);\r\n if (fromUserId == this.toUserId) {\r\n // const messageObj: ChatHistoryModel = {\r\n // message: result,\r\n // isRecieved: true\r\n // };\r\n // this.allMessageArray.push(messageObj);\r\n }\r\n });\r\n }\r\n ReconnectOnClose(fromUserId) {\r\n setTimeout(() => {\r\n this.hubConnection.restartHubConnection().then(() => {\r\n this.hubConnection.ConnectToServerWithUserId(fromUserId, 1).then(() => {\r\n // console.log('Restart Connection: user id sent to server : ' + fromUserId);\r\n });\r\n });\r\n }, 5000);\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n \\r\\n \\r\\n {{'please_enter_address'|translate}}\\r\\n \\r\\n\"","import {\r\n Component,\r\n Input,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport { GooglePlaceDirective } from \"ngx-google-places-autocomplete\";\r\nimport { Address } from \"ngx-google-places-autocomplete/objects/address\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-google-address-input\",\r\n templateUrl: \"./google-address-input.component.html\",\r\n styleUrls: [\"./google-address-input.component.css\"],\r\n})\r\nexport class GoogleAddressInputComponent {\r\n @Input(\"control\") address: FormControl = new FormControl(\"\");\r\n @Input() placeholder: string = this.translate.instant('address');\r\n @Output() onAddressChange = new EventEmitter();\r\n\r\n @ViewChild(\"placesRef\") placesRef: GooglePlaceDirective;\r\n addressOptions = {\r\n types: [],\r\n // componentRestrictions: { },\r\n };\r\n constructor(private translate: TranslateService) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n public handleAddressChange(address: Address) {\r\n// console.log(\"from gooogle address:,\", address)\r\n let addType = \"\";\r\n let city = null;\r\n let country = null;\r\n let state = null;\r\n let postalCode = \"0\";\r\n let fullAddress=address;\r\n let address1 = address.formatted_address;\r\n let lat = address.geometry.location.lat();\r\n let long = address.geometry.location.lng();\r\n for (let i = 0; i <= address.address_components.length; i++) {\r\n if (address.address_components[i] != undefined) {\r\n addType = address.address_components[i].types[0];\r\n if (addType == \"locality\")\r\n city = address.address_components[i].long_name;\r\n else if (addType == \"country\")\r\n country = address.address_components[i].long_name;\r\n else if (addType == \"administrative_area_level_1\")\r\n state = address.address_components[i].long_name;\r\n else if (addType == \"postal_code\")\r\n postalCode = address.address_components[i].short_name;\r\n }\r\n }\r\n let pObJ = {};\r\n pObJ = {\r\n fullAddress:fullAddress,\r\n address1: address1,\r\n country: country,\r\n city: city,\r\n state: state,\r\n zip: postalCode = \"0\",\r\n latitude: lat,\r\n longitude: long,\r\n };\r\n\r\n\r\n // console.log(\"pobj from google:,\", pObJ)\r\n // pAdd.patchValue(pObJ);\r\n this.onAddressChange.emit(pObJ);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n

{{heading}}

\\r\\n {{daysToDday}}\\r\\n {{\\\"day\\\"|translate}}(s) \\r\\n {{hoursToDday}}\\r\\n {{\\\"hrs\\\"|translate}} \\r\\n {{minutesToDday}}\\r\\n {{'Min'|translate}} \\r\\n {{secondsToDday}}\\r\\n {{'S'|translate}}\\r\\n
\"","module.exports = \".timer {\\n text-align: center;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 12px;\\n letter-spacing: -1px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin: 10px 0; }\\n\\n.timer span span {\\n width: 100%;\\n margin: 0 !important;\\n font-size: 20px !important;\\n display: flex;\\n align-content: center;\\n justify-content: center;\\n margin: 10px 0; }\\n\\n.timer span.impotant_time {\\n width: 60px;\\n margin: 0 8px;\\n display: flex;\\n justify-content: space-around;\\n flex-direction: column;\\n font-size: 16px !important;\\n align-items: center; }\\n\\n.timer span {\\n width: 60px;\\n margin: 0 8px;\\n display: flex;\\n justify-content: space-around;\\n flex-direction: column;\\n background-color: #fff;\\n color: #01385f;\\n font-size: 16px !important;\\n border-radius: 5px; }\\n\\n.abc {\\n box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; }\\n\\n@media screen and (max-width: 600px) {\\n .timer span {\\n margin: 0 3px;\\n font-size: 15px !important; }\\n .timer span span {\\n font-size: 15px !important; } }\\n\"","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit, Inject, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\r\nimport { interval, Subscription } from 'rxjs';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: 'app-count-down',\r\n templateUrl: './count-down.component.html',\r\n styleUrls: ['./count-down.component.scss']\r\n})\r\nexport class CountDownComponent implements OnInit, OnDestroy {\r\n\r\n @Input() inputDate: Date;\r\n @Input() cssHide: boolean = true;\r\n @Input() heading: string;\r\n @Output() triggerEvent = new EventEmitter();\r\n @Input() countercolor:string;\r\n @Input() show:boolean=true;\r\n private subscription: Subscription;\r\n public dynamicColor:string;\r\n public dateNow = new Date();\r\n milliSecondsInASecond = 1000;\r\n hoursInADay = 24;\r\n minutesInAnHour = 60;\r\n SecondsInAMinute = 60;\r\n timer: any;\r\n empty: any;\r\n public timeDifference;\r\n public secondsToDday: number;\r\n public minutesToDday: number;\r\n public hoursToDday: number;\r\n public daysToDday: number;\r\n dd: Date;\r\n \r\n \r\n constructor(private translate: TranslateService) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n /* let date = new Date();\r\n date.setHours(date.getHours() +2 );\r\n this.dd = date;*/\r\n\r\n }\r\n ngOnInit() {\r\n\r\n \r\n let date = new Date();\r\n date.setHours(date.getHours() + 2);\r\n this.dd = date;\r\n this.subscription = interval(1000)\r\n .subscribe(x => { this.getTimeDifference(); });\r\n }\r\n enableButtons() {\r\n // if (this.daysToDday == 0 && this.hoursToDday == 0 && this.minutesToDday <= 8) {\r\n if (this.daysToDday == 0 && this.hoursToDday == 0 && this.minutesToDday == 0 && this.secondsToDday == 0) {\r\n this.triggerEvent.emit(true);\r\n }\r\n }\r\n private getTimeDifference() {\r\n //this.dynamicColor = this.countercolor != null ? this.countercolor : \"red\";\r\n // this.timeDifference = this.dd.getTime() - new Date().getTime();\r\n this.timeDifference = new Date(this.inputDate).getTime() - new Date().getTime();\r\n this.allocateTimeUnits(this.timeDifference);\r\n }\r\n\r\n private allocateTimeUnits(timeDifference) {\r\n this.secondsToDday = Math.floor((timeDifference) / (this.milliSecondsInASecond) % this.SecondsInAMinute);\r\n this.minutesToDday = Math.floor((timeDifference) / (this.milliSecondsInASecond * this.minutesInAnHour) % this.SecondsInAMinute);\r\n this.hoursToDday = Math.floor((timeDifference) / (this.milliSecondsInASecond * this.minutesInAnHour * this.SecondsInAMinute) % this.hoursInADay);\r\n this.daysToDday = Math.floor((timeDifference) / (this.milliSecondsInASecond * this.minutesInAnHour * this.SecondsInAMinute * this.hoursInADay));\r\n\r\n // console.log('Days', this.daysToDday);\r\n // console.log('Hours', this.hoursToDday);\r\n // console.log('Minutes', this.minutesToDday);\r\n // console.log('Seconds', this.secondsToDday);\r\n this.enableButtons();\r\n }\r\n\r\n get isShowDays(): boolean {\r\n return (this.daysToDday > 0) ? true : false;\r\n }\r\n\r\n get isShowHours(): boolean {\r\n return (this.isShowDays || this.hoursToDday > 0) ? true : false;\r\n }\r\n\r\n get isShowMints(): boolean {\r\n return (this.isShowHours || this.minutesToDday > 0) ? true : false;\r\n }\r\n\r\n get isShowSeconds(): boolean {\r\n return (this.isShowMints || this.secondsToDday > 0) ? true : false;\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n // this.subscription.unsubscribe();\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \"/*Table Css*/\\r\\ntable {\\r\\n width: 100%;\\r\\n}\\r\\n.fa-custom{\\r\\n font-size: 1em;\\r\\n color: #fff;\\r\\n}\\r\\n.table {\\r\\n border-collapse: collapse;\\r\\n background-color: transparent;\\r\\n}\\r\\n.customtable {\\r\\n white-space: normal;\\r\\n}\\r\\ntd.mat-cell, td.mat-footer-cell, th.mat-header-cell {\\r\\n padding: inherit !important;\\r\\n}\\r\\ntable th.mat-header-cell > div > button {\\r\\n color: #000;\\r\\n text-transform: uppercase;\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n white-space: nowrap;\\r\\n}\\r\\ntd.mat-cell,\\r\\ntd.mat-footer-cell,\\r\\nth.mat-header-cell {\\r\\n padding-left: 0.75rem !important;\\r\\n padding-right: 0.75rem !important;\\r\\n}\\r\\n/*Pagination*/\\r\\n.mat-paginator .mat-paginator-container {\\r\\n justify-content: space-between;\\r\\n}\\r\\n.bgcolor-circle {\\r\\n border: 1px solid #efefef;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n display: block;\\r\\n padding: 2px;\\r\\n border-radius: 50%;\\r\\n -webkit-border-radius: 50%;\\r\\n}\\r\\n/* @media (max-width: 1199px){\\r\\n .customtable {\\r\\n white-space: nowrap;\\r\\n }\\r\\n} */\\r\\n@media screen and (max-width:600px) {\\r\\n .content_page{\\r\\n padding: 15px !important;\\r\\n }\\r\\n}\\r\\n@media (max-width: 520px) {\\r\\n .mat-paginator .mat-paginator-container {\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n }\\r\\n .mat-paginator-range-label {\\r\\n margin: 0px !important;\\r\\n }\\r\\n .mat-paginator-range-actions {\\r\\n display: inline-block !important;\\r\\n text-align: center;\\r\\n }\\r\\n}\\r\\n.table-responsive .alert.alert-danger {\\r\\n border-radius: 0px;\\r\\n line-height: 39px;\\r\\n border: none;\\r\\n background: #fff3f3;\\r\\n width: 97%;\\r\\n margin-left: 7px;\\r\\n color: #d00;\\r\\n}\\r\\n.star {\\r\\n margin-right: -9px;\\r\\n font-size: 19px !important;\\r\\n}\\r\\ntd {\\r\\n text-align: left !important;\\r\\n}\\r\\n.average-rating {\\r\\n font-size: 12px !important;\\r\\n line-height: 30px;\\r\\n}\\r\\n/* .table-responsive {\\r\\n overflow-x:inherit;\\r\\n} */\\r\\n.table-responsive.mt-15{\\r\\n padding: 0 15px;\\r\\n /* overflow-x: scroll; */\\r\\n}\\r\\n/* .no-gutters{\\r\\n display: flex;\\r\\n flex-direction: row-reverse;\\r\\n align-items: center;\\r\\n} */\\r\\n.custom_form .mat-form-field-flex {\\r\\n height: 45px;\\r\\n border-color: #dfd5d5;\\r\\n}\\r\\n.pull-right {\\r\\n padding-right: 15px !important;\\r\\n}\\r\\n.content_page{\\r\\n padding: 30px;\\r\\n}\\r\\n.readmin-panel {\\r\\n border-radius: 10px;\\r\\n box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n.dropdown-menu.show {\\r\\n box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.2);\\r\\n border: navajowhite;\\r\\n}\\r\\nbutton.btn.viewww {\\r\\n background: transparent;\\r\\n font-size: 14px;\\r\\n /* opacity: 0.5; */\\r\\n font-weight: 500 !important;\\r\\n}\\r\\n.dropdown-toggle::after {\\r\\n content:inherit;\\r\\n}\\r\\nbutton#dropdownMenuButton {\\r\\n background: transparent;\\r\\n}\\r\\n.mat-paginator-container {\\r\\n padding: 0 15px;\\r\\n}\\r\\n.table thead th {\\r\\n vertical-align: inherit;\\r\\n border-bottom: 2px solid #f7f5f5;\\r\\n}\\r\\nbutton.mat-sort-header-button {\\r\\n color: #01385f !important;\\r\\n}\\r\\ntd.mat-cell, td.mat-footer-cell, th.mat-header-cell {\\r\\n border-color: #f7f5f5;\\r\\n}\\r\\n.mat-paginator {\\r\\n background-color: transparent;\\r\\n}\\r\\n::ng-deep .paginator-upward .mat-select-panel {\\r\\n top: auto !important;\\r\\n bottom: 100% !important;\\r\\n}\\r\\n::ng-deep .cdk-overlay-container .cdk-overlay-pane .mat-select-panel {\\r\\n -webkit-transform-origin: bottom;\\r\\n transform-origin: bottom;\\r\\n}\\r\\n.mat-row:nth-child(odd) {\\r\\n /* background-color: #e4fbff; */\\r\\n background-color: #eafcff;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n /* margin: 10px 0;\\r\\n border-radius: 10px; */\\r\\n}\\r\\n.mat-row .mat-cell {\\r\\n font-weight: 400;\\r\\n}\\r\\n.mat-header-row {\\r\\n background: white;\\r\\n padding: 0 0 0 10px;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n}\\r\\n.mat-row {\\r\\n background: white;\\r\\n /* border-radius: 10px; */\\r\\n padding: 0 0 0 10px;\\r\\n border-bottom: 1px solid #f5f1f1 !important;\\r\\n}\\r\\nbutton#dropdownMenuButton {\\r\\n /* background: #17a2b8; */\\r\\n color: white;\\r\\n padding: 0px 10px;\\r\\n background: linear-gradient(90.06deg, #014971 0.32%, #03BECA 100.49%) !important;\\r\\n border: none;\\r\\n}\\r\\n.table-responsive img{\\r\\n max-width: 47px;\\r\\n}\\r\\ntd.mat-cell {\\r\\n color: #01385f;\\r\\n}\\r\\n.show a {\\r\\n /* color: #afadadcd; */\\r\\n /* padding: 0 !important; */\\r\\n font-weight: 500 !important;\\r\\n text-align: left;\\r\\n color: black;\\r\\n font-size: 13px !important;\\r\\n line-height: 23px !important;\\r\\n}\\r\\ntr:first-child th:first-child .mat-sort-header-container {\\r\\n padding-left: 10px !important;\\r\\n justify-content: flex-start;\\r\\n white-space: nowrap;\\r\\n}\\r\\ntr th .mat-sort-header-container {\\r\\n padding-left: 0px !important;\\r\\n}\\r\\n::ng-deep .mat-sort-header-container {\\r\\n justify-content: flex-start;\\r\\n white-space: nowrap;\\r\\n}\\r\\ntbody td.mat-cell {\\r\\n padding-left: 20px 10px 20px 15px !important;\\r\\n}\\r\\n/* .mat-cell .dropdown {\\r\\n padding-left: 20px;\\r\\n} */\\r\\ntr.mat-row:hover td {\\r\\n background-color: #17a2b8;\\r\\n color: white;\\r\\n}\\r\\ntr.mat-row:hover td.mat-cell span.greenfont {\\r\\n background-color: #17a2b8;\\r\\n color: white;\\r\\n}\\r\\n.empty .abc {\\r\\n box-shadow: none !important;\\r\\n}\\r\\n/* .clickable-row:hover {\\r\\n cursor: pointer;\\r\\n} */\\r\\n@media screen and (max-width: 768px) {\\r\\n tr:first-child th:first-child .mat-sort-header-container {\\r\\n padding-left: 0px !important;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width: 576px) {\\r\\n table th.mat-header-cell > div > button {\\r\\n font-size: 11px;\\r\\n }\\r\\n}\\r\\n.clickable {\\r\\n cursor: pointer;\\r\\n}\"","module.exports = \"
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ column.displayName | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n column.type\\r\\n \\\"\\r\\n [matTooltip]=\\\"element[column.key]\\\"\\r\\n matTooltipClass=\\\"example-tooltip\\\"\\r\\n class=\\\"fa fa-info-circle infoIcon\\\"\\r\\n >\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{element[column.key]=='complete'?\\\"-------\\\":\\\"Past Appointment44\\\"|translate}} \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n • {{ item }}\\r\\n
\\r\\n
\\r\\n\\r\\n
3\\\"\\r\\n style=\\\"width: 100%; display: flex; justify-content: right\\\">\\r\\n .....\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ actions | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ getTootltip(row) |translate }}\\r\\n \\r\\n \\r\\n {{ getToolTipForLab(row) |translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ getRadioTootltipPatient(row) |translate }}\\r\\n \\r\\n \\r\\n {{ getToolTipForpending(row) |translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ getTootltip(row) |translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ a.displayName|translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ getTootltipPatient(row)|translate }}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Payment'|translate}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ getDoctorProfileTootltipPatientExpired(row)|translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ getTootltipPatient(row) |translate}}\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{ getDoctorProfileTootltipPatient(row)|translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ a.displayName |translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ a.displayName|translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ a.displayName|translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ a.displayName|translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ \\\"no_record_found\\\" | translate }}
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { DatePipe } from \"@angular/common\";\r\nimport {\r\n Component,\r\n Input,\r\n OnChanges,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { MatPaginator, MatSort, MatTableDataSource } from \"@angular/material\";\r\nimport { merge } from \"rxjs\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\n\r\n// const displayedColumns: Array = [\r\n// { displayName: 'Service Code', key: 'serviceCode', isSort: true, class: '' },\r\n// { displayName: 'Description', key: 'description', isSort: true, class: '' },\r\n// { displayName: 'Billable', key: 'isBillable' },\r\n// { displayName: 'Unit Duration', key: 'unitDuration' },\r\n// { displayName: 'Rate Per Unit', key: 'ratePerUnit' },\r\n// { displayName: 'Required Authorization', key: 'isRequiredAuthorization' },\r\n// ];\r\n\r\n@Component({\r\n selector: \"app-data-table\",\r\n templateUrl: \"./data-table.component.html\",\r\n styleUrls: [\"./data-table.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DataTableComponent implements OnInit, OnChanges {\r\n @Input() inputSource: any[];\r\n @Input() inputColumns: any[];\r\n @Input() inputMeta: any;\r\n @Input() inputButtons: any[];\r\n @Output() onChange = new EventEmitter();\r\n @Output() onTableActionClick = new EventEmitter();\r\n @Output() onPageOrSortChange = new EventEmitter();\r\n @Output() onClicks = new EventEmitter();\r\n @Input() stickyHeader: boolean;\r\n @Input() showTooltip: boolean;\r\n @Input() showPagination: boolean = true;\r\n @Input() isClickable: boolean = false;\r\n displayedColumns: Array;\r\n extraColumns: Array;\r\n columnsToDisplay: Array;\r\n // @Output() onToggleChange = new EventEmitter();\r\n\r\n // dataSource: MatTableDataSource> = new MatTableDataSource<\r\n // Array\r\n // >();\r\n dataSource: Array = [];\r\n metaData: Meta;\r\n actionButton: Array;\r\n actions: any = \"actions\";\r\n noRecords: Array;\r\n isLoadingResults = true;\r\n tooltipText: any = \"\";\r\n UserRole: string = \"PROVIDER\";\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n userRoleName: any;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private commonService: CommonService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n ngOnInit() {\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.userRoleName =\r\n user && user.users3 && user.users3.userRoles.userType;\r\n }\r\n });\r\n //this.dataSource = new MatTableDataSource>();\r\n //let data = this.inputSource;\r\n this.noRecords = [{}];\r\n\r\n // If the user changes the sort order, reset back to the first page.\r\n this.sort.sortChange.subscribe(() => (this.paginator.pageIndex = 0));\r\n\r\n merge(this.sort.sortChange, this.paginator.page).subscribe(() => {\r\n // console.log(this.paginator);\r\n this.isLoadingResults = true;\r\n const changeState = {\r\n sort: this.sort.active || \"\",\r\n order: this.sort.direction || \"\",\r\n pageNumber: this.paginator.pageIndex + 1,\r\n pageSize: this.paginator.pageSize,\r\n };\r\n this.onChange.emit(changeState);\r\n });\r\n }\r\n\r\n checkDate(startDateTime: any) {\r\n if (new Date(startDateTime) > new Date()) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isInvited(obj: any) {\r\n if (obj == \"Invited\") {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n setColorToPendingStatusReplaceInvited(obj: any) {\r\n if (obj == \"Invited\") {\r\n return \"#ff0000\";\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n showCursorPointer(){\r\n return this.isClickable;\r\n }\r\n replaceInvitedtoPeding(obj: any) {\r\n if (obj == \"Invited\") {\r\n //return \"Invited/Pending\";\r\n return \"Pending\";\r\n } else {\r\n return obj.value;\r\n }\r\n }\r\n\r\n makeDisable(row: any) {\r\n if (row.status == \"Invited\") {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n getTootltip(row: any): string {\r\n if (row.statusName == \"Approved\") {\r\n return \"Go to waiting room\";\r\n } else if (row.statusName == \"Pending\") {\r\n return \"Approve/Reject Appointment\";\r\n } else if (row.statusName == \"Completed\") {\r\n return \"Go to Past Appointment\";\r\n } else {\r\n return \"No Action Required\";\r\n }\r\n }\r\n\r\n\r\n\r\n getToolTipForpending(row: any): string {\r\n if (row.statusName == \"Pending\" || row.statusName == \"Invited\") {\r\n return \"Approve/Reject Appointment\";\r\n } else {\r\n return \"No Action Required\";\r\n }\r\n }\r\n\r\n convertDate(date: any) {\r\n if (date == \"Invalid Date\") {\r\n return \"\";\r\n } else {\r\n return new DatePipe(\"en-US\").transform(date, \"dd/MM/yyyy\");\r\n }\r\n }\r\n getTootltipPatient(row: any): string {\r\n if (row.status == \"Approved\" || row.status == \"Invited\") {\r\n return \"Go to waiting room\";\r\n } else if (row.status == \"Pending\" && this.userRoleName == \"Provider\") {\r\n return \"Approve/Reject Appointment\";\r\n } else if (row.status == \"Completed\" || row.status == \"Cancelled\") {\r\n return \"Add Review/Rating\";\r\n } else {\r\n return \"No action needed\";\r\n }\r\n }\r\n\r\n getToolTipForLab(row: any): string {\r\n if (row.statusName == \"Pending\") {\r\n return \"Approve/Reject Appointment\";\r\n }\r\n }\r\n\r\n getRadioTootltipPatient(row: any): string {\r\n if (row.statusName == \"Pending\") {\r\n return \"Approve/Reject Appointment\";\r\n }\r\n }\r\n\r\n getDoctorProfileTootltipPatient(row: any): string {\r\n if (row.status == \"Completed\" || row.status == \"Cancelled\") {\r\n return \"Go to doctor profile\";\r\n }\r\n // else{\r\n // return '';\r\n // }\r\n }\r\n\r\n getDoctorProfileTootltipPatientExpired(row: any): string {\r\n if (row.status == \"Expired\") {\r\n return \"No Action Required\";\r\n }\r\n }\r\n\r\n ngOnChanges(value: any) {\r\n this.tooltipText = this.showTooltip ? \"Click to view options\" : \" \";\r\n if (value.inputColumns) {\r\n this.displayedColumns = (value.inputColumns.currentValue || []).filter(\r\n (x) => x.key != \"Actions\"\r\n );\r\n let changedColumns = (this.displayedColumns || []).map((obj) => obj.key);\r\n if (\r\n value.inputButtons != null &&\r\n value.inputButtons.currentValue.length > 0\r\n )\r\n changedColumns.push(\"Actions\");\r\n this.columnsToDisplay = changedColumns;\r\n this.extraColumns = (value.inputColumns.currentValue || []).filter(\r\n (x) => x.key == \"Actions\"\r\n );\r\n }\r\n if (value.inputSource) {\r\n this.isLoadingResults = false;\r\n this.dataSource = value.inputSource.currentValue;\r\n }\r\n if (value.inputMeta) {\r\n this.metaData = value.inputMeta.currentValue || new Meta();\r\n }\r\n if (value.inputButtons) {\r\n this.actionButton = value.inputButtons.currentValue || [];\r\n }\r\n }\r\n onToggleClick(action: string, data: any, column: string) {\r\n const actionObj = {\r\n action,\r\n data,\r\n column,\r\n };\r\n this.onTableActionClick.emit(actionObj);\r\n this.onClicks.emit(data);\r\n }\r\n onActionClick(action: string, data: any) {\r\n // console.log(\"000\", action, data);\r\n const actionObj = {\r\n action,\r\n data,\r\n };\r\n this.onTableActionClick.emit(actionObj);\r\n this.onClicks.emit(data);\r\n }\r\n onActionClicks(action: string, data: any, navigate: any) {\r\n //console.log(\"000\",action,data,navigate);\r\n const actionObj = {\r\n action,\r\n data,\r\n navigate,\r\n };\r\n this.onTableActionClick.emit(actionObj);\r\n this.onClicks.emit(data);\r\n }\r\n\r\n onRadioActionClicks = (action: string, data: any, navigate: any) => {\r\n const actionObj = {\r\n action,\r\n data,\r\n };\r\n this.onTableActionClick.emit(actionObj);\r\n };\r\n onCellClick(action: string, data: any) {\r\n // console.log(\"onCellClick\", action);\r\n // console.log(\"data\", data);\r\n const actionObj = {\r\n action,\r\n data,\r\n };\r\n this.onTableActionClick.emit(actionObj);\r\n this.onClicks.emit(data);\r\n }\r\n onToggleChange(event: any, data: any, action: string) {\r\n data.isActive = !data.isActive;\r\n const actionObj = {\r\n state: event.checked,\r\n data,\r\n action,\r\n };\r\n ``;\r\n this.onTableActionClick.emit(actionObj);\r\n this.onClicks.emit(data);\r\n }\r\n\r\n setColorToPendingStatus(obj: any) {\r\n if (obj == \"Pending\") {\r\n return \"#ff0000\";\r\n } else {\r\n return null;\r\n }\r\n }\r\n setColorToLabuploadStatus(obj: any) {\r\n if (obj == \"Request Raised\") {\r\n return \"#FFA500\";\r\n } else {\r\n return \"#008000\";\r\n }\r\n }\r\n setToolTip(obj: any) {\r\n if (obj.mrn && obj.isBlock) {\r\n return \"The Patient is block\";\r\n } else if (obj.roleID == 156 && obj.isBlock) {\r\n return \"The Provider is block\";\r\n } else if (obj.labId && obj.isBlock) {\r\n return \"The Lab is block\";\r\n } else if (obj.pharmacyId && obj.isBlock) {\r\n return \"The Pharmacy is block\";\r\n } else if (obj.radiologyID && obj.isBlock) {\r\n return \"The Radiology is block\";\r\n }\r\n }\r\n\r\n disabledtoggle(obj: any) {\r\n if (obj.statusName == \"Completed\") return true;\r\n return false;\r\n }\r\n checkblockorapproved(obj: any) {\r\n if (obj.roleID == 156 && obj.isBlock) {\r\n return \"red\";\r\n } else if (obj.roleID == 156 && obj.isApprove) {\r\n return \"#198754\";\r\n } else if (obj.mrn && obj.isBlock) {\r\n return \"red\";\r\n } else if (obj.labId && obj.isBlock) {\r\n return \"red\";\r\n } else if (obj.labId && obj.isApprove) {\r\n return \"#198754\";\r\n } else if (obj.pharmacyId && obj.isBlock) {\r\n return \"red\";\r\n } else if (obj.pharmacyId && obj.isApprove) {\r\n return \"#198754\";\r\n } else if (obj.radiologyID && obj.isBlock) {\r\n return \"red\";\r\n } else if (obj.radiologyID && obj.isApprove) {\r\n return \"#198754\";\r\n }\r\n }\r\n onPageOrSortChangePagination(event: any) {\r\n this.onPageOrSortChange.emit(event);\r\n }\r\n}\r\n\r\nclass Meta {\r\n //////;\r\n totalPages?: number = 0;\r\n pageSize?: number = 5;\r\n currentPage?: number = 1;\r\n defaultPageSize?: number = 5;\r\n totalRecords?: number = 0;\r\n pageSizeOptions?: number[] = [];\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n\"","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { MatDatepickerInputEvent } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-date-picker',\r\n templateUrl: './date-picker.component.html',\r\n styleUrls: ['./date-picker.component.css']\r\n})\r\nexport class DatePickerComponent implements OnInit {\r\n\r\n @Output() dateChangeEvent = new EventEmitter();\r\n rangeStartDate1: any;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n applyStartDateFilter(event: MatDatepickerInputEvent) {\r\n this.dateChangeEvent.emit(event.value);\r\n this.rangeStartDate1 = event.value;\r\n // console.log('selected value from date picker shared module', event.value);\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-direction-map',\r\n templateUrl: './direction-map.component.html',\r\n styleUrls: ['./direction-map.component.css']\r\n})\r\nexport class DirectionMapComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControlName][appMrnNumber]', \r\n})\r\nexport class MrnNumberDirective {\r\n\r\n constructor(public ngControl: NgControl) { }\r\n @HostListener('ngModelChange', ['$event'])\r\n onModelChange(event) {\r\n this.onInputChange(event, false);\r\n }\r\n\r\n @HostListener('keydown.backspace', ['$event'])\r\n keydownBackspace(event) {\r\n this.onInputChange(event.target.value, true);\r\n }\r\n\r\n onInputChange(event, backspace) {\r\n let newVal='';\r\n if(event!=null)\r\n newVal = event.replace(/\\D/g, '');\r\n if (backspace && newVal.length <= 6) {\r\n newVal = newVal.substring(0, newVal.length - 1);\r\n }\r\n if (newVal.length === 0) {\r\n newVal = '';\r\n } else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, '($1)');\r\n } else if (newVal.length <= 6) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})/, '($1) $2');\r\n } else if (newVal.length <= 10) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,4})/, '($1) $2-$3');\r\n } else {\r\n newVal = newVal.substring(0, 10);\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,4})/, '($1) $2-$3');\r\n }\r\n this.ngControl.valueAccessor.writeValue(newVal);\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appNumbersOnly]'\r\n})\r\nexport class NumbersOnlyDirective {\r\n\r\n @Input() allowDecimals?: boolean;\r\n\r\n private regex: RegExp;\r\n // Allow key codes for special events. Reflect :\r\n // Backspace, tab, end, home\r\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight'];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n\r\n if (this.allowDecimals)\r\n this.regex = new RegExp(/^\\d+\\.?\\d*$/g);\r\n else\r\n this.regex = new RegExp(/^[0-9]*$/g);\r\n\r\n\r\n // Allow Backspace, tab, end, and home keys OR allow ctrl+A\r\n if (this.specialKeys.indexOf(event.key) !== -1 || (event.keyCode === 65 && (event.ctrlKey || event.metaKey))) {\r\n return;\r\n }\r\n let current: string = this.el.nativeElement.value;\r\n let next: string = current.concat(event.key);\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControlName][appPhoneNumber]',\r\n})\r\nexport class PhoneNumberDirective {\r\n\r\n constructor(public ngControl: NgControl) { }\r\n\r\n @HostListener('ngModelChange', ['$event'])\r\n onModelChange(event) {\r\n this.onInputChange(event, false);\r\n }\r\n\r\n @HostListener('keydown.backspace', ['$event'])\r\n keydownBackspace(event) {\r\n this.onInputChange(event.target.value, true);\r\n }\r\n\r\n onInputChange(event, backspace) { \r\n let newVal='';\r\n if(event!=null)\r\n newVal = event.replace(/\\D/g, '');\r\n if (backspace && newVal.length <= 6) {\r\n newVal = newVal.substring(0, newVal.length - 1);\r\n }\r\n if (newVal.length != 0) {\r\n newVal= newVal.replace('962', '');\r\n }\r\n if (newVal.length === 0) {\r\n newVal = '';\r\n } else if (newVal.length <= 1) {\r\n newVal = newVal.replace(/^(\\d{0,1})/, '$1');\r\n } else if (newVal.length <= 6) {\r\n newVal = newVal.replace(/^(\\d{0,1})(\\d{0,3})/, '$1 $2');\r\n } else if (newVal.length <= 9) {\r\n newVal = newVal.replace(/^(\\d{0,1})(\\d{0,3})(\\d{0,3})/, '$1 $2-$3');\r\n }\r\n else {\r\n newVal = newVal.substring(0, 9);\r\n newVal = newVal.replace(/^(\\d{0,1})(\\d{0,3})(\\d{0,3})/, '$1 $2-$3');\r\n }\r\n this.ngControl.valueAccessor.writeValue('(+962) '+newVal);\r\n }\r\n}","import { Directive, HostListener } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControlName][appRate]',\r\n})\r\nexport class RateDirective {\r\n constructor(public ngControl: NgControl) { }\r\n\r\n @HostListener('ngModelChange', ['$event'])\r\n onModelChange(event) {\r\n this.onInputChange(event, false);\r\n }\r\n\r\n @HostListener('keydown.backspace', ['$event'])\r\n keydownBackspace(event) {\r\n this.onInputChange(event.target.value, true);\r\n }\r\n\r\n onInputChange(event, backspace) {\r\n let newVal='';\r\n if(event!=null)\r\n newVal = event.replace(/\\D/g, '');\r\n if (backspace && newVal.length <= 6) {\r\n newVal = newVal.substring(0, newVal.length - 1);\r\n }\r\n if (newVal.length === 0) {\r\n newVal = '';\r\n } \r\n else{\r\n newVal = newVal.replace(/^\\d{0,6}(\\.\\d{1,2})?$/, '$1'); \r\n }\r\n this.ngControl.valueAccessor.writeValue(newVal);\r\n }\r\n}\r\n\r\n\r\n\r\n// import { Directive } from '@angular/core';\r\n\r\n// @Directive({\r\n// selector: '[appRate]'\r\n// })\r\n// export class RateDirective {\r\n\r\n// constructor() { }\r\n\r\n// }\r\n","\r\nimport { Directive, HostListener } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControlName][appSsn]',\r\n})\r\nexport class SsnDirective {\r\n\r\n constructor(public ngControl: NgControl) { }\r\n\r\n @HostListener('ngModelChange', ['$event'])\r\n onModelChange(event) {\r\n this.onInputChange(event, false);\r\n }\r\n\r\n @HostListener('keydown.backspace', ['$event'])\r\n keydownBackspace(event) {\r\n this.onInputChange(event.target.value, true);\r\n }\r\n\r\n onInputChange(event, backspace) {\r\n let newVal=''\r\n if(event!=null)\r\n newVal = event.replace(/\\D/g, '');\r\n if (newVal.length === 0) {\r\n newVal = '';\r\n } else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, '$1');\r\n } else if (newVal.length <= 5) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,2})/, '$1-$2');\r\n } else if (newVal.length <= 10) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,2})(\\d{0,4})/, '$1-$2-$3');\r\n } else {\r\n newVal = newVal.substring(0, 9);\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,2})(\\d{0,4})/, '$1-$2-$3');\r\n }\r\n this.ngControl.valueAccessor.writeValue(newVal);\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n// import { Directive } from '@angular/core';\r\n\r\n// @Directive({\r\n// selector: '[appSsn]'\r\n// })\r\n// export class SsnDirective {\r\n\r\n// constructor() { }\r\n\r\n// }\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControlName][appZipcode]',\r\n})\r\nexport class ZipcodeDirective {\r\n\r\n constructor(public ngControl: NgControl) { }\r\n\r\n @HostListener('ngModelChange', ['$event'])\r\n onModelChange(event) {\r\n this.onInputChange(event, false);\r\n }\r\n\r\n @HostListener('keydown.backspace', ['$event'])\r\n keydownBackspace(event) {\r\n this.onInputChange(event.target.value, true);\r\n }\r\n\r\n onInputChange(event, backspace) {\r\n let newVal='';\r\n if(event!=null)\r\n newVal = event.replace(/\\D/g, '');\r\n //let newVal = event.replace(/\\D/g, '');\r\n // if (backspace && newVal.length <= 5) {\r\n // newVal = newVal.substring(0, newVal.length - 1);\r\n // }\r\n if (newVal.length === 0) {\r\n newVal = '';\r\n } else if (newVal.length <= 5) {\r\n newVal = newVal.replace(/^(\\d{0,5})/, '$1');\r\n } else if (newVal.length <= 10 && newVal.length > 5) {\r\n newVal = newVal.replace(/^(\\d{0,5})(\\d{0,4})/, '$1-$2');\r\n }\r\n else {\r\n newVal = newVal.substring(0, 10);\r\n newVal = newVal.replace(/^(\\d{0,5})(\\d{0,4})/, '$1-$2');\r\n }\r\n \r\n this.ngControl.valueAccessor.writeValue(newVal);\r\n }\r\n}\r\n\r\n// import { Directive } from '@angular/core';\r\n\r\n// @Directive({\r\n// selector: '[appZipcode]'\r\n// })\r\n// export class ZipcodeDirective {\r\n\r\n// constructor() { }\r\n\r\n// }\r\n","module.exports = \"a{\\r\\n cursor: pointer;\\r\\n}\\r\\n.result_block{\\r\\n margin-left: 40px;\\r\\n\\r\\n}\\r\\n.file-list {\\r\\n padding-left: 0;\\r\\n list-style: none;\\r\\n}\\r\\n.file-item {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n.attachment-icon {\\r\\n margin-right: 8px;\\r\\n color: darkblue;\\r\\n font-size: 16px;\\r\\n}\\r\\n.file-link {\\r\\n text-decoration: underline;\\r\\n color: #4f46e5;\\r\\n font-weight: 500;\\r\\n transition: color 0.3s ease; \\r\\n margin-left: 10px;\\r\\n}\\r\\n.file-link:hover {\\r\\n color: #4338ca;\\r\\n}\\r\\n.file-link:focus {\\r\\n outline: 2px solid #c7d2fe;\\r\\n outline-offset: 2px;\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n h4 {\\r\\n font-size: 17px;\\r\\n }\\r\\n .file-link {\\r\\n font-size: 14px;\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n

0\\\">{{'Click on file name to view'|translate}}

\\r\\n

{{'No attachments are found'|translate}}

\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { ImageViewerComponent } from '../raise-ticket/image-viewer/image-viewer.component';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppointmentAttachedFileModel } from './display-attached-files.model';\r\n\r\n@Component({\r\n selector: 'app-display-attached-files',\r\n templateUrl: './display-attached-files.component.html',\r\n styleUrls: ['./display-attached-files.component.css']\r\n})\r\nexport class DisplayAttachedFilesComponent implements OnInit {\r\n\r\n attachmentFiles: AppointmentAttachedFileModel[] = [];\r\n allFilesLoaded = false;\r\n \r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: AppointmentAttachedFileModel[],\r\n private ref: MatDialogRef,\r\n private notifier: NotifierService,\r\n private translate:TranslateService,\r\n ) { \r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n ngOnInit(): void {\r\n //console.log(this.data)\r\n this.attachmentFiles = this.data;\r\n }\r\n \r\n extractNameInfo(data:any){\r\n \r\n }\r\n \r\n viewFile(path: string, fileName: string) {\r\n if (path !== \"\") {\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = path;\r\n // a.download = fileName;\r\n a.click();\r\n a.remove();\r\n } else {\r\n this.notifier.notify(\"error\", \"Cannot download this file\"); \r\n }\r\n }\r\n \r\n \r\n // downloadFile(path: string, fileName: string) {\r\n // if (path !== \"\") {\r\n // const link = document.createElement(\"a\");\r\n // link.href = path;\r\n // link.download = fileName;\r\n // document.body.appendChild(link);\r\n // link.click();\r\n // document.body.removeChild(link);\r\n // }\r\n // else{\r\n // this.notifier.notify(\"error\", \"cannot download this file\");\r\n // }\r\n // }\r\n \r\n closeDialog() {\r\n this.ref.close(\"close\");\r\n }\r\n\r\n}\r\n","module.exports = \".schedule-modal {\\r\\n background-color: rgba(99, 216, 145, .15);\\r\\n color: #2f2660;\\r\\n padding: 20px 25px;\\r\\n border-radius: 3px;\\r\\n -webkit-border-radius: 3px;\\r\\n}\\r\\n\\r\\n.cancel-btn {\\r\\n position: absolute;\\r\\n right: 20px;\\r\\n}\\r\\n\\r\\n.schedule-modal h3 {\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n\\r\\n.zi-999{\\r\\n z-index: 999;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\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, OnChanges, Input, Inject, Output, EventEmitter, Optional, OnInit, ViewChild } from '@angular/core';\r\nimport { saveAs } from 'file-saver';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { FileViewModel } from 'src/app/platform/modules/agency-portal/users/users.model';\r\nimport { stringify } from 'querystring';\r\nimport { count } from 'console';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: 'app-doc-viewer',\r\n templateUrl: './doc-viewer.component.html',\r\n styleUrls: ['./doc-viewer.component.css']\r\n})\r\nexport class DocViewerComponent implements OnInit {\r\n message: string = '';\r\n viewer = 'google';\r\n doc: string;\r\n\r\n docTypes = ['TXT', 'DOC', 'DOCX', 'XLS', 'XLSX', 'PPT', 'PPTX', 'PDF', 'PAGES', 'TIFF', 'SVG']\r\n imgTypes = ['JPG', 'JPEG', 'PNG'];\r\n videoTypes = ['MP4', 'mov', 'wmv', 'AVI', 'AVCHD', 'FLV', 'F4V', 'SWF', 'MKV', 'WEBM', 'HTML5', 'MPEG-2'];\r\n\r\n isDocFile = false;\r\n\r\n\r\n videoUrl: any;\r\n docBlob: Blob;\r\n isImage: boolean;\r\n isVideo: boolean;\r\n iHeight: number;\r\n iWidth: number;\r\n fileName: string;\r\n @ViewChild('video') matVideo: any;\r\n video: HTMLVideoElement;\r\n fileUrl: any;\r\n fileUrl2: any;\r\n file: string;\r\n file2: string;\r\n\r\n constructor(\r\n public dialogPopup: MatDialogRef,\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data: FileViewModel,\r\n private sanitizer: DomSanitizer, private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n //////\r\n this.file = String(data);\r\n this.fileUrl2 = String(this.file).split('.').pop();\r\n this.file2 = this.fileUrl2;\r\n this.fileUrl = data;\r\n const fileType = this.file2.toUpperCase();\r\n if (this.docTypes.includes(fileType)) {\r\n this.isDocFile = true;\r\n this.doc = this.file;//data.fileUrl;\r\n } else if (this.imgTypes.includes(fileType)) {\r\n this.isImage = true;\r\n this.doc = this.file;\r\n // this.documentOpen(data.blob);\r\n } else if (this.videoTypes.includes(fileType)) {\r\n this.isVideo = true;\r\n this.documentOpen(data.blob);\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n //////\r\n }\r\n\r\n closeDialog(action: string): void {\r\n this.dialogPopup.close(action);\r\n }\r\n\r\n\r\n documentOpen(file: any) {\r\n //////\r\n if (file) {\r\n this.fileUrl = undefined;\r\n this.iHeight = screen.height / 1.6;\r\n this.iWidth = screen.height - 2;\r\n if (this.isImage) {\r\n this.showImg(file);\r\n } else if (this.isVideo) {\r\n this.docBlob = file;\r\n this.videoUrl = URL.createObjectURL(file);\r\n } else {\r\n const fileName = this.data.fileUrl.substring(this.data.fileUrl.lastIndexOf('/') + 1);\r\n saveAs(file, fileName);\r\n this.closeDialog('');\r\n }\r\n }\r\n }\r\n\r\n\r\n showImg(blob: Blob) {\r\n const thisClass = this;\r\n let reader = new FileReader();\r\n reader.readAsDataURL(blob);\r\n reader.onloadend = function () {\r\n let base64String = reader.result as string;\r\n const imgStringArray = base64String.split(';');\r\n const imgString = 'data:' + blob.type + ';' + imgStringArray[1];\r\n thisClass.fileUrl = imgString;\r\n }\r\n }\r\n\r\n}\r\n\r\n","module.exports = \".chart-container {\\r\\n position: relative;\\r\\n height: 40vh;\\r\\n }\\r\\n \\r\\n .legend-indicator {\\r\\n width: 20px;\\r\\n height: 20px;\\r\\n border-radius: 50%;\\r\\n }\\r\\n \\r\\n .legend-label {\\r\\n font-size: 14px; \\r\\n font-family:'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n /* font-family: 'Arial Narrow', Arial, sans-serif; */\\r\\n\\r\\n }\\r\\n \\r\\n\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
 {{ item }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { BaseChartDirective } from 'ng2-charts';\r\n\r\n@Component({\r\n selector: 'app-doughnut-chart',\r\n templateUrl: './doughnut-chart.component.html',\r\n styleUrls: ['./doughnut-chart.component.css']\r\n})\r\nexport class DoughnutChartComponent implements OnInit {\r\n\r\n @Input() doughnutChartData: any[];\r\n @Input() doughnutChartLabels: any[];\r\n @Output() doughnutchartClicked: EventEmitter = new EventEmitter();\r\n\r\n public chartType: string;\r\n backgrounColors :any [] = [];\r\n public chartOptions: any = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: { display: false }\r\n };\r\n \r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n \r\n this.chartType = 'doughnut';\r\n }\r\n\r\n onChartClicked({ event, active }: { event: MouseEvent; active: {}[] }): void {\r\n this.doughnutchartClicked.emit({ event, active });\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\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, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormArray, FormGroup } from '@angular/forms';\r\nimport { DynamicFormControlService } from '../dynamic-form-control-service';\r\nimport { ControlBase, ControlTypesHelper, QuestionBase, QuestionnaireAnswerModel } from '../dynamic-form-models';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-dynamic-form',\r\n templateUrl: './dynamic-form.component.html',\r\n providers: [DynamicFormControlService]\r\n})\r\nexport class DynamicFormComponent implements OnInit {\r\n @Input() isFormDisabled = false;\r\n @Input() controls: ControlBase[] | null = [];\r\n @Output() onSubmitEmitter: EventEmitter = new EventEmitter();\r\n form!: FormGroup;\r\n payLoad = '';\r\n isSubmitted = false;\r\n\r\n constructor(private fcs: DynamicFormControlService,private translate:TranslateService) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.fcs.toFormGroup(this.controls as ControlBase[]);\r\n if(this.isFormDisabled){\r\n this.form.disable();\r\n }\r\n }\r\n\r\n private markFormGroupTouched(formGroup: FormGroup) {\r\n (Object).values(formGroup.controls).forEach(control => {\r\n control.markAsTouched();\r\n\r\n if (control.controls) {\r\n this.markFormGroupTouched(control);\r\n }\r\n });\r\n }\r\n\r\n onSubmit() {\r\n this.markFormGroupTouched(this.form);\r\n this.isSubmitted = true\r\n if (this.form.invalid) {\r\n return;\r\n }\r\n if (this.controls.some(x => x.controlType == ControlTypesHelper.controlTypes.checkbox)) {\r\n let isInvalid = false;\r\n const checkboxControls = [...this.controls.filter(x => x.controlType == ControlTypesHelper.controlTypes.checkbox)];\r\n checkboxControls.forEach(cb => {\r\n const formArray = this.form.controls[cb.formControlName];\r\n const isAnySelected = formArray.controls.some(x => x.value);\r\n if (!isInvalid) {\r\n isInvalid = !isAnySelected;\r\n }\r\n });\r\n if (isInvalid) {\r\n return;\r\n } else {\r\n this.createPayload(this.form.value)\r\n }\r\n\r\n } else {\r\n this.createPayload(this.form.value)\r\n }\r\n\r\n }\r\n\r\n private createPayload(formData) {\r\n\r\n let answers: QuestionnaireAnswerModel[] = [];\r\n\r\n this.controls.forEach(c => {\r\n\r\n if (c.controlType == ControlTypesHelper.controlTypes.checkbox) {\r\n const cbOptionsArray = formData[c.formControlName];\r\n const cbValues: string[] = [];\r\n cbOptionsArray.forEach((cbValue, index) => {\r\n if (cbValue) {\r\n const valTxt = c.options[index].key;\r\n cbValues.push(valTxt);\r\n }\r\n });\r\n const ans: QuestionnaireAnswerModel = { answer: cbValues.toString(), questionId: c.questionId };\r\n answers.push(ans);\r\n }\r\n else {\r\n const ans: QuestionnaireAnswerModel = { answer: formData[c.formControlName], questionId: c.questionId };\r\n answers.push(ans);\r\n }\r\n });\r\n\r\n this.onSubmitEmitter.emit(answers);\r\n }\r\n}","module.exports = \"
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n {{ control.order + '. ' + (control.questionText | translate) }}\\r\\n {{ control.type == 'number' ? ('(Number)' | translate) : '' }}\\r\\n \\r\\n\\r\\n *\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n {{control.order +' '+control.label}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{control.label}} is required\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n {{control.order +' '+control.label}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{opt.value}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{control.label}} 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 {{control.order +' '+control.label}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{control.label}} is required\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n {{control.order +' '+control.label}}\\r\\n \\r\\n\\r\\n \\r\\n {{opt.key|translate}}\\r\\n \\r\\n {{control.label}} is required\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n {{control.order +' '+control.label}}\\r\\n \\r\\n {{ control.options[i].key }}\\r\\n \\r\\n {{control.label}} is required\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \"","import { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\nimport { Component, Input, NgZone, OnInit, ViewChild } from '@angular/core';\r\nimport { FormArray, FormGroup } from '@angular/forms';\r\nimport { take } from 'rxjs/operators';\r\nimport { ControlBase, ControlTypesHelper, QuestionBase } from '../dynamic-form-models';\r\n\r\n\r\n@Component({\r\n selector: 'app-dynamic-form-control',\r\n templateUrl: './dynamic-form-control-component.html',\r\n styleUrls: ['./dynamic-form-control.component.scss']\r\n})\r\nexport class DynamicFormControlComponent implements OnInit {\r\n @Input() control!: ControlBase;\r\n @Input() form!: FormGroup;\r\n @Input() isSubmitted: boolean;\r\n\r\n constructor(private _ngZone: NgZone) {\r\n\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n \r\n if(this.control && this.control.value){\r\n if(this.control.controlType == ControlTypesHelper.controlTypes.checkbox){\r\n const valuesArray = this.control.value.split(',');\r\n const formArray = this.form.controls[this.control.formControlName];\r\n formArray.controls.forEach((c,i) => {\r\n const optionValue = this.control.options[i].key;\r\n if(valuesArray.includes(optionValue)){\r\n c.setValue(true);\r\n }\r\n })\r\n } else {\r\n if(this.control.controlType == ControlTypesHelper.controlTypes.textbox){\r\n \r\n // console.log(this.control)\r\n }\r\n this.form.controls[this.control.formControlName].setValue(this.control.value);\r\n }\r\n }\r\n }\r\n\r\n get isValid() { return this.form.controls[this.control.formControlName].valid; }\r\n\r\n @ViewChild('autosizetestarea') autosize: CdkTextareaAutosize;\r\n\r\n triggerResize() {\r\n // Wait for changes to be applied, then trigger textarea resize.\r\n this._ngZone.onStable.pipe(take(1))\r\n .subscribe(() => {\r\n if (this.autosize)\r\n this.autosize.resizeToFitContent(true)\r\n });\r\n }\r\n\r\n hasError = (errorName: string) => {\r\n if (!this.isSubmitted) {\r\n return false;\r\n } else {\r\n if (errorName == 'required' && this.control.controlType == ControlTypesHelper.controlTypes.checkbox && this.control.isRequired) {\r\n const formArray = this.form.controls[this.control.formControlName];\r\n const isAnySelected = formArray.controls.some(x => x.value);\r\n return !isAnySelected;\r\n }\r\n else {\r\n return this.form.controls[this.control.formControlName].hasError(errorName);\r\n }\r\n }\r\n }\r\n\r\n get hasErrors(): boolean {\r\n if (!this.isSubmitted) {\r\n return false;\r\n } else {\r\n if (this.control.controlType == ControlTypesHelper.controlTypes.checkbox && this.control.isRequired) {\r\n const formArray = this.form.controls[this.control.formControlName];\r\n const isAnySelected = formArray.controls.some(x => x.value);\r\n return !isAnySelected;\r\n }\r\n else {\r\n return (this.form.controls[this.control.formControlName].valid) ? false : true;\r\n }\r\n }\r\n }\r\n}","module.exports = \".invalid-txt {\\n color: #f44336; }\\n\\n.mat-checkbox, .mat-radio-button {\\n margin-right: 25px; }\\n\\n.numbertxt {\\n color: gray; }\\n\\n.mat-input-element:disabled, .mat-select-disabled .mat-select-value, .mat-checkbox-disabled, .mat-radio-button.mat-radio-disabled {\\n color: rgba(0, 0, 0, 0.87) !important; }\\n\\n.question-block {\\n background-color: #fff;\\n padding: 14px;\\n border-left: 5px solid #00486f;\\n padding-bottom: 0;\\n min-height: 105px;\\n margin-bottom: 7px;\\n box-shadow: 0px 0px 7px 0px #e8e8e8; }\\n\\n.question-block mat-label {\\n color: #2f2660; }\\n\\n.question-block .mat-form-field-infix,\\n.question-block .mat-form-field-infix textarea {\\n width: 100% !important; }\\n\"","import { Injectable } from '@angular/core';\r\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ControlBase, QuestionBase } from './dynamic-form-models';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class DynamicFormControlService {\r\n constructor() { }\r\n\r\n // toFormGroup(controls: ControlBase[]) {\r\n // const group: any = {};\r\n // if (controls && controls.length > 0) {\r\n // controls.forEach(c => {\r\n // group[c.formControlName] = c.isRequired ? new FormControl(c.value || undefined, Validators.required)\r\n // : new FormControl(c.value || undefined);\r\n // });\r\n // }\r\n // return new FormGroup(group);\r\n // }\r\n\r\n toFormGroup(questions: ControlBase[] ) {\r\n const group: any = {};\r\n \r\n questions.forEach(question => {\r\n group[question.formControlName] = this.getControl(question);\r\n });\r\n return new FormGroup(group);\r\n }\r\n\r\n getControl(question: ControlBase){\r\n \r\n if(question.controlType === 'checkbox'){\r\n const formArray:FormControl[] =[];\r\n question.options.forEach(() => formArray.push(new FormControl(undefined)));\r\n return new FormArray(formArray);\r\n } else {\r\n return question.isRequired ? new FormControl(question.value || undefined, Validators.required)\r\n : new FormControl(question.value || undefined)\r\n }\r\n \r\n }\r\n}","export class ControlBase {\r\n value: T|undefined;\r\n formControlName: string;\r\n label: string;\r\n isRequired: boolean;\r\n order: number;\r\n controlType: string;\r\n type: string;\r\n options: {key: string, value: string}[];\r\n questionText:string;\r\n questionId:number;\r\n \r\n constructor(options: {\r\n value?: T;\r\n formControlName?: string;\r\n label?: string;\r\n isRequired?: boolean;\r\n order?: number;\r\n controlType?: string;\r\n type?: string;\r\n options?: {key: string, value: string}[];\r\n questionText? :string;\r\n questionId? :number;\r\n\r\n } = {}) {\r\n this.value = options.value;\r\n this.formControlName = options.formControlName || '';\r\n this.label = options.label || '';\r\n this.isRequired = !!options.isRequired;\r\n this.order = options.order === undefined ? 1 : options.order;\r\n this.controlType = options.controlType || '';\r\n this.type = options.type || '';\r\n this.options = options.options || [];\r\n this.questionText = options.questionText || '';\r\n this.questionId = options.questionId || 0;\r\n }\r\n }\r\n\r\n export class ControlTypesHelper{\r\n\r\n static controlTypes= {\r\n textbox : 'textbox',\r\n dropdown : 'dropdown',\r\n radiobutton : 'radiobutton',\r\n checkbox : 'checkbox',\r\n textarea : 'textarea',\r\n }\r\n \r\n \r\n\r\n }\r\n\r\n\r\n export class QuestionBase {\r\n value: T|undefined;\r\n key: string;\r\n label: string;\r\n required: boolean;\r\n order: number;\r\n controlType: string;\r\n type: string;\r\n options: {key: string, value: string}[];\r\n \r\n constructor(options: {\r\n value?: T;\r\n key?: string;\r\n label?: string;\r\n required?: boolean;\r\n order?: number;\r\n controlType?: string;\r\n type?: string;\r\n options?: {key: string, value: string}[];\r\n } = {}) {\r\n this.value = options.value;\r\n this.key = options.key || '';\r\n this.label = options.label || '';\r\n this.required = !!options.required;\r\n this.order = options.order === undefined ? 1 : options.order;\r\n this.controlType = options.controlType || '';\r\n this.type = options.type || '';\r\n this.options = options.options || [];\r\n }\r\n\r\n\r\n }\r\n\r\n export class SaveQuestionAsnwerRequestModel{\r\n patientAppointmentId: number;\r\n answers: QuestionnaireAnswerModel[] = [];\r\n }\r\n\r\n export class QuestionnaireAnswerModel {\r\n questionId: number;\r\n answer: string;\r\n }","module.exports = \"/* Overlay for the popup */\\r\\n.error-popup-overlay {\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background: rgba(0, 0, 0, 0.5); /* Semi-transparent black background */\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n z-index: 9999; /* Ensure the popup overlay is always on top */\\r\\n pointer-events: auto; /* Allow interactions with the popup */\\r\\n }\\r\\n/* Popup container */\\r\\n.error-popup-container {\\r\\n background: white;\\r\\n border-radius: 8px;\\r\\n width: 400px;\\r\\n padding: 20px;\\r\\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\\r\\n -webkit-animation: popupAnimation 0.3s ease-in-out;\\r\\n animation: popupAnimation 0.3s ease-in-out;\\r\\n z-index: 10000; /* Ensure the popup content is on top of the overlay */\\r\\n }\\r\\n/* Header styles */\\r\\n.error-popup-header {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n }\\r\\n.error-title {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n }\\r\\n.error-icon {\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n margin-right: 10px;\\r\\n }\\r\\nh2 {\\r\\n margin: 0;\\r\\n font-size: 18px;\\r\\n color: #333;\\r\\n }\\r\\n.close-button {\\r\\n background: none;\\r\\n border: none;\\r\\n cursor: pointer;\\r\\n }\\r\\n/* Error list styles */\\r\\n.error-list {\\r\\n margin-top: 20px;\\r\\n }\\r\\n.error-item {\\r\\n margin-bottom: 10px;\\r\\n }\\r\\n.error-number {\\r\\n font-weight: bold;\\r\\n color: #d9534f;\\r\\n }\\r\\n.error-message {\\r\\n margin-left: 10px;\\r\\n color: #555;\\r\\n }\\r\\n/* Footer styles */\\r\\n.error-popup-footer {\\r\\n text-align: center;\\r\\n margin-top: 20px;\\r\\n }\\r\\n.close-btn {\\r\\n /* padding: 10px 20px; */\\r\\n background: #d9534f;\\r\\n color: white;\\r\\n border: none;\\r\\n border-radius: 4px;\\r\\n cursor: pointer;\\r\\n }\\r\\n.close-btn:hover {\\r\\n background: #c9302c;\\r\\n }\\r\\n/* Popup animation */\\r\\n@-webkit-keyframes popupAnimation {\\r\\n from {\\r\\n opacity: 0;\\r\\n -webkit-transform: scale(0.9);\\r\\n transform: scale(0.9);\\r\\n }\\r\\n to {\\r\\n opacity: 1;\\r\\n -webkit-transform: scale(1);\\r\\n transform: scale(1);\\r\\n }\\r\\n }\\r\\n@keyframes popupAnimation {\\r\\n from {\\r\\n opacity: 0;\\r\\n -webkit-transform: scale(0.9);\\r\\n transform: scale(0.9);\\r\\n }\\r\\n to {\\r\\n opacity: 1;\\r\\n -webkit-transform: scale(1);\\r\\n transform: scale(1);\\r\\n }\\r\\n }\\r\\n \"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n

Template Validation Errors

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
Error {{i + 1}}
\\r\\n
{{error}}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-error-popup',\r\n templateUrl: './error-popup.component.html',\r\n styleUrls: ['./error-popup.component.css']\r\n})\r\nexport class ErrorPopupComponent {\r\n @Input() show: boolean = false; \r\n @Input() errors: string[] = []; \r\n @Output() onClose: EventEmitter = new EventEmitter(); \r\n\r\n \r\n closePopup(): void {\r\n this.onClose.emit(); \r\n }\r\n\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n border-bottom: 2px dotted #ddd;\\r\\n font-family: 'Rafleway', sans-serif;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.cstm-cross.policy-blk .fa {\\r\\n top: -24px;\\r\\n right: -24px;\\r\\n}\\r\\n\\r\\n.pay-step.hgt-scroll {\\r\\n height: 410px !important;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 18px;\\r\\n margin-top: 10px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #01385f;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: block;\\r\\n color: #4e4852;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 14px;\\r\\n font-weight: 600;\\r\\n color: #01385f;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #4e4852;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #01385f;\\r\\n font-size: 20px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: flex;\\r\\n font-weight: 600;\\r\\n justify-content: space-between;\\r\\n padding: 15px;\\r\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.60);\\r\\n font-size: 14px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type label {\\r\\n margin: 0px 10px 0px 0px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n width: 135px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #01385f;\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding-bottom: 10px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type .mat-radio-outer-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #63d891;\\r\\n border-radius: 0;\\r\\n display: inline-block;\\r\\n font-size: 15px !important;\\r\\n padding: 5px 10px;\\r\\n height: auto;\\r\\n margin: 5px 10px 5px 0px;\\r\\n line-height: normal;\\r\\n color: #63d891;\\r\\n cursor: pointer;\\r\\n height: 36px !important;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n background-color: #01385f;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n flex-wrap: wrap;\\r\\n gap: 5px;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 0px;\\r\\n font-size: 16px;\\r\\n margin: 10px 0px 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n margin: 15px 0px 20px;\\r\\n line-height: 18px;\\r\\n}\\r\\n\\r\\n.fnt-sze {\\r\\n font-size: 14px;\\r\\n margin-right: 12px;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-txtarea textarea.mat-input-element {\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.custom-txtarea label {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mat-radio-label-content {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.terms-check {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/* .mat-datepicker-content .mat-calendar{\\r\\n width:550px !important;\\r\\n height: auto !important;\\r\\n} */\\r\\n\\r\\n.followupError {\\r\\n color: #f44336;\\r\\n}\\r\\n\\r\\n.hgt-scroll {\\r\\n height: 465px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n margin-top: 6px;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #01385f;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 0px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.cstm-cancel-btn i {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.link-btn.min-w-100 {\\r\\n min-width: 100px;\\r\\n margin-right: auto !important;\\r\\n}\\r\\n\\r\\n.appointment-panel .appointment-content {\\r\\n padding: 12px 15px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-label {\\r\\n padding-top: 5px !important;\\r\\n padding-bottom: 5px !important;\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell {\\r\\n padding: 15px 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell-content {\\r\\n width: 30px !important;\\r\\n left: 36% !important;\\r\\n font-weight: 600 !important;\\r\\n height: 30px;\\r\\n}\\r\\n\\r\\n/* .appointment-content .mat-calendar-body-today:selected(.mat-calendar-body-selected) {\\r\\n border-color: #f87515;\\r\\n background-color: #f87515;\\r\\n color: #fff;\\r\\n} */\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\r\\n border-color: rgba(0, 0, 0, 0.04);\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-controls {\\r\\n margin: 0 10px !important\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-spacer {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-header {\\r\\n padding: 0px 8px 0 8px !important;\\r\\n background-color: #01385f !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-period-button {\\r\\n margin: 0 auto !important;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n letter-spacing: 3px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-content {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header {\\r\\n background-color: #01385f !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header th {\\r\\n font-size: 13px !important;\\r\\n color: #fff !important;\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-card {\\r\\n box-shadow: none !important;\\r\\n padding: 0 !important;\\r\\n border: 1px solid #efefef !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header-divider {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-previous-button {\\r\\n position: absolute !important;\\r\\n left: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-arrow {\\r\\n border-top-color: #fff !important;\\r\\n}\\r\\n\\r\\n/* scroller hide css */\\r\\n\\r\\n/* .appointment-content .ng-scrollbar-container{\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.stfselection {\\r\\n background-color: #fafafa;\\r\\n padding-bottom: 6px;\\r\\n margin-bottom: 0px;\\r\\n margin-left: -20px;\\r\\n margin-right: -20px;\\r\\n padding-top: 15px;\\r\\n}\\r\\n\\r\\n.stfselection div {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.stfselection label {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.stfselection hr {\\r\\n border-color: rgba(255, 255, 255, 0.2) !important;\\r\\n}\\r\\n\\r\\n.stfselection small {\\r\\n float: right;\\r\\n cursor: pointer;\\r\\n line-height: 13px;\\r\\n padding-top: 8px;\\r\\n}\\r\\n\\r\\n.stfselection .mat-form-field-infix {\\r\\n border-top: 0px;\\r\\n}\\r\\n\\r\\n.stfselection .mat-form-field-appearance-legacy .mat-form-field-underline {\\r\\n background-color: rgb(40, 229, 250);\\r\\n}\\r\\n\\r\\n.stfselection .mat-select-arrow {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.schedule-btn {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn {\\r\\n border: 1px solid #ccc;\\r\\n background-color: transparent;\\r\\n background-color: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn:hover {\\r\\n background-color: #17a2b8;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.calnedar-dropdown.mat-form-field {\\r\\n width: 0px;\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.schedule-date h3 {\\r\\n margin: 0px;\\r\\n font-weight: 600;\\r\\n font-size: 22px;\\r\\n padding-left: 5px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.hideDiv {\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.cstm-radio-btn .mat-radio-button label {\\r\\n margin-bottom: 0;\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n.receipt {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n\\r\\n.cstm-add {\\r\\n display: block;\\r\\n width: 75%;\\r\\n}\\r\\n\\r\\n.cstm-add input:focus-visible {\\r\\n outline: none !important\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name>div>div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.select-box {\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.select-box input {\\r\\n width: 100%;\\r\\n margin: 0 !important;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.custom_modal{\\r\\n width:100%;\\r\\n}\\r\\n\\r\\n.cancel-btn {\\r\\n background-color: #fff;\\r\\n color: #01385f !important;\\r\\n min-width: 80px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #01385f;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions{\\r\\n margin-bottom: 0 !important;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.mat-dialog-title{\\r\\n /* background-color: #28a745; */\\r\\n background: #17a2b8;\\r\\n padding: 7px;\\r\\n}\\r\\n\\r\\n.appointment-panel .title .custom_form{\\r\\n color: #000;\\r\\n font-weight: 500;\\r\\n font-size: 18px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Patient Last FollowUp

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{lastAppointmentStartTime|date:'dd/MM/yyyy hh:mm a'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{lastAppointmentEndTime|date:'dd/MM/yyyy hh:mm a'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{bookingMode}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{notes}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{lastAppointment.appointmentStaffs[0].staffName}}\\r\\n
\\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, Inject } from '@angular/core';\r\nimport { CommonService } from \"./../../platform/modules/core/services/common.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { debug } from \"util\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { FollowupModal } from './followup.modal'\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from \"@angular/forms\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: 'app-followup-appointment',\r\n templateUrl: './followup-appointment.component.html',\r\n styleUrls: ['./followup-appointment.component.css']\r\n})\r\nexport class FollowupAppointmentComponent implements OnInit {\r\n lastAppointmentStartTime: any;\r\n lastAppointmentEndTime: any;\r\n appointmentId: any;\r\n notes: any;\r\n bookingMode: any;\r\n lastAppointment: any;\r\n providerInfo: any;\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private schedulerService: SchedulerService, private translate: TranslateService) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.appointmentId = data.id,\r\n this.lastAppointmentStartTime = data.lastAppointmentStartTime;\r\n this.lastAppointmentEndTime = data.lastAppointmentEndTime;\r\n this.notes = data.notes;\r\n this.bookingMode = data.bookingMode;\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n if (this.appointmentId) {\r\n this.getAppointmentDetails();\r\n }\r\n }\r\n\r\n getAppointmentDetails() {\r\n this.schedulerService\r\n .getAppointmentDetails(this.appointmentId)\r\n .subscribe(response => {\r\n this.lastAppointment = response.data;\r\n if (response.statusCode == 200) {\r\n }\r\n });\r\n }\r\n\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n border-bottom: 2px dotted #ddd;\\r\\n font-family: 'Rafleway', sans-serif;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.cstm-cross.policy-blk .fa {\\r\\n top: -24px;\\r\\n right: -24px;\\r\\n}\\r\\n\\r\\n.pay-step.hgt-scroll {\\r\\n height: 410px !important;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 18px;\\r\\n margin-top: 10px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #01385f;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: block;\\r\\n color: #4e4852;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 14px;\\r\\n font-weight: 600;\\r\\n color: #01385f;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #4e4852;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #01385f;\\r\\n font-size: 20px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: block;\\r\\n font-weight: 600;\\r\\n padding: 15px;\\r\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.60);\\r\\n font-size: 14px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type label {\\r\\n margin: 0px 10px 0px 0px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n width: 135px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #01385f;\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding-bottom: 10px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type .mat-radio-outer-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #63d891;\\r\\n border-radius: 0;\\r\\n display: inline-block;\\r\\n font-size: 15px !important;\\r\\n padding: 5px 10px;\\r\\n height: auto;\\r\\n margin: 5px 10px 5px 0px;\\r\\n line-height: normal;\\r\\n color: #63d891;\\r\\n cursor: pointer;\\r\\n height: 36px !important;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n background-color: #01385f;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n flex-wrap: wrap;\\r\\n gap: 5px;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 0px;\\r\\n font-size: 16px;\\r\\n margin: 10px 0px 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n margin: 15px 0px 20px;\\r\\n line-height: 18px;\\r\\n}\\r\\n\\r\\n.fnt-sze {\\r\\n font-size: 14px;\\r\\n margin-right: 12px;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-txtarea textarea.mat-input-element {\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.custom-txtarea label {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mat-radio-label-content {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.terms-check {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/* .mat-datepicker-content .mat-calendar{\\r\\n width:550px !important;\\r\\n height: auto !important;\\r\\n} */\\r\\n\\r\\n.followupError {\\r\\n color: #f44336;\\r\\n}\\r\\n\\r\\n.hgt-scroll {\\r\\n height: 465px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n margin-top: 6px;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #01385f;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 0px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.cstm-cancel-btn i {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.link-btn.min-w-100 {\\r\\n min-width: 100px;\\r\\n margin-right: auto !important;\\r\\n}\\r\\n\\r\\n.appointment-panel .appointment-content {\\r\\n padding: 12px 15px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-label {\\r\\n padding-top: 5px !important;\\r\\n padding-bottom: 5px !important;\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell {\\r\\n padding: 15px 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell-content {\\r\\n width: 30px !important;\\r\\n left: 36% !important;\\r\\n font-weight: 600 !important;\\r\\n height: 30px;\\r\\n}\\r\\n\\r\\n/* .appointment-content .mat-calendar-body-today:selected(.mat-calendar-body-selected) {\\r\\n border-color: #f87515;\\r\\n background-color: #f87515;\\r\\n color: #fff;\\r\\n} */\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\r\\n border-color: rgba(0, 0, 0, 0.04);\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-controls {\\r\\n margin: 0 10px !important\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-spacer {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-header {\\r\\n padding: 0px 8px 0 8px !important;\\r\\n background-color: #01385f !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-period-button {\\r\\n margin: 0 auto !important;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n letter-spacing: 3px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-content {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header {\\r\\n background-color: #01385f !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header th {\\r\\n font-size: 13px !important;\\r\\n color: #fff !important;\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-card {\\r\\n box-shadow: none !important;\\r\\n padding: 0 !important;\\r\\n border: 1px solid #efefef !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header-divider {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-previous-button {\\r\\n position: absolute !important;\\r\\n left: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-arrow {\\r\\n border-top-color: #fff !important;\\r\\n}\\r\\n\\r\\n/* scroller hide css */\\r\\n\\r\\n/* .appointment-content .ng-scrollbar-container{\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.stfselection {\\r\\n background-color: #fafafa;\\r\\n padding-bottom: 6px;\\r\\n margin-bottom: 0px;\\r\\n margin-left: -20px;\\r\\n margin-right: -20px;\\r\\n padding-top: 15px;\\r\\n}\\r\\n\\r\\n.stfselection div {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.stfselection label {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.stfselection hr {\\r\\n border-color: rgba(255, 255, 255, 0.2) !important;\\r\\n}\\r\\n\\r\\n.stfselection small {\\r\\n float: right;\\r\\n cursor: pointer;\\r\\n line-height: 13px;\\r\\n padding-top: 8px;\\r\\n}\\r\\n\\r\\n.stfselection .mat-form-field-infix {\\r\\n border-top: 0px;\\r\\n}\\r\\n\\r\\n.stfselection .mat-form-field-appearance-legacy .mat-form-field-underline {\\r\\n background-color: rgb(40, 229, 250);\\r\\n}\\r\\n\\r\\n.stfselection .mat-select-arrow {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.schedule-btn {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn {\\r\\n border: 1px solid #ccc;\\r\\n background-color: transparent;\\r\\n background-color: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn:hover {\\r\\n background-color: #17a2b8;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.calnedar-dropdown.mat-form-field {\\r\\n width: 0px;\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.schedule-date h3 {\\r\\n margin: 0px;\\r\\n font-weight: 600;\\r\\n font-size: 22px;\\r\\n padding-left: 5px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.hideDiv {\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.cstm-radio-btn .mat-radio-button label {\\r\\n margin-bottom: 0;\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n.receipt {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n\\r\\n.cstm-add {\\r\\n display: block;\\r\\n width: 75%;\\r\\n}\\r\\n\\r\\n.cstm-add input:focus-visible {\\r\\n outline: none !important\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name>div>div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.select-box {\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.select-box input {\\r\\n width: 100%;\\r\\n margin: 0 !important;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.custom_modal{\\r\\n width:100%;\\r\\n}\\r\\n\\r\\n.cancel-btn {\\r\\n background-color: #fff;\\r\\n color: #01385f !important;\\r\\n min-width: 80px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #01385f;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions{\\r\\n margin-bottom: 0 !important;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.mat-dialog-title{\\r\\n /* background-color: #28a745; */\\r\\n background: #17a2b8;\\r\\n padding: 7px;\\r\\n}\\r\\n\\r\\n.appointment-panel .title .custom_form{\\r\\n color: #000;\\r\\n font-weight: 500;\\r\\n font-size: 18px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n Patient Payment\\r\\n

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

\\r\\n Patient Payment\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\\"close\\\"|translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import {\r\n Component,\r\n Inject,\r\n ViewChild,\r\n ElementRef,\r\n AfterViewInit,\r\n Renderer2,\r\n OnInit,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { HyperPayModal } from \"./hyperPay.modal\";\r\nimport { SchedulerService } from \"../../platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\ndeclare var hpwlPayment: any;\r\n@Component({\r\n selector: \"app-hyper-pay\",\r\n templateUrl: \"./hyper-pay.component.html\",\r\n styleUrls: [\"./hyper-pay.component.css\"],\r\n})\r\nexport class HyperPayComponent implements AfterViewInit, OnInit, OnDestroy {\r\n lastAppointmentStartTime: any;\r\n lastAppointmentEndTime: any;\r\n checkoutId: any;\r\n isUrgent: boolean;\r\n notes: any;\r\n bookingMode: any;\r\n lastAppointment: any;\r\n providerInfo: any;\r\n UrgentUrl: string;\r\n notUrgetUrl: string;\r\n Url: string;\r\n @ViewChild(\"one\", { read: ElementRef }) private divMessages: ElementRef;\r\n htmlForm: string;\r\n cardScript: any;\r\n cardNumber: string = \"\";\r\n expiryDate: string = \"\";\r\n cvv: string = \"\";\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private schedulerService: SchedulerService,\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef,\r\n private translate:TranslateService,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.checkoutId = data.id;\r\n this.isUrgent = data.isUrgent;\r\n // this.Url = \"https://localhost:4200/payment-success\"; // local\r\n // this.Url = \"https://mscore.stagingsdei.com:9610/payment-success\"; // staging\r\n // this.Url=\"https://myhealthygate.com/payment-success\"; // production\r\n this.Url =window.location.origin+\"/payment-success\";\r\n this.UrgentUrl = this.Url + \"?urgentcare=1\";\r\n this.notUrgetUrl = this.Url + \"?urgentcare=0\";\r\n }\r\n ngOnDestroy(): void {\r\n this._document.body.removeChild(this.cardScript);\r\n }\r\n ngOnInit(): void {\r\n this.cardScript = this.renderer.createElement(\"script\");\r\n this.cardScript.type = \"text/javascript\";\r\n this.cardScript.text = `wpwlOptions = {\r\n style: \"card\",\r\n registrations: {\r\n requireCvv: true\r\n }\r\n };`;\r\n this.renderer.appendChild(this._document.body, this.cardScript);\r\n\r\n //window.document.body.removeChild(this.cardScript);\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.checkoutId) {\r\n setTimeout(() => {\r\n this.initializeHyperpay();\r\n }, 2000);\r\n }\r\n }\r\n initializeHyperpay(): void {\r\n const wholeFormRegistrationCard =\r\n this.elementRef.nativeElement.querySelector(\".patientPayment\");\r\n\r\n const savedCardElement = wholeFormRegistrationCard.querySelector(\r\n \"#wpwl-registrations\"\r\n );\r\n // check If No registered card Is available.\r\n if (savedCardElement == null) {\r\n const createRegistrationHtml =\r\n '
Store payment details?
';\r\n const createRegistrationElement = this.renderer.createElement(\"div\");\r\n this.renderer.setProperty(\r\n createRegistrationElement,\r\n \"innerHTML\",\r\n createRegistrationHtml\r\n );\r\n this.renderer.insertBefore(\r\n this.elementRef.nativeElement.querySelector(\".wpwl-button\").parentNode,\r\n createRegistrationElement,\r\n this.elementRef.nativeElement.querySelector(\".wpwl-button\")\r\n );\r\n\r\n // registration card is Available:\r\n } else {\r\n // const savedCardForm = savedCardElement.querySelector(\r\n // \".wpwl-form-registrations\"\r\n // );\r\n // savedCardForm.dataset.style = \"card\";\r\n // savedCardForm.dataset.registrations = JSON.stringify({\r\n // requireCvv: true,\r\n // });\r\n\r\n const cardElement = wholeFormRegistrationCard.children[2];\r\n const createRegistrationHtml = `\r\n
Store payment details?
\r\n
\r\n `;\r\n\r\n const buttonElement = cardElement.querySelector(\".wpwl-button\");\r\n if (buttonElement) {\r\n buttonElement.insertAdjacentHTML(\"beforebegin\", createRegistrationHtml);\r\n }\r\n }\r\n }\r\n\r\n getAppointmentDetails() {\r\n this.schedulerService\r\n .getAppointmentDetails(this.checkoutId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n }\r\n });\r\n }\r\n\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n renderPaymentform = () => {\r\n // console.log(\"Loading \");\r\n\r\n // this.div.nativeElement.append(this.htmlForm);\r\n // this.div.nativeElement.innerHTML = this.htmlForm;\r\n };\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n \\r\\n \\r\\n Join Call\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { ChangeDetectorRef, Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { OpentokService } from \"src/app/platform/modules/agency-portal/encounter/opentok.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { VideoRecordModel } from \"../models/videoRecordModel\";\r\n// import { CommonService } from \"./platform/modules/core/services/common.service\";\r\n\r\n@Component({\r\n selector: \"app-invite-call-join\",\r\n templateUrl: \"./invite-call-join.component.html\",\r\n styleUrls: [\"./invite-call-join.component.css\"],\r\n})\r\nexport class InviteCallJoinComponent implements OnInit, OnDestroy {\r\n backgroundColur: any;\r\n myInterval: any;\r\n session: OT.Session;\r\n streams: Array = [];\r\n changeDetectorRef: ChangeDetectorRef;\r\n startTime: Date;\r\n endTime: Date;\r\n actualMin: any;\r\n\r\n sessionId: any;\r\n token: any;\r\n otSessionId: any;\r\n constructor(\r\n private route: ActivatedRoute,\r\n private opentokService: OpentokService,\r\n private notifierService: NotifierService,\r\n private appService: AppService,\r\n private homeService: HomeService,\r\n private commonService: CommonService\r\n ) {}\r\n ngOnDestroy(): void {\r\n clearInterval(this.myInterval);\r\n }\r\n\r\n ngOnInit() {\r\n this.route.params.subscribe((params) => {\r\n var routeToken = params[\"token\"];\r\n this.token = atob(routeToken);\r\n // console.log(this.token);\r\n });\r\n\r\n let index = 0;\r\n this.myInterval = setInterval(() => {\r\n let myColorArray = [\r\n \"#F8D709\",\r\n \"#09F8ED\",\r\n \"#09D4F8\",\r\n \"#099AF8\",\r\n \"#094AF8\",\r\n \"#6B09F8\",\r\n \"#F8098F\",\r\n \"#F8093C\",\r\n ];\r\n this.backgroundColur = myColorArray[index];\r\n index += 1;\r\n index > 7 ? (index = 0) : \"\";\r\n }, 3000);\r\n }\r\n\r\n getConfigData = () => {\r\n //;\r\n this.homeService\r\n .getOTSessionDetail(this.token)\r\n .subscribe((response: any) => {\r\n var data = response;\r\n if (response.statusCode == 200) {\r\n let videoTool = document.getElementsByClassName(\"video-tool\");\r\n if (videoTool != undefined && videoTool.length > 0)\r\n videoTool[0].classList.remove(\"video-tool-hide\");\r\n let videoCall = document.getElementsByClassName(\"video-call\");\r\n if (videoCall != undefined && videoCall.length > 0)\r\n videoCall[0].classList.remove(\"video-call-hide\");\r\n var otSession = this.commonService.encryptValue(\r\n JSON.stringify(response.data)\r\n );\r\n localStorage.setItem(\"otSession\", otSession);\r\n this.otSessionId = response.data.id;\r\n // console.log(\"apikey=\" + response.data.apiKey);\r\n // console.log(\"token=\" + response.data.token);\r\n // console.log(\"session=\" + response.data.sessionID);\r\n\r\n const config = {\r\n API_KEY: +response.data.apiKey,\r\n TOKEN: response.data.token,\r\n SESSION_ID: response.data.sessionID,\r\n SAMPLE_SERVER_BASE_URL: \"\",\r\n };\r\n // this.apptId = response.data.appointmentId;\r\n this.getSession(config);\r\n } else {\r\n this.notifierService.notify(\"error\", \"Token is not valid or expired\");\r\n }\r\n });\r\n };\r\n\r\n getSession(config: any) {\r\n // console.log(\"21 getsession is called from app.component.ts \");\r\n this.opentokService\r\n .initSession(config)\r\n .then((session: OT.Session) => {\r\n this.session = session;\r\n // this.isVideoStarted = true;\r\n this.streams = Array();\r\n this.session.on(\"streamCreated\", (event) => {\r\n this.startTime = new Date();\r\n this.streams.push(event.stream);\r\n this.changeDetectorRef.detectChanges();\r\n });\r\n this.session.on(\"streamDestroyed\", (event) => {\r\n this.capturedEndTime();\r\n if (event.reason === \"networkDisconnected\") {\r\n event.preventDefault();\r\n var subscribers = session.getSubscribersForStream(event.stream);\r\n if (subscribers.length > 0) {\r\n var subscriber = document.getElementById(subscribers[0].id);\r\n // Display error message inside the Subscriber\r\n subscriber.innerHTML =\r\n \"Lost connection. This could be due to your internet connection \" +\r\n \"or because the other party lost their connection.\";\r\n event.preventDefault(); // Prevent the Subscriber from being removed\r\n }\r\n }\r\n const idx = this.streams.indexOf(event.stream);\r\n if (idx > -1) {\r\n this.streams.splice(idx, 1);\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n });\r\n this.session.on(\"sessionDisconnected\", (event) => {\r\n this.capturedEndTime();\r\n });\r\n this.session.on(\"archiveStarted\", (event) => {\r\n // console.log(\"Archive Started : \" + event.id);\r\n let videoRecordModel: VideoRecordModel = new VideoRecordModel();\r\n videoRecordModel.isRecording = true;\r\n videoRecordModel.archiveId = event.id;\r\n this.appService.CheckVideoRecordStatus(videoRecordModel);\r\n this.notifierService.notify(\"success\", \"Recording Started\");\r\n });\r\n this.session.on(\"archiveStopped\", (event) => {\r\n // console.log(\"Archive Stopped : \" + event.id);\r\n let videoRecordModel: VideoRecordModel = new VideoRecordModel();\r\n videoRecordModel.isRecording = false;\r\n videoRecordModel.archiveId = event.id;\r\n this.appService.CheckVideoRecordStatus(videoRecordModel);\r\n this.notifierService.notify(\"success\", \"Recording Stopped\");\r\n });\r\n })\r\n .then(() => {\r\n // Added New\r\n this.session.on(\"streamCreated\", (event) => {\r\n this.startTime = new Date();\r\n this.streams.push(event.stream);\r\n this.changeDetectorRef.detectChanges();\r\n // console.log(\"log stream\", this.streams);\r\n });\r\n this.opentokService.connect();\r\n })\r\n .catch((err) => {\r\n // console.error(\"error\", err);\r\n // alert(\r\n // \"Unable to connect. Make sure you have updated the config.ts file with your OpenTok details.\"\r\n // );\r\n });\r\n }\r\n\r\n private capturedEndTime() {\r\n this.startTime = new Date();\r\n var minutesToAdd = 10;\r\n var currentDate = new Date();\r\n var futureDate = new Date(currentDate.getTime() + minutesToAdd * 60000);\r\n this.endTime = futureDate;\r\n this.diff_minutes(this.endTime, this.startTime);\r\n this.updateCallDuration();\r\n }\r\n\r\n diff_minutes(dt2: Date, dt1: Date) {\r\n var diff = (dt2.getTime() - dt1.getTime()) / 1000;\r\n diff /= 60;\r\n this.actualMin = Math.abs(Math.round(diff));\r\n }\r\n updateCallDuration() {\r\n const OT = this.opentokService.getOT();\r\n // this.schedulerService\r\n // .UpdateCallDuration(this.apptId, this.actualMin)\r\n // .subscribe(response => {\r\n // if (response.statusCode === 200) {\r\n // console.log(\"Call time duration sucessfully captured\");\r\n // } else {\r\n // console.log(\"On call duration captured time something went wrong\");\r\n // }\r\n // });\r\n }\r\n\r\n addNewCaller = () => {\r\n var response = JSON.parse(\r\n this.commonService.encryptValue(this.token, false)\r\n );\r\n this.otSessionId = response.id;\r\n const config = {\r\n API_KEY: +response.apiKey,\r\n TOKEN: response.token,\r\n SESSION_ID: response.sessionID,\r\n SAMPLE_SERVER_BASE_URL: \"\",\r\n };\r\n\r\n // console.log(config);\r\n\r\n this.getSession(config);\r\n\r\n // this.apptId = response.appointmentId;\r\n // console.log(\" Join call!!!!\");\r\n };\r\n}\r\n","module.exports = \"/*Header Right Side User Dropdown*/\\r\\n.user-dropdown button {\\r\\n background: no-repeat;\\r\\n border: 0px;\\r\\n padding: 0px;\\r\\n width: 58px;\\r\\n height: 58px;\\r\\n}\\r\\n.bell-icon i,\\r\\n.message_box .main-head i {\\r\\n font-size: 22px;\\r\\n color: #01385f;\\r\\n}\\r\\n.no_noti {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n background: #189bed;\\r\\n z-index: 1;\\r\\n position: absolute;\\r\\n border-radius: 50%;\\r\\n right: 5px;\\r\\n top: 0px;\\r\\n color: #fff;\\r\\n font-size: 10px;\\r\\n line-height: 15px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.natification_box.mat-menu-panel {\\r\\n overflow: hidden;\\r\\n width: 250px;\\r\\n}\\r\\n.natification_box .mat-menu-content {\\r\\n margin: -8px 0;\\r\\n}\\r\\n.natification_box .main-head {\\r\\n background: #01385f;\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding: 8px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n.natification_box h3 {\\r\\n margin: 0;\\r\\n color: #fff;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.natification_box button {\\r\\n background: none;\\r\\n border: 0;\\r\\n padding: 0;\\r\\n color: #fff;\\r\\n font-size: 20px;\\r\\n font-weight: 500;\\r\\n line-height: 18px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.natification_box .mat-menu-item {\\r\\n line-height: normal !important;\\r\\n min-height: auto !important;\\r\\n border-bottom: 1px solid #ddd !important;\\r\\n height: auto;\\r\\n padding: 10px 8px;\\r\\n font-size: 14px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n.natification_box .unread-noti {\\r\\n background-color: #f5f7f9 !important;\\r\\n}\\r\\n/* .natification_box .mat-menu-item > div {\\r\\n // width: 90%;\\r\\n white-space: normal;\\r\\n} */\\r\\n.natification_box i.fa.fa-clock-o {\\r\\n float: right;\\r\\n right: 9px;\\r\\n position: relative;\\r\\n}\\r\\n.natification_box .mat-menu-item div span {\\r\\n font-size: 11px;\\r\\n color: rgba(0, 0, 0, 0.6);\\r\\n padding-top: 5px;\\r\\n}\\r\\n.user-dropdown button img {\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n /* border: 1px solid #ddd; */\\r\\n border-radius: 100px;\\r\\n}\\r\\n.setting_menu button.mat-menu-item {\\r\\n padding: 8px 10px;\\r\\n height: auto;\\r\\n font-weight: 500;\\r\\n line-height: inherit;\\r\\n font-size: 13px;\\r\\n color: #01385f;\\r\\n display: flex;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n align-items: center;\\r\\n}\\r\\n.setting_menu button span i {\\r\\n font-size: 18px;\\r\\n margin-right: 8px;\\r\\n}\\r\\n.welcomeName {\\r\\n font-size: 14px;\\r\\n color: #01385f;\\r\\n padding-left: 20px;\\r\\n cursor: pointer;\\r\\n display: none;\\r\\n}\\r\\n.bell-icon i,\\r\\n.message_box .main-head i {\\r\\n font-size: 22px;\\r\\n color: #01385f;\\r\\n}\\r\\n.no_noti {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n background: #189bed;\\r\\n z-index: 1;\\r\\n position: absolute;\\r\\n border-radius: 50%;\\r\\n right: 5px;\\r\\n top: 0px;\\r\\n color: #fff;\\r\\n font-size: 10px;\\r\\n line-height: 15px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.natification_box.mat-menu-panel {\\r\\n overflow: hidden;\\r\\n width: 250px;\\r\\n}\\r\\n.natification_box .mat-menu-content {\\r\\n margin: -8px 0;\\r\\n}\\r\\n.natification_box .main-head {\\r\\n background: #01385f;\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding: 8px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n.natification_box h3 {\\r\\n margin: 0;\\r\\n color: #fff;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.natification_box button {\\r\\n background: none;\\r\\n border: 0;\\r\\n padding: 0;\\r\\n color: #fff;\\r\\n font-size: 20px;\\r\\n font-weight: 500;\\r\\n line-height: 18px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.natification_box .mat-menu-item {\\r\\n line-height: normal !important;\\r\\n min-height: auto !important;\\r\\n border-bottom: 1px solid #ddd !important;\\r\\n height: auto;\\r\\n padding: 10px 8px;\\r\\n font-size: 14px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n.natification_box .unread-noti {\\r\\n background-color: #f5f7f9 !important;\\r\\n}\\r\\n.natification_box .mat-menu-item>div {\\r\\n width: 90%;\\r\\n white-space: normal;\\r\\n}\\r\\n.natification_box .mat-menu-item div span {\\r\\n font-size: 11px;\\r\\n color: rgba(0, 0, 0, 0.6);\\r\\n padding-top: 5px;\\r\\n}\\r\\n.message_box .mat-menu-item>div {\\r\\n padding-left: 55px;\\r\\n word-break: break-all;\\r\\n white-space: normal;\\r\\n}\\r\\n.message_box .mailimg {\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 50%;\\r\\n width: 37px;\\r\\n height: 37px;\\r\\n overflow: hidden;\\r\\n position: absolute;\\r\\n left: 7px;\\r\\n top: 10px;\\r\\n}\\r\\n.main-head.show-all {\\r\\n background: #f5f7f9;\\r\\n text-align: center;\\r\\n display: block;\\r\\n}\\r\\n.main-head.show-all button {\\r\\n background: none;\\r\\n padding: 0;\\r\\n border: 0;\\r\\n color: #000;\\r\\n cursor: pointer;\\r\\n font-size: 14px;\\r\\n}\\r\\n.profile-pic {\\r\\n cursor: pointer;\\r\\n}\\r\\n.cdk-overlay-connected-position-bounding-box {\\r\\n top: 21px !important;\\r\\n}\\r\\n/*Header Right Side User Dropdown*/\\r\\n.book-new-app {\\r\\n color: #01385f;\\r\\n font-size: 14px;\\r\\n display: flex;\\r\\n border-right: 1px solid #ccc;\\r\\n /* padding: 0 20px; */\\r\\n /* margin-right: 10px; */\\r\\n align-items: center;\\r\\n padding-right: 4px;\\r\\n}\\r\\n.book-new-app .material-icons {\\r\\n color: #01385f;\\r\\n}\\r\\n.fa-chevron-down {\\r\\n font-size: 12px;\\r\\n color: #929292;\\r\\n padding-left: 3px;\\r\\n}\\r\\n.lang-btn {\\r\\n background: #fff;\\r\\n /* box-shadow: 0 20px 20px rgb(1 73 113 / 30%); */\\r\\n border: none;\\r\\n font-size: 14px;\\r\\n padding: 0px;\\r\\n border-radius: 3px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n.lang-img {\\r\\n max-width: 40px;\\r\\n width: 100%;\\r\\n}\\r\\n.bookmark-icon .material-icons {\\r\\n color: #00bec8 !important;\\r\\n font-family: \\\"Material Icons\\\" !important;\\r\\n font-size: 24px;\\r\\n}\\r\\n@media screen and (max-width:991px) {\\r\\n .text-mobile-nv {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n .lang-img {\\r\\n max-width: 30px;\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n .book-new-app {\\r\\n padding: 0;\\r\\n }\\r\\n\\r\\n .bell-icon i,\\r\\n .message_box .main-head i {\\r\\n font-size: 18px !important;\\r\\n color: #01385f;\\r\\n }\\r\\n\\r\\n\\r\\n}\\r\\n@media all and (max-width:600px) {\\r\\n .user-dropdown button {\\r\\n margin: 0 5px !important;\\r\\n }\\r\\n\\r\\n /* .book-new-app{\\r\\n padding: 0 10px;\\r\\n } */\\r\\n /* .main-header button{\\r\\n padding: 0 10px;\\r\\n margin: 0 7px;\\r\\n } */\\r\\n}\\r\\n.bookmark-icon {\\r\\n line-height: 1;\\r\\n}\\r\\n@media screen and (max-width:500px) {\\r\\n .no_noti {\\r\\n right: 5px;\\r\\n top: 0px;\\r\\n font-size: 8px;\\r\\n line-height: 12px;\\r\\n font-weight: 600;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n .user-dropdown button img {\\r\\n width: 23px;\\r\\n height: 23px;\\r\\n }\\r\\n\\r\\n .user-dropdown button {\\r\\n width: 40px;\\r\\n height: 40px\\r\\n }\\r\\n .fa-chevron-down {\\r\\n font-size: 9px;\\r\\n color: #929292;\\r\\n padding-left: 0;\\r\\n}\\r\\n\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n 0\\\"\\r\\n class=\\\"no_noti\\\"\\r\\n style=\\\"color: white !important; background-color: red !important\\\"\\r\\n >{{ totalUnreadNotificationCount }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

{{ \\\"notifications\\\" | translate }}

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ doc.message }}\\r\\n  {{ doc.timeStamp | date : \\\"MMM d, y, h:mm a\\\" }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n bookmark
 {{ \\\"book_appointement\\\" | translate }}
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ item.displayName|translate }}\\r\\n \\r\\n
\\r\\n
\\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 {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n ViewEncapsulation,\r\n EventEmitter,\r\n Output,\r\n} from \"@angular/core\";\r\n\r\nimport { Router } from \"@angular/router\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { LoginUser } from \"../../../platform/modules/core/modals/loginUser.modal\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { ChangePasswordComponent } from \"../../../platform/modules/agency-portal/change-password/change-password.component\";\r\nimport { ResponseModel } from \"../../../super-admin-portal/core/modals/common-model\";\r\nimport { SharedService } from \"../../shared.service\";\r\nimport { CommonService } from \"../../../platform/modules/core/services\";\r\nimport * as moment from \"moment\";\r\nimport {\r\n HeaderInfo,\r\n NavItem,\r\n MessageNotificationModel,\r\n UserDocumentNotificationModel,\r\n} from \"../../models\";\r\nimport { debug } from \"util\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { HubConnection } from \"src/app/hubconnection.service\";\r\n\r\n@Component({\r\n selector: \"app-client-header-layout\",\r\n templateUrl: \"./client-header-layout.component.html\",\r\n styleUrls: [\"./client-header-layout.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ClientHeaderLayoutComponent implements OnInit, OnChanges {\r\n @Input() headerInfo: HeaderInfo;\r\n @Output() eventChangePassword: EventEmitter = new EventEmitter();\r\n documentNotifications: Array = [];\r\n notificationsURL = \"api/Notification/GetHeaderNotification\";\r\n MarkNotificationById = \"api/Notification/MarkNotificationById\";\r\n changeMessageStatusURL = \"api/Message/ChangeMessageStatus\";\r\n totalUnreadNotificationCount: number;\r\n userInfo: any;\r\n patientData: any;\r\n userNavigations: NavItem[];\r\n //userLocations: Array;\r\n //currentLocationId: number;\r\n subscription: Subscription;\r\n notificationRead: number[] = [];\r\n userId: any;\r\n messageNotification: any;\r\n pageNumber: number = 1;\r\n loading: boolean;\r\n constructor(\r\n private sharedService: SharedService,\r\n private commonService: CommonService,\r\n private router: Router,\r\n private translate: TranslateService,\r\n private hubconnectionservice: HubConnection\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n //this.userLocations = [];\r\n this.userInfo = {};\r\n this.userNavigations = [];\r\n //this.currentLocationId = null;\r\n }\r\n\r\n ngOnChanges(changes) {\r\n const headerInfo = changes.headerInfo || null;\r\n if (headerInfo && headerInfo.currentValue) {\r\n this.userInfo = headerInfo.currentValue.user;\r\n //this.userLocations = headerInfo.currentValue.userLocations;\r\n localStorage.setItem(\"organizationID\", this.userInfo.organizationID);\r\n // //////;\r\n this.userNavigations = headerInfo.currentValue.userNavigations;\r\n }\r\n }\r\n\r\n onScroll(event: any) {\r\n // console.log(\"loading outer.....\");\r\n\r\n // const scrollData = Math.round(event.target.scrollTop + event.target.clientHeight);\r\n // const scrollH = event.target.scrollHeight\r\n // if ((scrollData >= scrollH) || (scrollData - 1 >= scrollH)) {\r\n const element = event.target;\r\n const scrollTop = element.scrollTop;\r\n const clientHeight = element.clientHeight;\r\n const scrollHeight = element.scrollHeight;\r\n\r\n if (scrollTop + clientHeight >= scrollHeight - 2) {\r\n // console.log(\r\n // \"event.target.scrollTop-->\",\r\n // event.target.scrollTop,\r\n // \"event.target.clientHeight-->\",\r\n // event.target.clientHeight,\r\n // \"event.target.scrollHeight\",\r\n // event.target.scrollHeight\r\n // );\r\n // console.log(\"loading inner.....\");\r\n this.loading = true;\r\n this.getHeaderNotifications();\r\n //this.loading=false;\r\n }\r\n }\r\n\r\n onSelectBooking = (type: string) => {\r\n if (type == \"doctor\") {\r\n //this.router.navigateByUrl(\"/doctor-list\")\r\n\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = \"/doctor-list\";\r\n link.click();\r\n } else {\r\n //this.router.navigateByUrl('/health-services')\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = \"/health-services\";\r\n link.click();\r\n }\r\n };\r\n\r\n onSelectUserMenu(item: NavItem) {\r\n // switch (item.route) {\r\n // case \"/web/sign-out\":\r\n // this.commonService.logout();\r\n // //sessionStorage.setItem('redirectTo','/web/client-login');\r\n // // sessionStorage.setItem(\"redirectTo\", \"/web/client-login\");\r\n\r\n // this.router.navigateByUrl(\"\");\r\n // location.reload();\r\n // break;\r\n // case \"\":\r\n // this.eventChangePassword.emit();\r\n // break;\r\n // default:\r\n // item.route && this.router.navigate([item.route]);\r\n // break;\r\n // }\r\n if (item.route == \"/web/sign-out\") {\r\n this.commonService.logout();\r\n //sessionStorage.setItem('redirectTo','/web/client-login');\r\n // sessionStorage.setItem(\"redirectTo\", \"/web/client-login\");\r\n\r\n this.router.navigateByUrl(\"\");\r\n location.reload();\r\n }\r\n else if(item.keyflag == \"changepassword\"){\r\n this.eventChangePassword.emit(\"changepassword\"); \r\n }\r\n else if(item.keyflag == \"changeemail\"){\r\n this.eventChangePassword.emit(\"changeemail\"); \r\n }\r\n else{\r\n item.route && this.router.navigate([item.route]);\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user) {\r\n //console.log(user);\r\n this.userId = user.data.userID;\r\n this.patientData = user.patientData;\r\n }\r\n });\r\n this.notificationRead = [];\r\n this.hubconnectionservice.startHubConnectionForNotification();\r\n this.hubconnectionservice.getNotificationListener().subscribe((message) => {\r\n // console.log(\"Received Notification for patient:\", message);\r\n this.onReceiveNotificationBySignalR(message); // Handle real-time notification\r\n });\r\n this.getHeaderNotifications();\r\n }\r\n\r\n toggleSidenav() {\r\n this.sharedService.toggle();\r\n }\r\n\r\n markRead(notificationId: any) {\r\n let filter = this.notificationRead.filter((d) => d == notificationId);\r\n if (filter && filter.length <= 0) {\r\n this.commonService\r\n .postWithNoLoader(\r\n this.MarkNotificationById + \"?id=\" + notificationId,\r\n {},\r\n false\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response &&\r\n response.data != undefined &&\r\n response.statusCode == 200\r\n ) {\r\n this.notificationRead.push(notificationId);\r\n }\r\n });\r\n }\r\n }\r\n\r\n getHeaderNotifications() {\r\n //\r\n this.commonService\r\n .getAll(\r\n this.notificationsURL + `?pageNumber=${this.pageNumber}`,\r\n {},\r\n false\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response &&\r\n response.data != undefined &&\r\n response.statusCode == 200\r\n ) {\r\n this.onReceiveNotification(response.data);\r\n this.pageNumber++;\r\n }\r\n });\r\n }\r\n onReceiveNotification(notificationResponse: any) {\r\n if (notificationResponse.userId == this.userId) {\r\n this.messageNotification =\r\n notificationResponse.messageNotification != undefined\r\n ? notificationResponse.messageNotification\r\n : [];\r\n const newDocumentNotifications =\r\n notificationResponse.userDocumentNotification != undefined\r\n ? notificationResponse.userDocumentNotification\r\n : notificationResponse.message != undefined\r\n ? [notificationResponse]\r\n : [];\r\n this.totalUnreadNotificationCount =\r\n notificationResponse.userDocumentNotification &&\r\n notificationResponse.userDocumentNotification.length > 0\r\n ? notificationResponse.userDocumentNotification[0].unReadNotificationCount\r\n : 0;\r\n this.documentNotifications = [\r\n ...this.documentNotifications,\r\n ...newDocumentNotifications,\r\n ];\r\n\r\n this.documentNotifications.forEach((v) => {\r\n v.timeStamp = moment\r\n .utc(v.timeStamp)\r\n .local()\r\n .format(\"YYYY-MM-DD, h:mm a\");\r\n switch (v.type) {\r\n case \"UserInvitation\":\r\n v.notificationAction = v.type;\r\n v.message = v.message;\r\n\r\n // v.message = v.patientName + \" has requested appointment at \";\r\n break;\r\n\r\n case \"ChatMessage\":\r\n v.message = v.message;\r\n break;\r\n }\r\n });\r\n } else {\r\n // console.log(\"userId does not match\");\r\n }\r\n }\r\n\r\n onReceiveNotificationBySignalR(notificationResponse: any) {\r\n // console.log(\"UserId:\", this.userId);\r\n // console.log(\"Notification UserId:\", notificationResponse.userId);\r\n\r\n if (notificationResponse.userId == this.userId) {\r\n // console.log(\"User IDs match\");\r\n\r\n // this.totalUnreadNotificationCount = notificationResponse.unReadNotificationCount != undefined ?\r\n // notificationResponse.unReadNotificationCount.totalUnReadNotification : 0;\r\n\r\n this.messageNotification =\r\n notificationResponse.messageNotification != undefined\r\n ? notificationResponse.messageNotification\r\n : [];\r\n\r\n const newDocumentNotifications =\r\n notificationResponse.userDocumentNotification != undefined\r\n ? notificationResponse.userDocumentNotification\r\n : notificationResponse.message != undefined\r\n ? [notificationResponse]\r\n : [];\r\n\r\n this.totalUnreadNotificationCount = this.totalUnreadNotificationCount + 1;\r\n this.documentNotifications = [\r\n ...newDocumentNotifications,\r\n ...this.documentNotifications,\r\n ];\r\n\r\n this.documentNotifications.forEach((v) => {\r\n v.timeStamp = moment\r\n .utc(v.timeStamp)\r\n .local()\r\n .format(\"YYYY-MM-DD, h:mm a\");\r\n switch (v.type) {\r\n case \"UserInvitation\":\r\n v.notificationAction = v.type;\r\n v.message = v.message;\r\n\r\n // v.message = v.patientName + \" has requested appointment at \";\r\n break;\r\n\r\n case \"ChatMessage\":\r\n v.message = v.message;\r\n break;\r\n }\r\n });\r\n } else {\r\n // console.log(\"userId does not match\");\r\n }\r\n }\r\n changeNotificationStatus(messageId: number) {\r\n this.commonService\r\n .post(\r\n this.changeMessageStatusURL +\r\n \"?MessageId=\" +\r\n messageId +\r\n \"&Unread=\" +\r\n false,\r\n {}\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n // //////\r\n if (response != null && response.statusCode == 200) {\r\n this.getHeaderNotifications();\r\n }\r\n });\r\n }\r\n btnClick = function () {\r\n this.router.navigateByUrl(\"/web/client/favourite\");\r\n };\r\n useLanguage(language: string): void {\r\n localStorage.setItem(\"language\", language);\r\n this.translate.use(language);\r\n window.location.reload();\r\n }\r\n}\r\n","module.exports = \".no-backdrop {\\r\\n opacity: 0;\\r\\n}\\r\\n.schedule-modal{\\r\\n background-color: #f0ad4e;\\r\\n color: #fff;\\r\\n padding: 20px 25px;\\r\\n border-radius: 3px;\\r\\n -webkit-border-radius: 3px;\\r\\n}\\r\\n.mat-dialog-content > div {\\r\\n font-size: 15px;\\r\\n}\\r\\n.schedule-modal .mat-dialog-content, .schedule-modal .mat-dialog-actions {\\r\\n padding: 0px !important;\\r\\n}\\r\\n.schedule-modal .mat-dialog-actions {\\r\\n justify-content: flex-start;\\r\\n }\\r\\n.schedule-modal button.mat-button {\\r\\n min-width: auto;\\r\\n padding: 5px 10px;\\r\\n background: #fff;\\r\\n line-height: normal;\\r\\n color: #f0ad4e;\\r\\n margin: 10px 10px 0px 0px;\\r\\n text-transform: uppercase;\\r\\n font-size: 12px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
{{message | translate}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, OnChanges, Input, Inject, Output, EventEmitter, Optional, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.css']\r\n})\r\nexport class DialogComponent implements OnInit {\r\n message: string = '';\r\n actions: Array = [];\r\n\r\n constructor(\r\n public dialogPopup: MatDialogRef,\r\n private translate: TranslateService,\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n\r\n this.initializeActions(data);\r\n }\r\n\r\n ngOnInit() {\r\n this.dialogPopup.backdropClick().subscribe(() => {\r\n this.dialogPopup.close();\r\n });\r\n }\r\n\r\n handleClick(value: any) {\r\n this.dialogPopup.close(value);\r\n }\r\n\r\n initializeActions(data: any) {\r\n const deafultActions = [\r\n {\r\n name: this.translate.instant('Yes'), \r\n value: true,\r\n },\r\n {\r\n name: this.translate.instant('Cancel'), \r\n value: false,\r\n },\r\n ];\r\n\r\n this.actions = data && data.length ? data : deafultActions;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { MatDialog } from '@angular/material';\r\nimport { DialogComponent } from './dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DialogService {\r\n\r\n constructor(private dialog: MatDialog) { }\r\n\r\n public confirm(\r\n message: string,\r\n data?: Array): Observable {\r\n const modalRef = this.dialog.open(DialogComponent, { data: data, hasBackdrop: true, backdropClass: 'no-backdrop', disableClose: false, width: 'auto', minWidth: 'auto',maxWidth: 'auto', position: { bottom: '10px', right: '10px' } });\r\n modalRef.componentInstance.message = message;\r\n return modalRef.afterClosed();\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n MyHealthyGate Healthcare\\r\\n \\r\\n \\r\\n © {{ today | date: 'yyyy' }}.\\r\\n A healthcare project from MyHealthyGate.\\r\\n Code licensed under MyHealthyGate.\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-layout-footer',\r\n templateUrl: './footer.component.html'\r\n})\r\nexport class FooterComponent {\r\n today: number = Date.now();\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n

{{\\\"notifications\\\"|translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ doc.message }}\\r\\n \\r\\n  {{ doc.timeStamp | date:'MMM d, y, h:mm a' }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
{{\\\"no_notifications\\\"|translate}}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n {{userInfo.firstName+' '+(userInfo.middleName||'')+'\\r\\n '+userInfo.lastName}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\"","module.exports = \"/*Header Right Side User Dropdown*/\\n.user-dropdown button {\\n background: no-repeat;\\n border: 0px;\\n padding: 0px;\\n width: 48px;\\n height: 48px; }\\n.user-dropdown button img {\\n width: 35px;\\n height: 35px;\\n border-radius: 100px; }\\n@media screen and (max-width: 500px) {\\n .user-dropdown button img {\\n width: 23px;\\n height: 23px; } }\\n.mat-menu-item,\\n.setting_menu button.mat-menu-item {\\n padding: 8px 10px;\\n height: auto;\\n line-height: inherit;\\n font-size: 13px;\\n font-weight: 500;\\n color: #01385f;\\n display: flex;\\n font-family: 'Raleway', sans-serif;\\n align-items: center; }\\n.setting_menu button span i {\\n font-size: 18px;\\n margin-right: 8px; }\\n.welcomeName {\\n font-size: 14px;\\n color: #2f2660;\\n padding-left: 20px;\\n cursor: pointer;\\n display: none; }\\n.bell-icon i,\\n.message_box .main-head i {\\n font-size: 22px;\\n color: #01385f; }\\n.no_noti {\\n width: 15px;\\n height: 15px;\\n background: #f70d1a;\\n z-index: 1;\\n position: absolute;\\n border-radius: 50%;\\n right: 5px;\\n top: 0px;\\n color: #fff;\\n font-size: 10px;\\n line-height: 15px;\\n font-weight: 600; }\\n@media screen and (max-width: 500px) {\\n .no_noti {\\n right: 5px;\\n top: 0px;\\n font-size: 8px;\\n line-height: 12px;\\n font-weight: 600;\\n display: flex;\\n justify-content: center;\\n align-items: center; } }\\n.natification_box.mat-menu-panel {\\n overflow: hidden;\\n width: 250px; }\\n.natification_box .mat-menu-content {\\n margin: -8px 0; }\\n.natification_box .main-head {\\n background: #01385f;\\n border-bottom: 1px solid #ddd;\\n padding: 8px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center; }\\n.natification_box h3 {\\n margin: 0;\\n color: #fff;\\n font-size: 14px;\\n font-weight: 500; }\\n.natification_box button {\\n background: none;\\n border: 0;\\n padding: 0;\\n color: #fff;\\n font-size: 20px;\\n font-weight: 500;\\n line-height: 18px;\\n cursor: pointer; }\\n.natification_box .mat-menu-item {\\n line-height: normal !important;\\n min-height: auto !important;\\n border-bottom: 1px solid #ddd !important;\\n height: auto;\\n padding: 10px 8px;\\n font-size: 14px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center; }\\n.natification_box .unread-noti {\\n background-color: #f5f7f9 !important; }\\n.natification_box .mat-menu-item > div {\\n white-space: normal; }\\n.natification_box i.fa.fa-clock-o {\\n float: right;\\n right: 9px;\\n position: relative; }\\n.natification_box .mat-menu-item div span {\\n font-size: 11px;\\n color: rgba(0, 0, 0, 0.6);\\n padding-top: 5px; }\\n.message_box .mat-menu-item > div {\\n padding-left: 55px;\\n word-break: break-all;\\n white-space: normal; }\\n.message_box .mailimg {\\n border: 1px solid #ddd;\\n border-radius: 50%;\\n width: 37px;\\n height: 37px;\\n overflow: hidden;\\n position: absolute;\\n left: 7px;\\n top: 10px; }\\n.main-head.show-all {\\n background: #f5f7f9;\\n text-align: center;\\n display: block; }\\n.main-head.show-all button {\\n background: none;\\n padding: 0;\\n border: 0;\\n color: #000;\\n cursor: pointer;\\n font-size: 14px; }\\n.profile-pic {\\n cursor: pointer; }\\n.cdk-overlay-connected-position-bounding-box {\\n top: 21px !important; }\\n/*Header Right Side User Dropdown*/\\n.lang-btn {\\n background: #fff;\\n /* box-shadow: 0px 20px 20px rgb(1 73 113 / 30%); */\\n border: none;\\n /* color: #fff !important; */\\n font-size: 14px;\\n padding: 2px;\\n border-radius: 3px;\\n display: flex;\\n align-items: center; }\\n.tool-tip-btn {\\n background-color: #ccc; }\\n.lang-img {\\n max-width: 30px;\\n width: 100%; }\\n.fa-chevron-down {\\n font-size: 12px;\\n color: #929292;\\n padding-left: 2px; }\\n@media screen and (max-width: 500px) {\\n .user-dropdown button {\\n width: 35px;\\n height: 30px; }\\n .fa-chevron-down {\\n font-size: 10px; } }\\n\"","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n ViewEncapsulation,\r\n EventEmitter,\r\n Output,\r\n ElementRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\n\r\nimport { SharedService } from \"../shared.service\";\r\nimport {\r\n HeaderInfo,\r\n NavItem,\r\n MessageNotificationModel,\r\n UserDocumentNotificationModel,\r\n NotificationsModel,\r\n} from \"../models\";\r\nimport { Router } from \"@angular/router\";\r\nimport { CommonService } from \"../../platform/modules/core/services\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { LoginUser } from \"../../platform/modules/core/modals/loginUser.modal\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { ChangePasswordComponent } from \"../../platform/modules/agency-portal/change-password/change-password.component\";\r\nimport { ResponseModel } from \"../../super-admin-portal/core/modals/common-model\";\r\nimport * as moment from \"moment\";\r\nimport { AuthenticationService } from \"src/app/platform/modules/auth/auth.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { HubConnection } from \"src/app/hubconnection.service\";\r\n@Component({\r\n selector: \"app-layout-header\",\r\n templateUrl: \"header.component.html\",\r\n styleUrls: [\"./header.component.scss\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class HeaderComponent implements OnInit, OnChanges {\r\n @Input() headerInfo: HeaderInfo;\r\n @Output() eventChangePassword: EventEmitter = new EventEmitter();\r\n userInfo: any;\r\n userNavigations: NavItem[];\r\n userLocations: Array;\r\n currentLocationId: number;\r\n subscription: Subscription;\r\n messageNotifications: Array = [];\r\n documentNotifications: Array = [];\r\n notificationsURL = \"api/Notification/GetHeaderNotification\";\r\n changeMessageStatusURL = \"api/Message/ \";\r\n MarkNotificationById = \"api/Notification/MarkNotificationById\";\r\n passwordExpiryColorCode = \"Red\";\r\n notificationRead: number[] = [];\r\n totalUnreadNotificationCount: number;\r\n notification: any;\r\n userId: any;\r\n pageNumber: number = 1;\r\n loading: boolean;\r\n @ViewChild(\"scrollableContainer\") scrollableContainer!: ElementRef;\r\n currentUserRoleName: any;\r\n constructor(\r\n private sharedService: SharedService,\r\n private commonService: CommonService,\r\n private authenticationService: AuthenticationService,\r\n private router: Router,\r\n private translate: TranslateService,\r\n private hubconnectionservice: HubConnection\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.userLocations = [];\r\n this.userInfo = {};\r\n this.userNavigations = [];\r\n this.currentLocationId = null;\r\n }\r\n\r\n ngOnChanges(changes) {\r\n const headerInfo = changes.headerInfo || null;\r\n if (headerInfo && headerInfo.currentValue) {\r\n this.userInfo = headerInfo.currentValue.user;\r\n this.userLocations = headerInfo.currentValue.userLocations;\r\n //////;\r\n this.userNavigations = headerInfo.currentValue.userNavigations;\r\n }\r\n }\r\n\r\n onScroll(event: any) {\r\n // console.log(\"loading outer.....\");\r\n const element = event.target;\r\n const scrollTop = element.scrollTop;\r\n const clientHeight = element.clientHeight;\r\n const scrollHeight = element.scrollHeight;\r\n\r\n if (scrollTop + clientHeight >= scrollHeight - 2) {\r\n // console.log(\r\n // \"event.target.scrollTop-->\",\r\n // event.target.scrollTop,\r\n // \"event.target.clientHeight-->\",\r\n // event.target.clientHeight,\r\n // \"event.target.scrollHeight\",\r\n // event.target.scrollHeight\r\n // );\r\n // console.log(\"loading inner.....\");\r\n this.loading = true;\r\n this.getHeaderNotifications();\r\n //this.loading=false;\r\n }\r\n }\r\n\r\n markRead(notification: any) {\r\n // console.log(\"readarray\",this.notificationRead)\r\n setTimeout(() => {\r\n if (!this.notificationRead.includes(notification.notificationId)) {\r\n if (notification.notificationId && notification.isActive === true) {\r\n this.commonService\r\n .postWithNoLoader(\r\n this.MarkNotificationById + \"?id=\" + notification.notificationId,\r\n {},\r\n false\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response &&\r\n response.data != undefined &&\r\n response.statusCode == 200\r\n ) {\r\n this.notificationRead.push(notification.notificationId);\r\n }\r\n });\r\n }\r\n }\r\n }, 1);\r\n }\r\n\r\n onSelectUserMenu(item: NavItem) {\r\n // console.log(\"item from pharmacy dashboard\", item);\r\n if (item.route === \"/web/client/my-profile\") {\r\n const role = this.currentUserRoleName.toLowerCase();\r\n\r\n switch (role) {\r\n case \"pharmacy\":\r\n item.route = \"/web/pharmacy/my-profile\";\r\n break;\r\n case \"lab\":\r\n item.route = \"/web/lab/profile\";\r\n break;\r\n case \"radiology\":\r\n item.route = \"/web/radiology/profile\";\r\n break;\r\n }\r\n }\r\n // else if(item.route )\r\n\r\n // switch (item.route) {\r\n // case \"/web/sign-out\":\r\n // this.authenticationService.SetUserOffline();\r\n // this.commonService.logout();\r\n // // sessionStorage.setItem('redirectTo','/web/login');//added code to redirect on we login\r\n\r\n // // sessionStorage.setItem(\"redirectTo\", \"\");\r\n // this.router.navigateByUrl(\"\"); //commented code to double load\r\n // location.reload(); //added code to reload\r\n // break;\r\n // case \"\":\r\n // this.eventChangePassword.emit();\r\n // break;\r\n // default:\r\n // item.route && this.router.navigate([item.route]);\r\n // break;\r\n // }\r\n\r\n if (item.route == \"/web/sign-out\") {\r\n this.authenticationService.SetUserOffline();\r\n this.commonService.logout();\r\n // sessionStorage.setItem('redirectTo','/web/login');//added code to redirect on we login\r\n\r\n // sessionStorage.setItem(\"redirectTo\", \"\");\r\n this.router.navigateByUrl(\"\"); //commented code to double load\r\n location.reload(); //added code to reload\r\n }\r\n else if(item.keyflag == \"changepassword\"){\r\n this.eventChangePassword.emit(\"changepassword\"); \r\n }\r\n else if(item.keyflag == \"changeemail\"){\r\n this.eventChangePassword.emit(\"changeemail\"); \r\n }\r\n else{\r\n item.route && this.router.navigate([item.route]);\r\n }\r\n }\r\n\r\n onDropdownSelectionChange(value: number) {\r\n this.commonService.updateCurrentLoginUserInfo(value);\r\n this.router.navigate([\"/web\"]);\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.userId = user.userID;\r\n this.currentLocationId = user.currentLocationId;\r\n this.currentUserRoleName = user.users3.userRoles.roleName;\r\n }\r\n });\r\n\r\n this.hubconnectionservice.startHubConnectionForNotification();\r\n this.hubconnectionservice.getNotificationListener().subscribe((message) => {\r\n // console.log(\"Received Notification for provider:\", message);\r\n this.onReceiveNotificationBySignalR(message);\r\n });\r\n\r\n this.getHeaderNotifications();\r\n }\r\n\r\n toggleSidenav() {\r\n this.sharedService.toggle();\r\n }\r\n // getHeaderNotifications() {\r\n // this.commonService\r\n // .getAll(this.notificationsURL, {})\r\n // .subscribe((response: ResponseModel) => {\r\n // if (\r\n // response &&\r\n // response.data != undefined &&\r\n // response.statusCode == 200\r\n // ) {\r\n // this.messageNotifications =\r\n // response.data.messageNotification != undefined\r\n // ? response.data.messageNotification\r\n // : [];\r\n // this.documentNotifications =\r\n // response.data.userDocumentNotification != undefined\r\n // ? response.data.userDocumentNotification\r\n // : [];\r\n // }\r\n // });\r\n // }\r\n getHeaderNotifications() {\r\n //\r\n this.commonService\r\n .getAll(\r\n this.notificationsURL + `?pageNumber=${this.pageNumber}`,\r\n {},\r\n false\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response &&\r\n response.data != undefined &&\r\n response.statusCode == 200\r\n ) {\r\n this.onReceiveNotification(response.data);\r\n this.pageNumber++;\r\n }\r\n });\r\n }\r\n\r\n onReceiveNotification(notificationResponse: any) {\r\n\r\n if (notificationResponse.userId == this.userId) {\r\n this.messageNotifications =\r\n notificationResponse.messageNotification != undefined\r\n ? notificationResponse.messageNotification\r\n : [];\r\n \r\n const newDocumentNotifications =\r\n notificationResponse.userDocumentNotification != undefined\r\n ? notificationResponse.userDocumentNotification\r\n : notificationResponse.message != undefined\r\n ? [notificationResponse]\r\n : [];\r\n\r\n this.totalUnreadNotificationCount =\r\n notificationResponse.userDocumentNotification &&\r\n notificationResponse.userDocumentNotification.length > 0\r\n ? notificationResponse.userDocumentNotification[0].unReadNotificationCount\r\n : 0;\r\n this.documentNotifications = [\r\n ...this.documentNotifications,\r\n ...newDocumentNotifications,\r\n ];\r\n\r\n this.documentNotifications.forEach((v) => {\r\n v.timeStamp = moment\r\n .utc(v.timeStamp)\r\n .local()\r\n .format(\"YYYY-MM-DD, h:mm a\");\r\n switch (v.type) {\r\n case \"UserInvitation\":\r\n v.notificationAction = v.type;\r\n v.message = v.message;\r\n\r\n // v.message = v.patientName + \" has requested appointment at \";\r\n break;\r\n\r\n case \"ChatMessage\":\r\n v.message = v.message;\r\n break;\r\n }\r\n });\r\n } \r\n }\r\n\r\n onReceiveNotificationBySignalR(notificationResponse: any) {\r\n if (notificationResponse.userId == this.userId) {\r\n this.messageNotifications =\r\n notificationResponse.messageNotification != undefined\r\n ? notificationResponse.messageNotification\r\n : [];\r\n const newDocumentNotifications =\r\n notificationResponse.userDocumentNotification != undefined\r\n ? notificationResponse.userDocumentNotification\r\n : notificationResponse.message != undefined\r\n ? [notificationResponse]\r\n : [];\r\n\r\n this.totalUnreadNotificationCount = this.totalUnreadNotificationCount + 1;\r\n // console.log(\"notification response by signalr:\", notificationResponse);\r\n\r\n this.documentNotifications = [\r\n ...newDocumentNotifications,\r\n ...this.documentNotifications,\r\n ];\r\n\r\n // console.log(\"notificatiob count\", this.documentNotifications.length);\r\n\r\n this.documentNotifications.forEach((v) => {\r\n v.timeStamp = moment\r\n .utc(v.timeStamp)\r\n .local()\r\n .format(\"YYYY-MM-DD, h:mm a\");\r\n switch (v.type) {\r\n case \"UserInvitation\":\r\n v.notificationAction = v.type;\r\n v.message = v.message;\r\n\r\n // v.message = v.patientName + \" has requested appointment at \";\r\n break;\r\n\r\n case \"ChatMessage\":\r\n v.message = v.message;\r\n break;\r\n }\r\n });\r\n // console.log(\"notification length\", this.documentNotifications.length);\r\n // console.log(this.documentNotifications);\r\n } else {\r\n // console.log(\"userId does not match\");\r\n }\r\n }\r\n\r\n changeNotificationStatus(messageId: number) {\r\n this.commonService\r\n .post(\r\n this.changeMessageStatusURL +\r\n \"?MessageId=\" +\r\n messageId +\r\n \"&Unread=\" +\r\n false,\r\n {}\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.getHeaderNotifications();\r\n }\r\n });\r\n }\r\n openMailbox(messageId: number = null, parentMessageId = null) {\r\n if (messageId != null) {\r\n this.router.navigate([\"/web/mailbox\"], {\r\n queryParams: {\r\n mId: this.commonService.encryptValue(messageId, true),\r\n pId:\r\n parentMessageId != null\r\n ? this.commonService.encryptValue(parentMessageId, true)\r\n : null,\r\n },\r\n });\r\n } else this.router.navigate([\"/web/mailbox\"]);\r\n }\r\n openUser(userInfo: any) {\r\n this.router.navigate([\"/web/manage-users/user-profile\"]);\r\n }\r\n useLanguage(language: string): void {\r\n localStorage.setItem(\"language\", language);\r\n this.translate.use(language);\r\n window.location.reload();\r\n }\r\n}\r\n","export * from './footer.component';\r\nexport * from './header.component';\r\nexport * from './sidebar.component';\r\n","module.exports = \"\\r\\n \\r\\n
\\r\\n
\\r\\n {{ item.displayName | translate }}\\r\\n
\\r\\n \\r\\n {{\\r\\n pendingAppointment !== 0 ? ' ' + pendingAppointment : ' ' + localStorage.getItem('pendingAppointment')\\r\\n }}\\r\\n {{\\r\\n inboxCount !== 0 ? ' ' + inboxCount : ' ' + localStorage.getItem('messageCount')\\r\\n }}\\r\\n\\r\\n \\r\\n \\r\\n expand_more \\r\\n expand_less \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\"","module.exports = \"/**\\n * Applies styles for users in high contrast mode. Note that this only applies\\n * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`\\n * attribute, however Chrome handles high contrast differently.\\n * @param target Which kind of high contrast setting to target. Defaults to `active`, can be\\n * `white-on-black` or `black-on-white`.\\n */\\n/* Theme for the ripple elements.*/\\n/* stylelint-disable material/no-prefixes */\\n/* stylelint-enable */\\n:host {\\n display: block;\\n outline: none; }\\n:host .mat-list-item.active {\\n background-color: rgba(255, 255, 255, 0.15); }\\n:host .mat-list-item.active .mat-list-item-content {\\n color: #fff !important; }\\n:host:hover > .mat-list-item:not(.expanded), :host:focus > .mat-list-item:not(.expanded) {\\n background-color: rgba(255, 255, 255, 0.15) !important;\\n color: #fff; }\\n.mat-list-item .routeIcon {\\n margin-right: 40px; }\\n.extra-info {\\n min-width: 20px;\\n height: 20px;\\n background: #f70d1a;\\n z-index: 1;\\n padding: 3px 5px;\\n position: absolute;\\n border-radius: 5px;\\n right: 30px;\\n color: #fff;\\n font-size: 12px;\\n line-height: 20px;\\n font-weight: 600;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n\"","import { ProfileSetupModel } from \"./../../../platform/modules/core/modals/loginUser.modal\";\r\nimport {\r\n Component,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n} from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport {\r\n animate,\r\n state,\r\n style,\r\n transition,\r\n trigger,\r\n} from \"@angular/animations\";\r\nimport { NavItem } from \"../../models/navItem\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n@Component({\r\n selector: \"app-menu-list-item\",\r\n templateUrl: \"./menu-list-item.component.html\",\r\n styleUrls: [\"./menu-list-item.component.scss\"],\r\n animations: [\r\n trigger(\"indicatorRotate\", [\r\n state(\"collapsed\", style({ transform: \"rotate(0deg)\" })),\r\n state(\"expanded\", style({ transform: \"rotate(180deg)\" })),\r\n transition(\r\n \"expanded <=> collapsed\",\r\n animate(\"225ms cubic-bezier(0.4,0.0,0.2,1)\")\r\n ),\r\n ]),\r\n ],\r\n})\r\nexport class MenuListItemComponent implements OnChanges {\r\n expanded: boolean = false;\r\n tabOpened: boolean = false;\r\n profileSetup: ProfileSetupModel;\r\n @HostBinding(\"attr.aria-expanded\") ariaExpanded = this.expanded;\r\n @Input() item: NavItem;\r\n @Input() depth: number;\r\n public pendingAppointment:any;\r\n public inboxCount: any;\r\n constructor(\r\n public router: Router,\r\n private _commonService: CommonService,\r\n private notifier: NotifierService,\r\n private translate:TranslateService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n\r\n if (this.depth === undefined) {\r\n this.depth = 0;\r\n }\r\n this.profileSetup = new ProfileSetupModel();\r\n \r\n }\r\n\r\n ngOnIt(){\r\n\r\n // this._commonService.getPendingAppointment().subscribe(count=>this.pendingAppointment=count);\r\n // this._commonService.getInboxCount().subscribe(count=>this.inboxCount=count);\r\n\r\n\r\n\r\n this._commonService.pendingAppointment$.subscribe(value => {\r\n this.pendingAppointment = value;\r\n });\r\n\r\n this._commonService.inboxCount$.subscribe(count => {\r\n this.inboxCount = count;\r\n });\r\n }\r\n\r\n ngOnChanges(changes) {\r\n \r\n const item: NavItem = changes.item.currentValue || {};\r\n if (item.children && item.children.length > 0) {\r\n // console.log(item);\r\n let routeName = this.router.url;\r\n this.expanded =\r\n this.item.children.findIndex((x) => routeName.includes(x.route)) > -1;\r\n }\r\n this.getPendingAppointmentAndMailCount();\r\n }\r\n\r\n \r\n \r\ngetPendingAppointmentAndMailCount(){\r\n this._commonService.pendingAppointment$.subscribe(value => {\r\n this.pendingAppointment = value;\r\n if(this.pendingAppointment=='0'){\r\n this.pendingAppointment=localStorage.getItem(\"pendingAppointment\");\r\n }\r\n });\r\n\r\n this._commonService.inboxCount$.subscribe(count => {\r\n this.inboxCount = count;\r\n if(this.inboxCount=='0'){\r\n this.inboxCount=localStorage.getItem(\"messageCount\");\r\n }\r\n });\r\n}\r\n\r\n \r\n\r\n onItemSelected(item: NavItem) {\r\n if (item.displayName == \"User Management\" || item.displayName == \"Logs\") {\r\n this.openTab();\r\n }\r\n \r\n this.getPendingAppointmentAndMailCount();\r\n let staffId: number = 0;\r\n this._commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user && user.data) {\r\n staffId = user.data.id;\r\n }\r\n });\r\n let isPatient: boolean = true;\r\n this._commonService.isPatient.subscribe((res) => {\r\n isPatient = res;\r\n });\r\n let userRole: string = \"\";\r\n this._commonService.userRole.subscribe((res) => {\r\n userRole = res;\r\n });\r\n this._commonService.isProfileComplete.subscribe((res) => {\r\n this._commonService.pendingAppointment$.subscribe(value => {\r\n this.pendingAppointment = value;\r\n });\r\n if (!isPatient && (userRole || \"\").toUpperCase() == \"PROVIDER\")\r\n this.profileSetup = res;\r\n else this.profileSetup.isProfileSetup = 1;\r\n });\r\n\r\n if (this.profileSetup.isProfileSetup) {\r\n if (!item.children || !item.children.length) {\r\n this.router.navigate([item.route], { queryParams: item.params || {} });\r\n // this.navService.closeNav();\r\n }\r\n if (item.children && item.children.length) {\r\n if (item.displayName == \"My Clients\") {\r\n item.children = [\r\n {\r\n displayName: \"View Client List\",\r\n iconName: \"\",\r\n route: \"/web/clientlist\",\r\n },\r\n {\r\n displayName: \"Add Client\",\r\n iconName: \"\",\r\n route: \"/web/client\",\r\n },\r\n ];\r\n this.router.navigate([item.children[0].route]);\r\n } else {\r\n this.router.navigate([item.children[0].route], {\r\n queryParams: item.children[0].params || {},\r\n });\r\n }\r\n // this.expanded = !this.expanded;\r\n }\r\n } else {\r\n this.notifier.hideAll();\r\n if (this.profileSetup == undefined || this.profileSetup == null)\r\n this.profileSetup = new ProfileSetupModel();\r\n if (this.profileSetup.basicProfile == 0)\r\n this.notifier.notify(\r\n \"error\",\r\n \"Your Basic Profile Not Completed, Please Complete Your Profile First..!!\"\r\n );\r\n else if (this.profileSetup.staffServices == 0)\r\n this.notifier.notify(\r\n \"error\",\r\n \"Services Not Added, Please Add Services First..!!\"\r\n );\r\n else if (this.profileSetup.staffTaxonomies == 0)\r\n this.notifier.notify(\r\n \"error\",\r\n \"Taxonmoies Not Added, Please Add Taxonmoies First..!!\"\r\n );\r\n else if (this.profileSetup.staffSpecialities == 0)\r\n this.notifier.notify(\r\n \"error\",\r\n \"Specialities Not Added, Please Add Specialities First..!!\"\r\n );\r\n // else if (this.profileSetup.staffAvailability == 0)\r\n // this.notifier.notify(\r\n // \"error\",\r\n // \"Availability Not Found, Please Add Availability First..!!\"\r\n // );\r\n // else if (this.profileSetup.staffExperiences == 0)\r\n // this.notifier.notify(\r\n // \"error\",\r\n // \"Experience Not Added, Please Add Experience First..!!\"\r\n // );\r\n // else if (this.profileSetup.staffQualifications == 0)\r\n // this.notifier.notify(\r\n // \"error\",\r\n // \"Qualification Not Added, Please Add Qualification First..!!\"\r\n // );\r\n // else if (this.profileSetup.staffAwards == 0)\r\n // this.notifier.notify(\r\n // \"error\",\r\n // \"Awards Not Added, Please Add Awards First..!!\"\r\n // );\r\n\r\n this.router.navigate([\"/web/manage-users/user\"], {\r\n queryParams: {\r\n id: this._commonService.encryptValue(staffId),\r\n },\r\n });\r\n }\r\n }\r\n\r\n isActiveRoute(item: NavItem): boolean {\r\n // if (!item.route) {\r\n // return false;\r\n // }\r\n\r\n // let routeIndex = this.router.url.indexOf(\"?\"),\r\n // isExact = routeIndex > -1 ? false : true;\r\n\r\n // if (item.route == \"/web/manage-users/user\" || item.route == \"/web/client\")\r\n // isExact = true;\r\n\r\n // return this.router.isActive(item.route, isExact);\r\n if (!item.route && item.children && item.children.length > 0) {\r\n const childItem = item.children.find(\r\n (x) => x.route && x.route == this.router.url\r\n );\r\n return childItem ? true : false;\r\n } else if (item.route) {\r\n return item.route == this.router.url ? true : false;\r\n } else {\r\n return false;\r\n }\r\n }\r\n openTab() {\r\n // console.log(10);\r\n this.tabOpened = !this.tabOpened;\r\n }\r\n closetab() {\r\n this.expanded = false;\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n keyboard_arrow_left\\r\\n
\\r\\n\\r\\n \\r\\n menus\\r\\n \\r\\n
\\r\\n keyboard_arrow_right\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \".mat-list,\\n.mat-nav-list,\\n.mat-selection-list {\\n padding: 0px; }\\n\\n:hover > .mat-list-item:not(.expanded),\\n:focus > .mat-list-item:not(.expanded) {\\n background-color: transparent !important; }\\n\\n.example-app-name img {\\n width: 180px;\\n height: auto;\\n -webkit-filter: brightness(0) invert(1);\\n filter: brightness(0) invert(1); }\\n\\n.app-menu-button mat-icon {\\n color: #ffffff !important; }\\n\\n.mat-drawer {\\n position: fixed !important;\\n scrollbar-width: thin !important;\\n scrollbar-color: #01385f #f1f1f1 !important; }\\n\\n@media (max-width: 991px) {\\n .mat-drawer {\\n -webkit-transform: none;\\n transform: none; } }\\n\\n@media screen and (max-width: 768px) {\\n .example-app-name img {\\n width: 120px; } }\\n\"","import { Component, ViewChild, OnInit, Input, OnChanges } from \"@angular/core\";\r\nimport { MatSidenav } from \"@angular/material\";\r\nimport { SharedService } from \"../shared.service\";\r\nimport { NavItem, SidebarInfo } from \"../models\";\r\nimport { SubDomainService } from \"src/app/subDomain.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\n\r\n@Component({\r\n selector: \"app-layout-sidebar\",\r\n templateUrl: \"sidebar.component.html\",\r\n styleUrls: [\"./sidebar.component.scss\"],\r\n providers: [SubDomainService],\r\n})\r\nexport class SidebarComponent implements OnInit, OnChanges {\r\n @Input() sidebarInfo: SidebarInfo;\r\n @ViewChild(\"sidenav\") public sidenav: MatSidenav;\r\n isSideBarOpen = true;\r\n organizationModel: string;\r\n navItems: NavItem[] = [];\r\n verifiedUser: any;\r\n constructor(\r\n private subDomainService: SubDomainService,\r\n private sharedService: SharedService,\r\n private commonService:CommonService,\r\n private router: Router\r\n ) {\r\n this.subDomainService.subjectlogo.subscribe((res) => {\r\n if (res) {\r\n setTimeout(() => {\r\n this.organizationModel = sessionStorage.getItem(\"logo\");\r\n }, 500);\r\n }\r\n });\r\n if (sessionStorage.getItem(\"logo\"))\r\n this.organizationModel = sessionStorage.getItem(\"logo\");\r\n }\r\n ngAfterViewChecked() {\r\n if (sessionStorage.getItem(\"logo\")) {\r\n this.organizationModel = sessionStorage.getItem(\"logo\");\r\n }\r\n }\r\n\r\n \r\n ngOnChanges(changes) {\r\n const sidebarInfo = changes.sidebarInfo || null;\r\n if (sidebarInfo && sidebarInfo.currentValue) {\r\n this.verifiedUser = localStorage.getItem(\"UserRole\");\r\n this.navItems = sidebarInfo.currentValue.navigations;\r\n // console.log('verifiedUser',this.verifiedUser);\r\n\r\n // \r\n // if(this.verifiedUser=='PROVIDER'){\r\n // let index=this.navItems.findIndex(d=>d.displayName=='My Appointments');\r\n // if(index!=-1){\r\n // // this.navItems[index].extraInfo = localStorage.getItem(\"pendingAppointment\");\r\n // this.navItems[index].extraInfo= this.commonService.getPendingAppointment();\r\n // }\r\n // }\r\n\r\n // \r\n // if(this.verifiedUser=='PROVIDER'){\r\n // let index=this.navItems.findIndex(d=>d.displayName=='Mailbox');\r\n // if(index!=-1){\r\n // // this.navItems[index].extraInfo = localStorage.getItem(\"pendingAppointment\");\r\n // this.navItems[index].extraInfo= this.commonService.getInboxCount();\r\n // }\r\n // }\r\n\r\n /*if(this.verifiedUser=='PROVIDER'){\r\n let index=this.navItems.findIndex(d=>d.displayName=='Masters');\r\n if(index!=-1){\r\n this.navItems[index].displayName=\"Clinical Management\";\r\n }\r\n \r\n }*/\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.verifiedUser = localStorage.getItem(\"UserRole\");\r\n if (sessionStorage.getItem(\"logo\"))\r\n this.organizationModel = sessionStorage.getItem(\"logo\");\r\n this.sharedService.setSidenav(this.sidenav);\r\n this.addremoveCustomClasses(true);\r\n }\r\n\r\n imgClickHandler = () => {\r\n let role = localStorage.getItem(\"UserRole\");\r\n // console.log(role);\r\n\r\n if (role == \"CLIENT\") {\r\n this.router.navigate([\"/web/client/dashboard\"]);\r\n } else if (role == \"STAFF\") {\r\n this.router.navigate([\"/web/dashboard\"]);\r\n } else if (role == \"PROVIDR\") {\r\n this.router.navigate([\"/web/dashboard\"]);\r\n } else if (role == \"RADIOLOGY\") {\r\n this.router.navigate([\"/web/radiology/dashboard\"]);\r\n } else if (role == \"LAB\") {\r\n this.router.navigate([\"/web/lab/dashboard\"]);\r\n } else if (role == \"PHARMACY\") {\r\n this.router.navigate([\"/web/pharmacy/dashboard\"]);\r\n }\r\n };\r\n\r\n toggleSidebar() {\r\n this.isSideBarOpen = !this.isSideBarOpen;\r\n this.addremoveCustomClasses(this.isSideBarOpen);\r\n }\r\n\r\n addremoveCustomClasses(isOpen) {\r\n const elerefSidebar = document.getElementsByClassName(\"mat-drawer\");\r\n const elerefContent = document.getElementsByClassName(\"mat-drawer-content\");\r\n const elerefHeader = document.getElementsByClassName(\"main-header\");\r\n\r\n let sidebar =\r\n elerefSidebar && elerefSidebar.length > 0\r\n ? (elerefSidebar[0] as HTMLElement)\r\n : null;\r\n let content =\r\n elerefContent && elerefContent.length > 0\r\n ? (elerefContent[0] as HTMLElement)\r\n : null;\r\n let header =\r\n elerefHeader && elerefHeader.length > 0\r\n ? (elerefHeader[0] as HTMLElement)\r\n : null;\r\n\r\n if (isOpen) {\r\n if (sidebar) {\r\n sidebar.classList.add(\"custom-nav-sidebar-open\");\r\n sidebar.classList.remove(\"custom-nav-sidebar-close\");\r\n }\r\n if (content) {\r\n content.classList.add(\"custom-draw-content-open\");\r\n content.classList.remove(\"custom-draw-content-close\");\r\n }\r\n if (header) {\r\n header.classList.add(\"custom-header-content-open\");\r\n header.classList.remove(\"custom-header-content-close\");\r\n }\r\n } else {\r\n if (sidebar) {\r\n sidebar.classList.remove(\"custom-nav-sidebar-open\");\r\n sidebar.classList.add(\"custom-nav-sidebar-close\");\r\n }\r\n if (content) {\r\n content.classList.remove(\"custom-draw-content-open\");\r\n content.classList.add(\"custom-draw-content-close\");\r\n }\r\n if (header) {\r\n header.classList.remove(\"custom-header-content-open\");\r\n header.classList.add(\"custom-header-content-close\");\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n

{{\\\"notifications\\\"|translate}}

\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ doc.message }}\\r\\n \\r\\n  {{ doc.timeStamp | date:'MMM d, y, h:mm a' }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Loading more notifications...\\r\\n
\\r\\n
\\r\\n
{{\\\"no_notifications\\\"|translate}}
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"/*Header Right Side User Dropdown*/\\n.user-dropdown button {\\n background: no-repeat;\\n border: 0px;\\n padding: 0px;\\n width: 48px;\\n height: 48px; }\\n.user-dropdown button img {\\n width: 35px;\\n height: 35px;\\n border: 1px solid #ddd;\\n border-radius: 100px; }\\n.mat-menu-item,\\n.setting_menu button.mat-menu-item {\\n padding: 8px 10px;\\n height: auto;\\n line-height: inherit;\\n font-size: 13px;\\n color: #01385f;\\n font-weight: 500;\\n display: flex;\\n align-items: center;\\n font-family: 'Raleway', sans-serif; }\\n.setting_menu button span i {\\n font-size: 18px;\\n margin-right: 8px; }\\n/*Header Right Side User Dropdown*/\\n.bell-icon i,\\n.message_box .main-head i {\\n font-size: 22px;\\n color: #01385f; }\\n.no_noti {\\n width: 15px;\\n height: 15px;\\n /* background: #00bec9; */\\n background: #f70d1a;\\n z-index: 1;\\n position: absolute;\\n border-radius: 50%;\\n right: 5px;\\n top: 0px;\\n color: #fff;\\n font-size: 10px;\\n line-height: 15px;\\n font-weight: 600; }\\n.natification_box.mat-menu-panel {\\n overflow: hidden;\\n width: 250px; }\\n.natification_box .mat-menu-content {\\n margin: -8px 0; }\\n.natification_box .main-head {\\n background: #01385f;\\n border-bottom: 1px solid #ddd;\\n padding: 8px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center; }\\n.natification_box h3 {\\n margin: 0;\\n color: #fff;\\n font-size: 14px;\\n font-weight: 500; }\\n.natification_box button {\\n background: none;\\n border: 0;\\n padding: 0;\\n color: #fff;\\n font-size: 20px;\\n font-weight: 500;\\n line-height: 18px;\\n cursor: pointer; }\\n.natification_box .mat-menu-item {\\n line-height: normal !important;\\n min-height: auto !important;\\n border-bottom: 1px solid #ddd !important;\\n height: auto;\\n padding: 10px 8px;\\n font-size: 14px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center; }\\n.natification_box .unread-noti {\\n background-color: #f5f7f9 !important; }\\n.natification_box .mat-menu-item > div {\\n white-space: normal; }\\n.natification_box i.fa.fa-clock-o {\\n float: right;\\n right: 9px;\\n position: relative; }\\n.natification_box .mat-menu-item div span {\\n font-size: 11px;\\n color: rgba(0, 0, 0, 0.6);\\n padding-top: 5px; }\\n@media screen and (max-width: 500px) {\\n .no_noti {\\n right: 5px;\\n top: 0px;\\n font-size: 8px;\\n line-height: 12px;\\n font-weight: 600;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .user-dropdown button img {\\n width: 23px;\\n height: 23px; }\\n .user-dropdown button {\\n width: 30px;\\n height: 30px; } }\\n\"","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n ViewEncapsulation,\r\n ViewChild,\r\n ElementRef,\r\n EventEmitter,\r\n Output,\r\n} from \"@angular/core\";\r\n\r\nimport { SharedService } from \"../shared.service\";\r\nimport {\r\n HeaderInfo,\r\n MessageNotificationModel,\r\n NavItem,\r\n UserDocumentNotificationModel,\r\n} from \"../models\";\r\nimport { Router } from \"@angular/router\";\r\nimport { CommonService } from \"../../super-admin-portal/core/services\";\r\nimport * as moment from \"moment\";\r\nimport { ResponseModel } from \"src/app/super-admin-portal/core/modals/common-model\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-layout-super-admin-header\",\r\n templateUrl: \"super-admin-header.component.html\",\r\n styleUrls: [\"./super-admin-header.component.scss\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class SuperAdminHeaderComponent implements OnInit, OnChanges {\r\n @Input() headerInfo: HeaderInfo;\r\n @Output() eventChangePassword: EventEmitter = new EventEmitter();\r\n userInfo: any = {};\r\n userNavigations: NavItem[] = [];\r\n totalUnreadNotificationCount: number;\r\n messageNotifications: Array = [];\r\n documentNotifications: Array = [];\r\n notificationRead: number[] = [];\r\n notificationsURL = \"api/Notification/GetHeaderNotification\";\r\n MarkNotificationById = \"api/Notification/MarkNotificationById\";\r\n pageNumber: number = 1;\r\n loading: boolean;\r\n @ViewChild(\"scrollableContainer\") scrollableContainer!: ElementRef;\r\n constructor(\r\n private sharedService: SharedService,\r\n private commonService: CommonService,\r\n private router: Router,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnChanges(changes) {\r\n const headerInfo = changes.headerInfo || null;\r\n if (headerInfo && headerInfo.currentValue) {\r\n this.userInfo = headerInfo.currentValue.user;\r\n this.userNavigations = headerInfo.currentValue.userNavigations;\r\n }\r\n }\r\n\r\n onSelectUserMenu(item: NavItem) {\r\n switch (item.route) {\r\n case \"/webadmin/sign-out\":\r\n this.commonService.logout();\r\n sessionStorage.setItem(\"redirectTo\", \"/webadmin\");\r\n this.router.navigate([\"/webadmin\"]);\r\n location.reload();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (item.keyflag === \"changepassword\") {\r\n this.eventChangePassword.emit(\"changepassword\");\r\n return;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.getHeaderNotifications();\r\n }\r\n\r\n onScroll(event: any) {\r\n // console.log(\"loading outer.....\");\r\n\r\n // const scrollData = Math.round(event.target.scrollTop + event.target.clientHeight);\r\n // const scrollH = event.target.scrollHeight\r\n // console.log('event.target.scrollTop-->', event.target.scrollTop,\r\n // 'event.target.clientHeight-->', event.target.clientHeight,\r\n // 'event.target.scrollHeight', event.target.scrollHeight);\r\n // if ((scrollData >= scrollH) || (scrollData - 2 >= scrollH)) {\r\n const element = event.target;\r\n const scrollTop = element.scrollTop;\r\n const clientHeight = element.clientHeight;\r\n const scrollHeight = element.scrollHeight;\r\n\r\n if (scrollTop + clientHeight >= scrollHeight - 2) {\r\n // console.log(\r\n // \"event.target.scrollTop-->\",\r\n // event.target.scrollTop,\r\n // \"event.target.clientHeight-->\",\r\n // event.target.clientHeight,\r\n // \"event.target.scrollHeight\",\r\n // event.target.scrollHeight\r\n // );\r\n // console.log(\"loading inner.....\");\r\n this.loading = true;\r\n this.getHeaderNotifications();\r\n }\r\n }\r\n\r\n getHeaderNotifications() {\r\n this.commonService\r\n .getAllNotification(\r\n this.notificationsURL + `?pageNumber=${this.pageNumber}`,\r\n {},\r\n false\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response &&\r\n response.data != undefined &&\r\n response.statusCode == 200\r\n ) {\r\n // console.log(\r\n // \"notificationlist:\",\r\n // response.data.userDocumentNotification\r\n // );\r\n this.onReceiveNotification(response.data);\r\n this.pageNumber++;\r\n }\r\n });\r\n }\r\n onReceiveNotification(notificationResponse: any) {\r\n // this.totalUnreadNotificationCount = notificationResponse.unReadNotificationCount != undefined ?\r\n // notificationResponse.unReadNotificationCount.totalUnReadNotification : 0;\r\n\r\n this.messageNotifications =\r\n notificationResponse.messageNotification != undefined\r\n ? notificationResponse.messageNotification\r\n : [];\r\n\r\n const newDocumentNotifications =\r\n notificationResponse.userDocumentNotification != undefined\r\n ? notificationResponse.userDocumentNotification\r\n : notificationResponse.message != undefined\r\n ? [notificationResponse]\r\n : [];\r\n\r\n this.totalUnreadNotificationCount =\r\n notificationResponse.userDocumentNotification &&\r\n notificationResponse.userDocumentNotification.length > 0\r\n ? notificationResponse.userDocumentNotification[0].unReadNotificationCount\r\n : 0;\r\n this.loading = false;\r\n this.documentNotifications = [\r\n ...this.documentNotifications,\r\n ...newDocumentNotifications,\r\n ];\r\n // console.log(\r\n // \"documentNotiication lenght\",\r\n // this.documentNotifications.length\r\n // );\r\n this.documentNotifications.forEach((v) => {\r\n v.timeStamp = moment\r\n .utc(v.timeStamp)\r\n .local()\r\n .format(\"YYYY-MM-DD, h:mm a\");\r\n switch (v.type) {\r\n case \"UserInvitation\":\r\n v.notificationAction = v.type;\r\n v.message = v.message;\r\n\r\n // v.message = v.patientName + \" has requested appointment at \";\r\n break;\r\n\r\n case \"ChatMessage\":\r\n v.message = v.message;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n // markRead(notificationId:any) {\r\n // let filter=this.notificationRead.filter(d => d == notificationId);\r\n // if (filter && filter.length <= 0) {\r\n // this.commonService.postWithNoLoader(this.MarkNotificationById + '?id=' + notificationId, {}, false).subscribe((response: ResponseModel) => {\r\n // if (\r\n // response &&\r\n // response.data != undefined &&\r\n // response.statusCode == 200\r\n // ) {\r\n // this.notificationRead.push(notificationId);\r\n // }\r\n // });\r\n // }\r\n // }\r\n\r\n markRead(notification: any) {\r\n // console.log(\"readarray\",this.notificationRead)\r\n setTimeout(() => {\r\n if (!this.notificationRead.includes(notification.notificationId)) {\r\n if (notification.notificationId && notification.isActive === true) {\r\n this.commonService\r\n .postWithNoLoader(\r\n this.MarkNotificationById + \"?id=\" + notification.notificationId,\r\n {},\r\n false\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response &&\r\n response.data != undefined &&\r\n response.statusCode == 200\r\n ) {\r\n this.notificationRead.push(notification.notificationId);\r\n }\r\n });\r\n }\r\n }\r\n }, 1);\r\n }\r\n\r\n toggleSidenav() {\r\n this.sharedService.toggle();\r\n }\r\n}\r\n","module.exports = \"body {\\r\\n font-family: Arial, sans-serif;\\r\\n margin: 20px;\\r\\n padding: 20px;\\r\\n background-color: #ffffff;\\r\\n}\\r\\n\\r\\n.heading_letter {\\r\\n background: #fff;\\r\\n color: #01385f;\\r\\n font-size: 22px !important;\\r\\n font-weight: 600 !important;\\r\\n line-height: 20px !important;\\r\\n padding: 0 20px;\\r\\n text-transform: uppercase;\\r\\n margin: 0px 0px 20px 0px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n box-shadow: 2px 2px 10px rgba(23, 162, 184, 0.2);\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n::marker {\\r\\n color: #01385f;\\r\\n font-size: 22px;\\r\\n}\\r\\n\\r\\np.para_two {\\r\\n margin: 0 0 8px 0;\\r\\n padding: 0 10px;\\r\\n}\\r\\n\\r\\n.instruction {\\r\\n background: white;\\r\\n padding: 5px;\\r\\n border-radius: 5px;\\r\\n box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.step {\\r\\n font-weight: 600;\\r\\n background: #01385f;\\r\\n font-size: 16px;\\r\\n color: #ffffff;\\r\\n padding: 12px 20px;\\r\\n border-radius: 5px;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\nh6 {\\r\\nmargin: 0;\\r\\npadding: 0 0 0 10px;\\r\\nfont-size: 16px;\\r\\ncolor: #01385f;\\r\\nmargin-top: 20px;\\r\\n}\\r\\n\\r\\n/* ul {\\r\\n padding-left: 20px;\\r\\n} */\\r\\n\\r\\nli {\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\np.para {\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.para_head {\\r\\n font-weight: 600;\\r\\n color: #01385f;\\r\\n margin: 0;\\r\\n padding: 10px;\\r\\n\\r\\n}\\r\\n\\r\\n\"","module.exports = \"
\\r\\n

Letter Templates Simplified : A Step-by-Step Guide\\r\\n\\r\\n \\\"Watermark\\\"\\r\\n

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

How to create and use Letter Templates

\\r\\n

The method is like creating a fill-in-the-blank letter that you can use as a reusable template\\r\\n in the future.\\r\\n You can create multiple templates based on your usual and common needs and you would only have to fill in\\r\\n information that changes

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

Features of a Letter Template

\\r\\n

The template is a set letter that you often need similar text to use, the text will contain\\r\\n placeholders/keywords and they will be inserted between the two curly brackets {{ }}. You fill in these\\r\\n placeholders/keywords value with different information each time you use the template. This way, you don't\\r\\n have to write the whole letter from scratch every time!\\r\\n Uses can be variable, surgical report, referral letter, sick leave, appointment instructions …etc

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

Creating Your Template:

\\r\\n

Go to the \\\"Template Letter\\\" section: click on the “template letter” button

\\r\\n
    \\r\\n
  • Formulating the text: Start writing your letter like you normally would, but add keywords/placeholders\\r\\n by having them in the middle of the brackets {{}}, example {{ patient name }} for information that might\\r\\n change each time you use the letter.
  • \\r\\n
  • Create placeholders: For the placeholders/keywords, use double curly braces like this: {{ }} Inside the\\r\\n curly braces, write what information goes there. For example:\\r\\n

    For a name: {{patient name}}

    \\r\\n

    For a date: {{appointment date}}

    \\r\\n

    For a doctor's name: {{doctor name}}

    \\r\\n
  • \\r\\n
  • Don't include endings such as \\\"Sincerely\\\" or \\\"Best regards\\\" at the end, as the system will automatically\\r\\n generate them for you.
  • \\r\\n
\\r\\n

Example Template

\\r\\n

Here's what a finished template might look like:\\r\\n

\\r\\n

Dear {{ patient name }}

\\r\\n

I hope you're doing well! This letter is to confirm your appointment.

\\r\\n
Here are the details:
\\r\\n
    \\r\\n
  • Date: {{ appointment date }}
  • \\r\\n
  • Time: {{ appointment time }}
  • \\r\\n
  • Doctor: Dr. {{ doctor name }}
  • \\r\\n
  • Please arrive {{ arrival time }} minutes early to complete any necessary paperwork.\\r\\n If you need to change your appointment, please call us at {{ clinic phone number }};.\\r\\n We look forward to seeing you!
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n

Using Your Template

\\r\\n
    \\r\\n
  • Find your template: Go to Letter template section and choose the one you want to use.
  • \\r\\n
  • Click \\\"Generate Letter\\\": Look for a button that says \\\"Generate Letter\\\" and click it.
  • \\r\\n
  • You'll see a form with fields to fill in the value of placeholders/keywords that you have created at the\\r\\n time of template creation. These match the placeholders you created in your template. Type in the\\r\\n correct information for each field.
  • \\r\\n
  • Watch it change as you type, you'll see your letter change on the screen. The information you type\\r\\n replaces the placeholders in real-time!
  • \\r\\n
  • Double-check everything: Make sure all the information is correct and the letter looks good.
  • \\r\\n
  • Send your letter: Once everything is finalized, press the \\\"Save\\\" button to send the letter. If the\\r\\n letter belongs to a patient, it will be saved in the patient’s documents and the Letters tab. Otherwise,\\r\\n it will be sent via email to the intended recipient, such as providers, staff, or other users.
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n

Important Tips to Remember

\\r\\n
    \\r\\n
  • Always use double curly braces {{ }} for your placeholders.
  • \\r\\n
  • Make your placeholder names clear and easy to understand.
  • \\r\\n
  • You can create as many templates as you need for different types of letters.
  • \\r\\n
  • If you make a mistake, don't worry! You can always edit your template or start again.
  • \\r\\n
\\r\\n
\\r\\n

That's it! You're now ready to create and use your own letter templates like a pro. If you have any questions,\\r\\n don't hesitate to ask for help. You can create a support ticket by navigating to the Help Desk section.

\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-letter-template-guidence-popup',\r\n templateUrl: './letter-template-guidence-popup.component.html',\r\n styleUrls: ['./letter-template-guidence-popup.component.css']\r\n})\r\nexport class LetterTemplateGuidencePopupComponent implements OnInit {\r\n\r\n sign = \"{{\";\r\n signend = \"}}\"\r\n constructor(private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,) { }\r\n\r\n ngOnInit() {\r\n }\r\n closeDialog() {\r\n this.dialogModalRef.close();\r\n }\r\n}\r\n","module.exports = \".chart-container {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.overlay-button {\\r\\n position: absolute;\\r\\n top: -25px;\\r\\n right: -9px;\\r\\n z-index: 10;\\r\\n background-color: white;\\r\\n color: #0bc1ca;\\r\\n border: none;\\r\\n padding: 5px 10px\\r\\n}\"","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-line-chart',\r\n templateUrl: './line-chart.component.html',\r\n styleUrls: ['./line-chart.component.css']\r\n})\r\nexport class LineChartComponent implements OnInit {\r\n @Input() lineChartData: any[];\r\n @Input() lineChartLabels: any[];\r\n @Output() clearAllChange: EventEmitter = new EventEmitter();\r\n public translatedLineChartData: any[] = [];\r\n public lineChartType: string = 'line';\r\n constructor(private translate: TranslateService) {\r\n this.lineChartData = [];\r\n this.lineChartLabels = [];\r\n }\r\n ngOnInit() {\r\n\r\n // console.log(this.lineChartData, \"line chart data\");\r\n // console.log(this.lineChartLabels, \"line chart labels\");\r\n // Translate labels and datasets on initialization\r\n this.translateChartData();\r\n\r\n this.translate.onLangChange.subscribe(() => {\r\n this.translateChartData();\r\n });\r\n\r\n\r\n }\r\n\r\n removeVitealFilter = () => {\r\n this.clearAllChange.emit();\r\n }\r\n\r\n\r\n translateChartData() {\r\n\r\n // Translate datasets\r\n this.translatedLineChartData = this.lineChartData.map(dataset => ({\r\n ...dataset,\r\n label: this.translate.instant(dataset.label),\r\n }));\r\n\r\n }\r\n\r\n\r\n}\r\n","module.exports = \".frgtpwd a {\\r\\n color: #01385f !important;\\r\\n cursor: pointer;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter username\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter password\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Forgot Password?\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n Not a member? Sign Up now\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AuthenticationService } from \"src/app/platform/modules/auth/auth.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { MatDialogRef, MatDialog } from \"@angular/material/dialog\";\r\nimport { RegisterModelComponent } from \"src/app/shared/register-model/register.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-agency-login\",\r\n templateUrl: \"./agency-login.component.html\",\r\n styleUrls: [\"./agency-login.component.css\"],\r\n})\r\nexport class AgencyLoginModelComponent implements OnInit {\r\n loginForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n subDomainInfo: any;\r\n errorMessage: string = null;\r\n ipAddress: string;\r\n loginResponse: any = null;\r\n isShowPassword: boolean = false;\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private commonService: CommonService,\r\n private dialogModal: MatDialog,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n dialogModalRef.disableClose = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.sytemInfo.subscribe((obj) => {\r\n this.ipAddress = obj.ipAddress;\r\n });\r\n this.loginForm = this.formBuilder.group({\r\n username: [\"\", Validators.required],\r\n password: [\"\", Validators.required],\r\n });\r\n\r\n // reset login status\r\n //this.commonService.logout();\r\n\r\n // get return url from route parameters or default to '/'\r\n // this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\r\n //this.returnUrl = \"web/dashboard\";\r\n }\r\n\r\n // convenience getter for easy access to form fields\r\n get f() {\r\n return this.loginForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.errorMessage = null;\r\n\r\n const postData = {\r\n username: this.f.username.value.trim(),\r\n password: this.f.password.value.trim(),\r\n ipaddress: this.ipAddress,\r\n macaddress: \"ec:aa:a0:2d:dc:67\",\r\n };\r\n this.authenticationService\r\n .login(postData)\r\n .pipe(first())\r\n .subscribe(\r\n (response) => {\r\n this.loginResponse = response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n this.errorMessage = response.message;\r\n this.loading = false;\r\n } else if (response.statusCode === 205) {\r\n this.errorMessage = response.message;\r\n this.loading = false;\r\n } else {\r\n this.commonService.setIsPatient(true);\r\n this.closeDialog({\r\n response: this.loginResponse,\r\n isPatient: false,\r\n });\r\n }\r\n // else {\r\n // this.router.navigate([\"/web/security-question\"]);\r\n // }\r\n },\r\n (error) => {\r\n // console.log(error);\r\n // this.alertService.error(error);\r\n this.errorMessage = error;\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n openDialogRegister() {\r\n this.closeDialog(null);\r\n let dbModal;\r\n dbModal = this.dialogModal.open(RegisterModelComponent, { data: {} });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") {\r\n }\r\n });\r\n }\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n forgetPassword() {\r\n this.closeDialog(\"\");\r\n this.router.navigateByUrl(\"/web/forgot-password\");\r\n }\r\n}\r\n","module.exports = \".frgtpwd a {\\r\\n color: #01385f !important;\\r\\n cursor: pointer;\\r\\n}\\r\\nbutton.example-full-width.login-btn.mat-raised-button.mat-primary {\\r\\n box-shadow: none;\\r\\n border-radius: 10px;\\r\\n line-height: 45px;\\r\\n}\\r\\n.algn .mat-input-element{\\r\\n width:95% !important;\\r\\n }\"","module.exports = \"
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Please enter username'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Please enter password'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n {{'Not a member'|translate }} {{'Sign Up now'|translate }}\\r\\n
\\r\\n\\r\\n
\\r\\n
\"","import { NotifierService } from \"angular-notifier\";\r\nimport { MatDialogRef, MatDialog } from \"@angular/material\";\r\nimport { Component, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AuthenticationService } from \"src/app/platform/modules/auth/auth.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { RegisterModelComponent } from \"src/app/shared/register-model/register.component\";\r\nimport { SecurityQuestionModelComponent } from \"../../security-question-model/security-question-model.component\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-client-login\",\r\n templateUrl: \"./client-login.component.html\",\r\n styleUrls: [\"./client-login.component.css\"]\r\n})\r\nexport class ClientLoginModelComponent implements OnInit {\r\n loginForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n subDomainInfo: any;\r\n errorMessage: string = null;\r\n ipAddress: string;\r\n isShowPassword: boolean = false;\r\n\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private commonService: CommonService,\r\n private dialogModal: MatDialog,\r\n private notifier: NotifierService,\r\n private translate:TranslateService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n dialogModalRef.disableClose = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.sytemInfo.subscribe(obj => {\r\n this.ipAddress = obj.ipAddress;\r\n });\r\n this.loginForm = this.formBuilder.group({\r\n username: [\"\", Validators.required],\r\n password: [\"\", Validators.required]\r\n });\r\n\r\n // reset login status\r\n //this.commonService.logout();\r\n\r\n // get return url from route parameters or default to '/'\r\n // this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\r\n this.returnUrl = \"web/client/dashboard\";\r\n }\r\n\r\n // convenience getter for easy access to form fields\r\n get f() {\r\n return this.loginForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.errorMessage = null;\r\n\r\n const postData = {\r\n username: this.f.username.value,\r\n password: this.f.password.value,\r\n ipaddress: this.ipAddress,\r\n macaddress: \"ec:aa:a0:2d:dc:67\"\r\n };\r\n this.authenticationService\r\n .clientLogin(postData)\r\n .pipe(first())\r\n .subscribe(\r\n response => {\r\n \r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n this.errorMessage = response.message;\r\n this.loading = false;\r\n } else if (response.statusCode === 205) {\r\n this.errorMessage = response.message;\r\n this.loading = false;\r\n } else if (response.firstTimeLogin == true)\r\n {\r\n this.openDialogSecurityQuestion();\r\n this.router.navigate([this.returnUrl]);\r\n }else {\r\n this.commonService.setIsPatient(true);\r\n \r\n this.notifier.notify(\r\n \"success\",\r\n \"Login successfully, You have other menu choices soon after clicking picture\"\r\n );\r\n this.closeDialog({\r\n response: response,\r\n isPatient: true\r\n });\r\n //this.router.navigate([\"/doctor-list\"]);\r\n }\r\n },\r\n error => {\r\n // console.log(error);\r\n // this.alertService.error(error);\r\n this.errorMessage = error;\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n openDialogSecurityQuestion(){\r\n this.closeDialog(null);\r\n let dbModal;\r\n dbModal = this.dialogModal.open(SecurityQuestionModelComponent, {\r\n hasBackdrop: true,\r\n data:{}\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") {\r\n }\r\n });\r\n }\r\n openDialogRegister() {\r\n this.closeDialog(null);\r\n let dbModal;\r\n dbModal = this.dialogModal.open(RegisterModelComponent, {hasBackdrop: true, data: {} });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") {\r\n }\r\n });\r\n }\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n forgetPassword() {\r\n this.closeDialog(\"\");\r\n this.router.navigateByUrl(\"/web/forgot-password\");\r\n }\r\n}\r\n\r\n\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 10px !important;\\r\\n overflow: hidden;\\r\\n}\\r\\n.mat-form-field {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n.telelogin {\\r\\n /* max-width: 60vw; */\\r\\n font-family: 'Raleway', sans-serif;\\r\\n padding: 0px 15px 0px 15px;\\r\\n position: relative;\\r\\n}\\r\\n.fa.fa-close {\\r\\n position: absolute;\\r\\n right: -10px;\\r\\n top: -10px;\\r\\n z-index: 9;\\r\\n width: 30px ;\\r\\n height: 30px;\\r\\n border-radius: 50%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n color: #fff;\\r\\n background-color: #01385f;\\r\\n}\\r\\n.tele-bg {\\r\\n background-image: url('tele-login-bg.jpg');\\r\\n background-repeat: no-repeat;\\r\\n background-size: cover;\\r\\n background-position: center;\\r\\n position: relative;\\r\\n color: #fff;\\r\\n z-index: 0;\\r\\n padding: 30px 15px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n.tele-bg:before {\\r\\n background-color: rgba(1, 74, 113, 0.7);\\r\\n position: absolute;\\r\\n left: 0;\\r\\n height: 100%;\\r\\n top: 0;\\r\\n content: \\\"\\\";\\r\\n z-index: -1;\\r\\n width: 100%;\\r\\n}\\r\\n.telelogin h3 {\\r\\n font-size: 16px;\\r\\n margin: 20px 0px;\\r\\n}\\r\\n.tele-bg p {\\r\\n color: #fff;\\r\\n}\\r\\n.telelogin .mat-tab-nav-bar,\\r\\n.telelogin .mat-tab-header {\\r\\n border: 0;\\r\\n}\\r\\n.telelogin .mat-tab-list .mat-tab-label {\\r\\n margin: 0px;\\r\\n border: 0px;\\r\\n padding: 0px 15px 0px 0px;\\r\\n height: auto;\\r\\n position: relative;\\r\\n}\\r\\n.telelogin .mat-tab-list .mat-tab-label:first-child:before {\\r\\n position: absolute;\\r\\n content: \\\"/\\\";\\r\\n right: 5px;\\r\\n color: rgba(0, 0, 0, 0.44);\\r\\n}\\r\\n.telelogin .mat-tab-list .mat-tab-label .mat-tab-label-content {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n color: rgba(0, 0, 0, 0.44);\\r\\n}\\r\\n.telelogin .mat-tab-list .mat-tab-label.mat-tab-label-active,\\r\\n.mat-tab-list .mat-tab-label:hover {\\r\\n background-color: #fff !important;\\r\\n}\\r\\n.telelogin\\r\\n .mat-tab-list\\r\\n .mat-tab-label.mat-tab-label-active\\r\\n .mat-tab-label-content {\\r\\n color: #63d891;\\r\\n}\\r\\n.telelogin-form h3 {\\r\\n margin: 0px;\\r\\n}\\r\\n.telelogin-form i {\\r\\n font-size: 15px;\\r\\n /* color: rgba(0, 0, 0, 0.2); */\\r\\n cursor: pointer;\\r\\n}\\r\\n.frgtpwd {\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n.frgtpwd a {\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n.member-link {\\r\\n padding-top: 30px;\\r\\n padding-bottom: 20px;\\r\\n font-size: 13px;\\r\\n}\\r\\n.member-link span {\\r\\n color: #01385f;\\r\\n cursor: pointer;\\r\\n}\\r\\n.member-link span:hover {\\r\\n text-decoration: underline;\\r\\n}\\r\\n.mat-tab-list .mat-ripple-element {\\r\\n display: none;\\r\\n}\\r\\n.cdk-overlay-pane {\\r\\n min-width: auto ;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{'welcome'|translate }}

\\r\\n

{{'Login to your account'|translate }}

\\r\\n

{{'discover_best_doctors'|translate}}

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

Sign in

\\r\\n \\r\\n
\\r\\n \\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, ViewEncapsulation, Inject } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\n\r\n@Component({\r\n selector: \"app-login-model\",\r\n templateUrl: \"./login-model.component.html\",\r\n styleUrls: [\"./login-model.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LoginModelComponent implements OnInit {\r\n // profileTabs: any = [\"Agency\", \"Client\"];\r\n //profileTabs: any = [\"Provider\", \"Client\"]; //Agencyremove\r\n profileTabs: any = [\"Client\"];\r\n selectedIndex: number = 0;\r\n \r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef\r\n ) {\r\n dialogModalRef.disableClose = true;\r\n if (this.data != null && this.data != \"\" && this.data != undefined)\r\n if (\r\n this.data.selectedIndex != null &&\r\n this.data.selectedIndex != \"\" &&\r\n this.data.selectedIndex != undefined\r\n )\r\n this.selectedIndex = this.data.selectedIndex;\r\n }\r\n\r\n ngOnInit() {}\r\n loadComponent(eventType: any): any {\r\n this.selectedIndex = eventType.index;\r\n }\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n}\r\n","import { FilterModel } from \"src/app/platform/modules/core/modals/common-model\";\r\n\r\nexport class CallInitModel {\r\n CallStatus: number = 0;\r\n AppointmentId: number = 0;\r\n CallerName: string = \"\";\r\n}\r\nexport enum CallStatus {\r\n NoCall = 0,\r\n Started = 1,\r\n Picked = 2,\r\n Declined = 3,\r\n Over = 4,\r\n}\r\nexport enum PaymentStatusEnum {\r\n Paid = 1,\r\n Pending = 2,\r\n Free = 3,\r\n //[Description(\"Faill due to errors\")]//this can be in hyper pay payment status\r\n Failed = 4\r\n}\r\nexport enum PaymentModeEnum {\r\n HyperPay = 1,\r\n Free = 2,\r\n EFawateercom = 3\r\n}\r\nexport enum RefundPaymentStatusEnum {\r\n Complete = 1,\r\n Pending = 2,\r\n Failed = 3,\r\n NotPossible = 4//payment is not in the cancellation policy.\r\n}\r\nexport enum StaffPaymentStatusEnum {\r\n Yes = 1,\r\n No = 2,\r\n}\r\n\r\nexport class UrgentCareProviderActionInitModel {\r\n AppointmentId: number = 0;\r\n}\r\nexport class AddUpdateUserBankDetailsModal {\r\n userBankDetailsId: number = 0\r\n userId: number = 0\r\n accountHolderName: string = \"\"\r\n accountId: string = \"\"\r\n bankIdBIC: string = \"\"\r\n IsViewOnly:boolean=false\r\n}\r\nexport class GetUserDetailsRequest {\r\n StaffId: number = null\r\n PatientId: number = null\r\n\r\n}\r\nexport class GetAllUserBankDetails extends FilterModel {\r\n UserId: number = 0\r\n ShowOnlyDefault : boolean =null\r\n}\r\n\r\n","export class ChatInitModel {\r\n isActive: boolean = false;\r\n AppointmentId: number = 0; //You can replace same with room id,\r\n UserRole: string = \"\";\r\n UserId: number = 0;\r\n}\r\n","export class VideoRecordModel {\r\n isRecording: boolean = false;\r\n archiveId: string = \"\";\r\n}\r\n","import { FormControl } from '@angular/forms';\r\n\r\nexport interface ValidationResult {\r\n [key: string]: boolean;\r\n}\r\n\r\nexport class PasswordValidator {\r\n\r\n public static strong(control: FormControl): ValidationResult {\r\n let hasNumber = /\\d/.test(control.value);\r\n let hasUpper = /[A-Z]/.test(control.value);\r\n let hasLower = /[a-z]/.test(control.value);\r\n let hasSpecialChar = /[$&+,:;=?@#|'<>.^*()%!-]/.test(control.value);\r\n // console.log('Num, Upp, Low', hasNumber, hasUpper, hasLower);\r\n const valid = hasNumber && hasUpper && hasLower && hasSpecialChar;\r\n if (!valid) {\r\n // return what´s not valid\r\n return { strong: true };\r\n }\r\n return null;\r\n }\r\n}","module.exports = \"main {\\r\\n padding: 1em;\\r\\n font-family: Arial, Helvetica, sans-serif;\\r\\n text-align: center;\\r\\n margin-top: 50px;\\r\\n display: block;\\r\\n color: greenyellow;\\r\\n}\\r\\n\\r\\nlabel {\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.upload-drop-zone {\\r\\n height: 200px;\\r\\n border-width: 2px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n/* skin.css Style*/\\r\\n\\r\\n.upload-drop-zone {\\r\\n color: #ccc;\\r\\n border-style: dashed;\\r\\n border-color: #ccc;\\r\\n line-height: 200px;\\r\\n text-align: center\\r\\n}\\r\\n\\r\\n.upload-drop-zone.drop {\\r\\n color: #222;\\r\\n border-color: #222;\\r\\n}\\r\\n\\r\\n.browse-doc {\\r\\n border-radius: 0px;\\r\\n}\\r\\n\\r\\n.browse-doc .browse {\\r\\n line-height: normal;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding: 10px 0px;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n padding-right: 15px;\\r\\n filter: grayscale(100%);\\r\\n -webkit-filter: grayscale(100%);\\r\\n opacity: 0.8;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.uploading-data p {\\r\\n width: 90%;\\r\\n font-size: 14px;\\r\\n color: rgba( 0, 0, 0, 0.80);\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.custom_modal {\\r\\n height: 400px;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions {\\r\\n padding: 15px 18px !important;\\r\\n}\\r\\n\\r\\n.uplaod_pic i {\\r\\n font-size: 24px;\\r\\n}\\r\\n\\r\\n.cancel-btn {\\r\\n background-color: #fff;\\r\\n color: #01385f !important;\\r\\n min-width: 80px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #01385f;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.ml-auto,\\r\\n.mat-dialog-actions .mat-primary {\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n.tbactionbtn .fa {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #2f2660;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 0px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions {\\r\\n display: block !important;\\r\\n}\\r\\n\\r\\n.txt-css {\\r\\n font-size: 22px;\\r\\n font-weight: 500;\\r\\n color: #2f2660;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n

Sorry!

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

Requested provider is not available now, your money will be refunded in a couple of business days, please check another provider

\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\"","import { Component, Inject, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { CallInitModel, CallStatus, UrgentCareProviderActionInitModel } from \"../models/callModel\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { SchedulerService } from \"src/app/platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\n\r\n@Component({\r\n selector: \"app-urgentcare-status\",\r\n templateUrl: \"./patient-urgentcare-status.component.html\",\r\n styleUrls: [\"./patient-urgentcare-status.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PatientUrgentCareStatusComponent implements OnInit {\r\n userId: number = null;\r\n appointmentId: number;\r\n masterDocumentTypes: any = []\r\n //addDocumentForm: FormGroup;\r\n fileList: any = [];\r\n dataURL: any;\r\n submitted: boolean = false;\r\n todayDate = new Date();\r\n constructor(private dialogModalRef: MatDialogRef,\r\n private router: Router,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService, private schedulerService: SchedulerService, private commonService: CommonService,private appService: AppService, private Dailog: MatDialog) {\r\n \r\n this.appointmentId = this.data;\r\n }\r\n \r\n ngOnInit() {\r\n \r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userId = user.data.userID;\r\n \r\n }\r\n });\r\n }\r\n \r\n \r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action); \r\n }\r\n\r\n onDoneClick() {\r\n //this.dialogModalRef.close(\"close\");\r\n this.Dailog.closeAll();\r\n //this.router.navigate([\"/urgentcare-providers\"]);\r\n }\r\n\r\n\r\n onAccept(){\r\n \r\n this.router.navigate([\"/web/encounter/soap\"], {\r\n queryParams: {\r\n apptId: this.appointmentId,\r\n encId: 0\r\n },\r\n });\r\n // this.router.navigate([\"/web/waiting-room/\"+this.appointmentId]);\r\n // this.dialogModalRef.close();\r\n }\r\n \r\n onReject(){\r\n \r\n this.schedulerService\r\n .urgentCareRefundAppointmentFee(this.appointmentId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n \r\n this.callPatientInformProviderAvailability(this.appointmentId);\r\n } else {\r\n \r\n }\r\n });\r\n }\r\n \r\n\r\n callPatientInformProviderAvailability(pateintapptid:number){\r\n \r\n if (pateintapptid > 0 && this.userId > 0) {\r\n this.appService\r\n .getcallPatientInformProviderAvailability(pateintapptid, this.userId)\r\n .subscribe((res) => {\r\n // console.log(res);\r\n });\r\n }\r\n // let callInitModel: UrgentCareProviderActionInitModel = new UrgentCareProviderActionInitModel();\r\n // callInitModel.AppointmentId = pateintapptid;\r\n // //callInitModel.CallStatus = CallStatus.Picked;\r\n // this.appService.ProviderActioncallStarted(callInitModel);\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

{{InputData.PaymentType|translate}}

\\r\\n
\\r\\n
\\r\\n \\r\\n Payment Status : {{InputData.PaymentStatus}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Payment Description : {{InputData.PaymentDescription}}\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, Inject, Input, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-payment-status-dialog',\r\n templateUrl: './payment-status-dialog.component.html',\r\n styleUrls: ['./payment-status-dialog.component.css']\r\n})\r\nexport class PaymentStatusDialogComponent implements OnInit {\r\n\r\n constructor(private _dialogModal: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public InputData: PaymentStatusDialogComponentInput) { }\r\n\r\n ngOnInit() {\r\n }\r\n close(){\r\n this._dialogModal.close();\r\n }\r\n\r\n}\r\nexport class PaymentStatusDialogComponentInput{\r\n PaymentStatus:string='';\r\n PaymentDescription:string='';\r\n PaymentType:string=''\r\n}\r\n","module.exports = \"\"","module.exports = \"

\\r\\n payment-success-test works!\\r\\n

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { SchedulerService } from 'src/app/platform/modules/scheduling/scheduler/scheduler.service';\r\n\r\n@Component({\r\n selector: 'app-payment-success-test',\r\n templateUrl: './payment-success-test.component.html',\r\n styleUrls: ['./payment-success-test.component.css']\r\n})\r\nexport class PaymentSuccessTestComponent implements OnInit {\r\n PaymentToken: any;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private schedulerService: SchedulerService,\r\n ) { \r\n this.route.queryParams.subscribe((params) => {\r\n this.PaymentToken = params[\"id\"];\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n // console.log(this.PaymentToken);\r\n this.getPaymentStatus()\r\n }\r\n\r\n\r\n getPaymentStatus=()=>{\r\n ;\r\n this.schedulerService.HyperPayPaymentStatus(this.PaymentToken).subscribe((res)=>{\r\n // console.log(res);\r\n \r\n })\r\n }\r\n\r\n}\r\n","module.exports = \"/* .country-field {\\r\\n position: absolute !important;\\r\\n left: inherit !important;\\r\\n top: inherit !important;\\r\\n width: 100% !important;\\r\\n} */\\r\\n::ng-deeep .mat-select-trigger {\\r\\n border: 1px solid #ddd;\\r\\n }\\r\\n::ng-deeep .country-field .mat-form-field .mat-form-field-infix, ::ng-deeep .country-field .mat-form-field .mat-select {\\r\\n width: 100% !important;\\r\\n \\r\\n }\\r\\n::ng-deep .mat-form-field-wrapper {\\r\\n padding: 0;\\r\\n }\\r\\n::ng-deep .mat-form-field .mat-form-field-infix, ::ng-deep .mat-form-field .mat-select {\\r\\n width: 100% !important;\\r\\n font-size: 15px !important;\\r\\n}\\r\\n.mat-form-field {\\r\\n width:100% !important;\\r\\n}\\r\\n::ng-deep .mat-form-field-wrapper {\\r\\n padding: 0 !important;\\r\\n}\\r\\n::ng-deep .mat-form-field-infix {\\r\\n border: none !important;\\r\\n padding: 0 !important;\\r\\n}\\r\\n::ng-deep .countrrry_code .mat-form-field-label-wrapper {\\r\\n display: none !important;\\r\\n}\"","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ setCountryCode || 'Select country code' }}\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n {{ country.text | translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { FormControl, FormGroup } from \"@angular/forms\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-phone-number\",\r\n templateUrl: \"./phone-number.component.html\",\r\n styleUrls: [\"./phone-number.component.css\"],\r\n})\r\nexport class PhoneNumberComponent implements OnInit {\r\n allCountries: Array = [];\r\n filterCountry: Array = [];\r\n inputSearch;\r\n @Input() countryId: number;\r\n @Input() selectedCountryPhoneCode: string;\r\n @Input() index: number = -1;\r\n @Output() phoneCodeChangeEvent = new EventEmitter();\r\n setCountryCode: string='';\r\n myFormGroup: FormGroup;\r\n @ViewChild(\"someRef\") someRef;\r\n\r\n constructor(\r\n private userservice: UsersService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n ngOnInit() {\r\n this.bindCountryList();\r\n }\r\n\r\n public selectedDataValue(event: any) {\r\n if (this.someRef) this.someRef.nativeElement.focus();\r\n }\r\n bindCountryList() {\r\n this.userservice\r\n .getCountriesPhoneCode(this.countryId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 302) {\r\n this.allCountries = response.data;\r\n this.filterCountry = response.data;\r\n // console.log(response.data);\r\n if (this.selectedCountryPhoneCode != undefined) {\r\n if (this.selectedCountryPhoneCode != \"0\") {\r\n this.setCountryCode = this.selectedCountryPhoneCode.includes(\"+\")\r\n ? this.selectedCountryPhoneCode\r\n : \"+\" + this.selectedCountryPhoneCode;\r\n this.setCountryCode = this.setCountryCode\r\n .replace(\"(\", \"\")\r\n .replace(\")\", \"\");\r\n }\r\n }\r\n } else {\r\n this.allCountries = [];\r\n }\r\n });\r\n }\r\n onSelect(event: any) {\r\n this.setCountryCode = event;\r\n if (this.index == -1) {\r\n this.phoneCodeChangeEvent.emit(event + \" \");\r\n } else {\r\n this.phoneCodeChangeEvent.emit(event + \" _\" + this.index);\r\n }\r\n }\r\n bindCountryCode(phoneCode: string) {\r\n this.setCountryCode = \"\";\r\n this.setCountryCode = phoneCode.includes(\"+\") ? phoneCode : \"+\" + phoneCode;\r\n this.setCountryCode = this.setCountryCode.replace(\"(\", \"\").replace(\")\", \"\");\r\n }\r\n\r\n onKey = (e) => {\r\n this.filterCountry = this.allCountries.filter((country) => {\r\n return country.text.toLowerCase().indexOf(e.toLowerCase()) != -1;\r\n });\r\n };\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"chatMessage\",\r\n})\r\nexport class ChatMessagePipe implements PipeTransform {\r\n imageExtension = [\".jpg\", \".JPG\", \".png\", \".PNG\", \".jpeg\", \".JPEG\"];\r\n transform(value: any, args?: any): any {\r\n if (args.messageType == 0) return value;\r\n else {\r\n var imgIndex = this.imageExtension.indexOf(args.fileType);\r\n if (imgIndex > -1) return '';\r\n else return \"\";\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"encounter\"\r\n})\r\nexport class EncounterPipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n let row = value;\r\n if (\r\n row != null &&\r\n row.patientEncounterId != null &&\r\n row.patientEncounterId != undefined &&\r\n row.patientEncounterId > 0\r\n )\r\n return ``;\r\n else return \"\";\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\n\r\n@Pipe({\r\n name: 'invitationStatus',\r\n pure: true // Keeps the pipe performant\r\n})\r\nexport class InvitationStatusPipe implements PipeTransform {\r\n constructor(private translate: TranslateService) {}\r\n\r\n transform(value: any): Observable {\r\n value = (value || '').trim();\r\n\r\n const className = `user-invitation-${value.toLowerCase()}`;\r\n const language = localStorage.getItem('language') || 'en';\r\n\r\n this.translate.setDefaultLang(language);\r\n this.translate.use(language);\r\n\r\n // Use the translate service as an observable and map the result\r\n return this.translate.get(value).pipe(\r\n map((translatedText: string) => `${translatedText}`),\r\n catchError(()=>{\r\n return of(`${value}`);\r\n })\r\n );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"rating\"\r\n})\r\nexport class RatingPipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n // var html='';\r\n return value;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'span'\r\n})\r\nexport class SpanPipe implements PipeTransform {\r\n constructor(private sanitizer:DomSanitizer)\r\n {\r\n }\r\n transform(value: any, type?: any): any {\r\n value = (value || '').trim();\r\n \r\n return this.sanitizer.bypassSecurityTrustHtml(``)\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { catchError, map } from \"rxjs/operators\";\r\n\r\n@Pipe({\r\n name: \"status\"\r\n})\r\nexport class StatusPipe implements PipeTransform {\r\n constructor(private translate: TranslateService) {}\r\n // transform(value: any, type?: any): Observable {\r\n // let updatedValue = \"\",\r\n // className = \"\";\r\n // if (typeof value == \"boolean\") {\r\n // (updatedValue = value ? \"Yes\" : \"No\"),\r\n // (className = value ? \"greenfont\" : \"orangefont\");\r\n // if (Array.isArray(type) && type.length == 2) {\r\n // updatedValue = value ? type[0] : type[1];\r\n // }\r\n // } else if (typeof value == \"string\") {\r\n // className = \"\";\r\n // const maxLen = type;\r\n // updatedValue =\r\n // value.length > maxLen ? value.substring(0, maxLen) + \"...\" : value;\r\n // }\r\n // const language = localStorage.getItem('language') || 'en';\r\n\r\n // this.translate.setDefaultLang(language);\r\n // this.translate.use(language);\r\n \r\n // return this.translate.get(updatedValue).pipe(\r\n // map((translatedText: string) => `${translatedText}`),\r\n // catchError(()=>{\r\n // return of(`${value}`);\r\n // })\r\n // );\r\n // }\r\n\r\n\r\n\r\n transform(value: any, type?: any): Observable {\r\n if (value === null || value === undefined) {\r\n return of(\"\"); \r\n }\r\n\r\n let updatedValue = \"\";\r\n let className = \"\";\r\n\r\n if (typeof value === \"boolean\") {\r\n updatedValue = value ? \"Yes\" : \"No\";\r\n className = value ? \"greenfont\" : \"orangefont\";\r\n\r\n \r\n if (Array.isArray(type) && type.length === 2) {\r\n updatedValue = value ? type[0] : type[1];\r\n }\r\n } \r\n else if (typeof value === \"string\") {\r\n className = \"\";\r\n\r\n \r\n const maxLen = typeof type === \"number\" ? type : 100;\r\n updatedValue =\r\n value.length > maxLen ? value.substring(0, maxLen) + \"...\" : value;\r\n } \r\n else {\r\n return of(String(value)); \r\n }\r\n\r\n const language = localStorage.getItem(\"language\") || \"en\";\r\n this.translate.setDefaultLang(language);\r\n this.translate.use(language);\r\n\r\n \r\n if (!updatedValue) {\r\n return of(``);\r\n }\r\n\r\n return this.translate.get(updatedValue).pipe(\r\n map((translatedText: string) => `${translatedText}`),\r\n catchError(() => of(`${updatedValue}`)) \r\n );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"timeCheck\"\r\n})\r\nexport class TimeCheckPipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n var currentDate = new Date();\r\n const y = new Date(currentDate).getFullYear(),\r\n m = new Date(currentDate).getMonth(),\r\n d = new Date(currentDate).getDate(),\r\n splitTime = new Date(currentDate).getTime(),\r\n hours = new Date(currentDate).getHours(),\r\n minutes = new Date(currentDate).getMinutes();\r\n var totalMinutes = +hours * 60 + +minutes;\r\n var row = value;\r\n var endTime = row.endDateTime.split(\"T\");\r\n var endTimeArr = endTime[1].split(\":\");\r\n var endHour = endTimeArr[0];\r\n var endMin = endTimeArr[1];\r\n var totalEndMinutes = +endHour * 60 + +endMin;\r\n var icons = \"\";\r\n if (totalEndMinutes > totalMinutes)\r\n icons = ``;\r\n // console.log(\r\n // \"Total Min : \" + totalMinutes + \", Total End Min : \" + totalEndMinutes\r\n // );\r\n // console.log(\r\n // \"Current Date Time : \" +\r\n // currentDate +\r\n // \", End Date Time : \" +\r\n // row.endDateTime\r\n // );\r\n return icons;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport * as _ from \"lodash\";\r\n@Pipe({\r\n name: \"unique\",\r\n pure: false\r\n})\r\nexport class UniquePipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n var days = [\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\",\r\n \"Sunday\"\r\n ];\r\n var availDay = [];\r\n if (value !== undefined && value !== null) {\r\n days.forEach(day => {\r\n var index = (value || []).findIndex(x => x.day == day);\r\n if (index == -1)\r\n availDay.push({\r\n day: day,\r\n class: \"\",\r\n disabled: true,\r\n title: \"Not Available\"\r\n });\r\n else\r\n availDay.push({\r\n day: day,\r\n class: \"active\",\r\n disabled: false,\r\n title: \"Available\"\r\n });\r\n });\r\n }\r\n return availDay;\r\n }\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n border-bottom: 2px dotted #ddd;\\r\\n font-family: 'Rafleway', sans-serif;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.cstm-cross.policy-blk .fa {\\r\\n top: -24px;\\r\\n right: -24px;\\r\\n}\\r\\n\\r\\n.pay-step.hgt-scroll {\\r\\n height: 410px !important;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 18px;\\r\\n margin-top: 10px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #01385f;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: block;\\r\\n color: #4e4852;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 14px;\\r\\n font-weight: 600;\\r\\n color: #01385f;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #4e4852;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #01385f;\\r\\n font-size: 20px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: flex;\\r\\n font-weight: 600;\\r\\n justify-content: space-between;\\r\\n padding: 15px;\\r\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.60);\\r\\n font-size: 14px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type label {\\r\\n margin: 0px 10px 0px 0px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n width: 135px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #01385f;\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding-bottom: 10px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type .mat-radio-outer-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #63d891;\\r\\n border-radius: 0;\\r\\n display: inline-block;\\r\\n font-size: 15px !important;\\r\\n padding: 5px 10px;\\r\\n height: auto;\\r\\n margin: 5px 10px 5px 0px;\\r\\n line-height: normal;\\r\\n color: #63d891;\\r\\n cursor: pointer;\\r\\n height: 36px !important;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n background-color: #01385f;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n flex-wrap: wrap;\\r\\n gap: 5px;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 0px;\\r\\n font-size: 16px;\\r\\n margin: 10px 0px 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n margin: 15px 0px 20px;\\r\\n line-height: 18px;\\r\\n}\\r\\n\\r\\n.fnt-sze {\\r\\n font-size: 14px;\\r\\n margin-right: 12px;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-txtarea textarea.mat-input-element {\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.custom-txtarea label {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mat-radio-label-content {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.terms-check {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/* .mat-datepicker-content .mat-calendar{\\r\\n width:550px !important;\\r\\n height: auto !important;\\r\\n} */\\r\\n\\r\\n.followupError {\\r\\n color: #f44336;\\r\\n}\\r\\n\\r\\n.hgt-scroll {\\r\\n height: 465px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n margin-top: 6px;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #01385f;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 0px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.cstm-cancel-btn i {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.link-btn.min-w-100 {\\r\\n min-width: 100px;\\r\\n margin-right: auto !important;\\r\\n}\\r\\n\\r\\n.appointment-panel .appointment-content {\\r\\n padding: 12px 15px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-label {\\r\\n padding-top: 5px !important;\\r\\n padding-bottom: 5px !important;\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell {\\r\\n padding: 15px 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell-content {\\r\\n width: 30px !important;\\r\\n left: 36% !important;\\r\\n font-weight: 600 !important;\\r\\n height: 30px;\\r\\n}\\r\\n\\r\\n/* .appointment-content .mat-calendar-body-today:selected(.mat-calendar-body-selected) {\\r\\n border-color: #f87515;\\r\\n background-color: #f87515;\\r\\n color: #fff;\\r\\n} */\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\r\\n border-color: rgba(0, 0, 0, 0.04);\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-controls {\\r\\n margin: 0 10px !important\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-spacer {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-header {\\r\\n padding: 0px 8px 0 8px !important;\\r\\n background-color: #01385f !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-period-button {\\r\\n margin: 0 auto !important;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n letter-spacing: 3px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-content {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header {\\r\\n background-color: #01385f !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header th {\\r\\n font-size: 13px !important;\\r\\n color: #fff !important;\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-card {\\r\\n box-shadow: none !important;\\r\\n padding: 0 !important;\\r\\n border: 1px solid #efefef !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header-divider {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-previous-button {\\r\\n position: absolute !important;\\r\\n left: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-arrow {\\r\\n border-top-color: #fff !important;\\r\\n}\\r\\n\\r\\n/* scroller hide css */\\r\\n\\r\\n/* .appointment-content .ng-scrollbar-container{\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.stfselection {\\r\\n background-color: #fafafa;\\r\\n padding-bottom: 6px;\\r\\n margin-bottom: 0px;\\r\\n margin-left: -20px;\\r\\n margin-right: -20px;\\r\\n padding-top: 15px;\\r\\n}\\r\\n\\r\\n.stfselection div {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.stfselection label {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.stfselection hr {\\r\\n border-color: rgba(255, 255, 255, 0.2) !important;\\r\\n}\\r\\n\\r\\n.stfselection small {\\r\\n float: right;\\r\\n cursor: pointer;\\r\\n line-height: 13px;\\r\\n padding-top: 8px;\\r\\n}\\r\\n\\r\\n.stfselection .mat-form-field-infix {\\r\\n border-top: 0px;\\r\\n}\\r\\n\\r\\n.stfselection .mat-form-field-appearance-legacy .mat-form-field-underline {\\r\\n background-color: rgb(40, 229, 250);\\r\\n}\\r\\n\\r\\n.stfselection .mat-select-arrow {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.schedule-btn {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn {\\r\\n border: 1px solid #ccc;\\r\\n background-color: transparent;\\r\\n background-color: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn:hover {\\r\\n background-color: #17a2b8;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.calnedar-dropdown.mat-form-field {\\r\\n width: 0px;\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.schedule-date h3 {\\r\\n margin: 0px;\\r\\n font-weight: 600;\\r\\n font-size: 22px;\\r\\n padding-left: 5px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.hideDiv {\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.cstm-radio-btn .mat-radio-button label {\\r\\n margin-bottom: 0;\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n.receipt {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n\\r\\n.cstm-add {\\r\\n display: block;\\r\\n width: 75%;\\r\\n}\\r\\n\\r\\n.cstm-add input:focus-visible {\\r\\n outline: none !important\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name>div>div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.select-box {\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.select-box input {\\r\\n width: 100%;\\r\\n margin: 0 !important;\\r\\n padding: 10px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n

Dr. {{fullname}}

\\r\\n
{{spl.speciality}}
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (17)\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • {{userInfo.phoneNumber}}
  • \\r\\n
  • {{userInfo.email}}
  • \\r\\n \\r\\n
  • \\r\\n \\r\\n {{userInfo.payRate | currency:'JOD':'symbol-narrow'}}\\r\\n
  • \\r\\n
  • \\r\\n {{userInfo.ftFpayRate | currency:'JOD':'symbol-narrow'}}\\r\\n
  • \\r\\n
  • \\r\\n \\r\\n {{userInfo.homeVisitPayRate | currency:'JOD':'symbol-narrow'}}\\r\\n
  • \\r\\n
  • \\r\\n {{userInfo.followUpPayRate |\\r\\n currency:'JOD':'symbol-narrow'}}
  • \\r\\n\\r\\n\\r\\n
  • {{userInfo.address}}\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{\\\"book_an_appointement\\\"|translate}}\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{c.label}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{\\\"appointment_booked\\\"|translate}}\\r\\n
\\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_date_and_time\\\"|translate}}\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{\\\"Provider is not available on this date. Please choose another date\\\"|translate}}.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
    \\r\\n
  • {{slot.startTimeftm}}\\r\\n {{\\\"to\\\"|translate}}\\r\\n {{slot.endTimeftm}}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{\\\"Book\\\"|translate}}\\r\\n
\\r\\n {{\\\"please_select_appointment_slot_first_to_book_in_previous_step_then_after_pay_here\\\"|translate}}.\\r\\n
\\r\\n
\\r\\n

\\r\\n {{\\\"you_are_requesting_a_new_booking_time\\\"|translate}}.\\r\\n
{{\\\"The new appointment will be requested on\\\"|translate}} {{confirmation.date |\\r\\n date:'fullDate'}} {{\\\"between\\\"|translate}} {{selectedSlotTime.startTime\\r\\n }} {{\\\"to\\\"|translate}} {{selectedSlotTime.endTime }}.\\r\\n

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

\\r\\n {{\\\"you_are_requesting_a_new_booking_time\\\"|translate}}.  \\r\\n
{{\\\"the_new_appointment_will_be_rescheduled_to_be_on\\\"|translate}}\\r\\n {{confirmation.date | date:'fullDate'}} {{\\\"between\\\"|translate}}\\r\\n {{selectedSlotTime.startTime\\r\\n }} {{\\\"to\\\"|translate}} {{selectedSlotTime.endTime }}.\\r\\n

\\r\\n \\r\\n
\\r\\n {{\\\"we_will_send_you_an_email\\\"|translate}}\\r\\n
\\r\\n
{{\\\"We will be sending the patient an email with a new booking time and confirmation\\\"}}
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{type}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{mode}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n {{userInfo.payRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
\\r\\n
\\r\\n {{userInfo.ftFpayRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
\\r\\n
\\r\\n {{userInfo.homeVisitPayRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
\\r\\n
\\r\\n {{userInfo.followUpPayRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n By ticking you have agreed to our {{'terms_and_conditions'|translate}} and read our {{'privacy_policy'|translate}}\\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_do_not_have_any_previous_appointment_within_allowed_days\\\"|translate}}.\\r\\n \\r\\n \\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\\\"|translate}}

\\r\\n

{{\\\"Your_appointment_has_been_successfully_rescheduled_on\\\"|translate}}
{{spl.speciality}},  {{confirmation.date |\\r\\n date:'fullDate'}} {{\\\"between\\\"|translate}} {{confirmation.startTime}} {{\\\"to\\\"|translate}}\\r\\n {{confirmation.endTime}}\\r\\n

\\r\\n

{{\\\"please_Check_you_email _for_further_assistance_We_will_contact_you_as_soon_as_possible\\\"|translate}}.

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

{{\\\"thank_you\\\"|translate}}

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

{{\\\"Your_appointment_has_been_successfully_rescheduled_on\\\"|translate}}
{{confirmation.date |\\r\\n date:'fullDate'}} {{\\\"between\\\"|translate}} {{selectedSlotTime.startTime}} {{\\\"to\\\"|translate}}\\r\\n {{selectedSlotTime.endTime}}

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { AppointmentModel } from \"./../../platform/modules/scheduling/scheduler/scheduler.model\";\r\n\r\n//import { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport {\r\n MatSelect,\r\n MatDialog,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n MatAutocomplete,\r\n MatChipInputEvent,\r\n MatAutocompleteSelectedEvent,\r\n MatCalendar,\r\n} from \"@angular/material\";\r\n\r\nimport { FollowupAppointmentComponent } from \"./../followup-appointment/followup-appointment.component\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Inject,\r\n Renderer2,\r\n ViewChild,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n StaffAward,\r\n StaffQualification,\r\n StaffExperience,\r\n} from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\nimport { map, startWith, switchMap } from \"rxjs/operators\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { DatePipe, DOCUMENT } from \"@angular/common\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { TermsConditionModalComponent } from \"../../front/terms-conditions/terms-conditions.component\";\r\nimport { SaveDocumentComponent } from \"../../front/save-document/save-document.component\";\r\nimport { ManageFeesRefundsModel } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { SymptomCheckerService } from \"../symptom-checker/symptom-checker.service\";\r\n//import { StripeToken, StripeSource } from \"stripe-angular\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\nconst getDateTimeString = (date: string, time: string): string => {\r\n const y = new Date(date).getFullYear(),\r\n m = new Date(date).getMonth(),\r\n d = new Date(date).getDate(),\r\n splitTime = time.split(\":\"),\r\n hours = parseInt(splitTime[0] || \"0\", 10),\r\n minutes = parseInt(splitTime[1].substring(0, 2) || \"0\", 10),\r\n meridiem = splitTime[1].substring(3, 5) || \"\",\r\n updatedHours =\r\n (meridiem || \"\").toUpperCase() === \"PM\" && hours != 12\r\n ? hours + 12\r\n : hours;\r\n\r\n const startDateTime = new Date(y, m, d, updatedHours, minutes);\r\n\r\n return format(startDateTime, \"YYYY-MM-DDTHH:mm:ss\");\r\n};\r\n@Component({\r\n selector: \"app-postpone-appointment\",\r\n templateUrl: \"./postpone-appointment.component.html\",\r\n styleUrls: [\"./postpone-appointment.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PostponeAppointmentComponent implements OnInit {\r\n submitted: boolean = false;\r\n isSelf: boolean = true;\r\n disableRadio: boolean = false;\r\n appointment: AppointmentModel;\r\n todayDate: Date = new Date();\r\n selectedOfficeStaffs: Array;\r\n selectedOfficeClients: Array;\r\n selectedProvider: any;\r\n currentNotes: any;\r\n choices: any[] = [\r\n { id: \"1\", label: \"self\", checked: true },\r\n { id: \"2\", label: \"referral\", checked: false },\r\n ];\r\n selectedClient: any;\r\n isShow: boolean = false;\r\n isLinear = false;\r\n payMode: Boolean = false;\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n thirdFormGroup: FormGroup;\r\n userInfo: any;\r\n loading = false;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n staffId: number;\r\n providerId: string;\r\n patientId: number;\r\n userRoleName: string;\r\n lastFollowupData: any;\r\n\r\n // appointmenType: any = [\"New\", \"Followup\", \"Free\"];\r\n //appointmenType: any = [\"New\", \"Free\"];\r\n appointmenType: any = [\"New\", \"Followup\"];\r\n appointmentMode: any = [\"Online\", \"Face to Face\"];\r\n confirmation: any = { type: \"New\", mode: \"Online\" };\r\n providerAvailiabilitySlots: any = [];\r\n patientAppointments: any;\r\n staffAvailability: any;\r\n locationId: number;\r\n showLoader: boolean = false;\r\n providerAvailableDates: any = [];\r\n providerNotAvailableDates: any = [];\r\n\r\n masterPatientLocation: Array;\r\n masterStaffs: Array;\r\n masterAddressTypes: Array;\r\n officeAndPatientLocations: Array;\r\n masterAppointmentTypes: Array;\r\n Organization: any;\r\n patientEmail: string;\r\n paymentToken: string = \"\";\r\n Message: any;\r\n IsPreviousFollowup: boolean = false;\r\n isNewAppointment: boolean = false;\r\n isNotBooked: boolean;\r\n isProfileLoaded: boolean = false;\r\n //Notes: string = \"\";\r\n appointmentId: number = 0;\r\n fileList: any = [];\r\n dataURL: any;\r\n officeStaffs: Array;\r\n officeClients: Array;\r\n isClientLogin: boolean;\r\n isAdminLogin: boolean;\r\n\r\n feeSettings: ManageFeesRefundsModel;\r\n hasPreviousNewMeeting = false;\r\n userControl = new FormControl();\r\n filteredSymptoms$: Observable;\r\n symptoms: any = [];\r\n age: any;\r\n @ViewChild(\"userInput\") userInput: ElementRef;\r\n @ViewChild(\"auto\") matAutocomplete: MatAutocomplete;\r\n @ViewChild(\"calendar\") calendar: MatCalendar;\r\n appointmentModeId: number;\r\n isprovider: boolean;\r\n isLabLogin: boolean;\r\n isRadiologyLogin: boolean;\r\n selectedSlotTime: { startTime: string, endTime: string } = { startTime: \"\", endTime: \"\" };\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private _formBuilder: FormBuilder,\r\n private homeService: HomeService,\r\n private commonService: CommonService,\r\n private notifierService: NotifierService,\r\n private usersService: UsersService,\r\n private schedulerService: SchedulerService,\r\n private datePipe: DatePipe,\r\n private renderer2: Renderer2,\r\n private dialogModal: MatDialog,\r\n private userService: UsersService,\r\n private notifier: NotifierService,\r\n private symptomCheckerService: SymptomCheckerService,\r\n private translate: TranslateService,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.officeStaffs = [];\r\n this.selectedOfficeStaffs = [];\r\n this.selectedOfficeClients = [];\r\n this.officeClients = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.userInfo = this.data.userInfo;\r\n this.locationId = this.data.locationId;\r\n this.providerId = this.data.staffId;\r\n this.staffId = this.data.staffId;\r\n (this.appointmentId = this.data.appointmentId),\r\n (this.patientId = this.data.patientId);\r\n this.age = this.data.age;\r\n this.currentNotes = this.data.currentNotes;\r\n this.confirmation.mode = this.data.appoinmentModeText;\r\n this.isNewAppointment = this.data.isNewAppointment;\r\n this.dialogModalRef.disableClose = true;\r\n this.masterStaffs = [];\r\n this.masterPatientLocation = [];\r\n this.masterAppointmentTypes = [];\r\n this.masterAddressTypes = [];\r\n this.officeAndPatientLocations = [];\r\n this.filteredSymptoms$ = this.userControl.valueChanges.pipe(\r\n startWith(\"\"),\r\n // use switch map so as to cancel previous subscribed events, before creating new once\r\n switchMap((value) => {\r\n if (value != null && typeof value == \"string\") {\r\n if (value.length > 2) {\r\n return this.getPatientSymptoms(value).pipe();\r\n } else {\r\n // if no value is present, return null\r\n return of(null);\r\n }\r\n } else return of(null);\r\n })\r\n );\r\n\r\n this.Message = null;\r\n this.isNotBooked = true;\r\n this.homeService.getOrganizationDetail().subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.Organization = response.data;\r\n }\r\n });\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userRoleName = (\r\n (user.data.users3 && user.data.users3.userRoles.userType) ||\r\n \"\"\r\n ).toUpperCase();\r\n this.isClientLogin = this.userRoleName === \"CLIENT\";\r\n this.isAdminLogin = this.userRoleName === \"ADMIN\";\r\n this.isLabLogin = this.userRoleName === \"LAB\";\r\n this.isRadiologyLogin = this.userRoleName === \"RADIOLOGY\";\r\n // console.log(\"this.userRoleName\", this.userRoleName);\r\n if (this.userRoleName === \"CLIENT\") {\r\n this.patientEmail = user.patientData.email;\r\n }\r\n }\r\n });\r\n this.isProvidertoggle();\r\n\r\n // this.setAppointmentParameters();\r\n const s = this.renderer2.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n this.firstFormGroup = this._formBuilder.group({\r\n appointmentDate: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required],\r\n });\r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: [\"\", Validators.required],\r\n });\r\n this.thirdFormGroup = this._formBuilder.group({\r\n Notes: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required],\r\n });\r\n\r\n if (this.providerId != \"\") {\r\n this.getStaffDetail();\r\n this.getLastNewAppointment(this.providerId);\r\n } else {\r\n this.bindStaffProfile();\r\n }\r\n\r\n this.fetchStaffsAndPatients();\r\n\r\n if (this.isAdminLogin && this.isNewAppointment) {\r\n this.providerId = \"0\";\r\n this.staffId = 0;\r\n this.patientId = 0;\r\n }\r\n }\r\n\r\n hideDropDown(value: boolean) {\r\n this.payMode = value;\r\n this.formGroup3.Notes.setValue(this.currentNotes);\r\n }\r\n\r\n /*Stripe Start */\r\n openCheckout() {\r\n let _amount = 0;\r\n if (this.confirmation.type == \"New\" && this.confirmation.mode == \"Online\") {\r\n _amount = this.userInfo.payRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Face to Face\"\r\n ) {\r\n _amount = this.userInfo.ftFpayRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Home Visit\"\r\n ) {\r\n _amount = this.userInfo.homeVisitPayRate;\r\n } else if (this.confirmation.type == \"Followup\") {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (\r\n (!_amount || _amount === 0 || _amount == 0.0) &&\r\n this.isNewAppointment\r\n ) {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n } else {\r\n // const handler = (window).StripeCheckout.configure({\r\n // key: this.Organization.stripeKey,\r\n // locale: \"auto\",\r\n // token: function(token: any) {\r\n\r\n // if (token.id != \"\") {\r\n // localStorage.setItem(\"payment_token\", token.id);\r\n // }\r\n // }\r\n // });\r\n this.paymentToken = \"\";\r\n localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // {\r\n this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n // }\r\n\r\n // handler.open({\r\n // name: this.Organization.organizationName,\r\n // description: this.Organization.description,\r\n // image: this.Organization.logo,\r\n // amount: _amount * 100,\r\n // email: this.patientEmail,\r\n // closed: () => {\r\n // this.paymentToken = localStorage.getItem(\"payment_token\");\r\n // localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n // }\r\n // });\r\n }\r\n }\r\n\r\n /*Stripe End */\r\n get formGroup1() {\r\n return this.firstFormGroup.controls;\r\n }\r\n get formGroup3() {\r\n return this.thirdFormGroup.controls;\r\n }\r\n\r\n onSlotSelect(slot: any) {\r\n const index = this.providerAvailiabilitySlots.findIndex(\r\n (x) => x.isSelected == true\r\n );\r\n if (index != -1) {\r\n this.providerAvailiabilitySlots[index].isSelected = false;\r\n this.providerAvailiabilitySlots[index].isAvailable = true;\r\n }\r\n // this.providerAvailiabilitySlots.forEach(slot => {\r\n // slot.isSelected = false;\r\n\r\n // });\r\n this.confirmation.startTime = slot.startTimeftm;\r\n this.confirmation.endTime = slot.endTimeftm;\r\n this.selectedSlotTime.startTime = slot.startTimeftm;\r\n this.selectedSlotTime.endTime = slot.endTimeftm;\r\n slot.isSelected = true;\r\n slot.isAvailable = false;\r\n }\r\n\r\n onDateChange(event: any) {\r\n const curDate = this.datePipe.transform(new Date(), \"yyyy-MM-dd\");\r\n const selDate = this.datePipe.transform(event, \"yyyy-MM-dd\");\r\n\r\n if (\r\n this.isNewAppointment &&\r\n (this.userRoleName == \"ADMIN\" || !this.isSelf) &&\r\n (this.staffId == 0 || this.patientId == 0)\r\n ) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Please select both provider and patient\"\r\n );\r\n return null;\r\n }\r\n if (\r\n this.isNewAppointment &&\r\n this.userRoleName == \"PROVIDER\" &&\r\n this.patientId == 0\r\n ) {\r\n this.notifierService.notify(\"error\", \"Please select patient.\");\r\n return null;\r\n }\r\n\r\n if (selDate < curDate) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Appointment cannot be set for past date\"\r\n );\r\n return null;\r\n }\r\n //////;\r\n this.disableRadio = true;\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n this.firstFormGroup.get(\"appointmentDate\").setValue(event);\r\n //let interval = 30;\r\n let interval = this.userInfo.timeInterval;\r\n const filterModal = {\r\n locationIds: this.locationId,\r\n // fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n // toDate: format(event.value, \"YYYY-MM-DD\"),\r\n fromDate: format(event, \"YYYY-MM-DD\"),\r\n toDate: format(event, \"YYYY-MM-DD\"),\r\n staffIds: this.staffId,\r\n patientIds: [],\r\n };\r\n let clientAppointments: Array = [];\r\n\r\n let currentAvailabilityDay: any;\r\n let currentAvailableDates: Array = [];\r\n let currentUnAvailableDates: Array = [];\r\n let days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\",\r\n ];\r\n // let dayName = days[new Date(event.value).getDay()];\r\n let dayName = days[new Date(event).getDay()];\r\n this.staffAvailability = [];\r\n\r\n switch (\r\n typeof this.confirmation.mode === \"string\"\r\n ? this.confirmation.mode.toLowerCase()\r\n : \"face to face\"\r\n ) {\r\n case \"online\":\r\n this.appointmentModeId = 1;\r\n break;\r\n case \"face to face\":\r\n this.appointmentModeId = 2;\r\n break;\r\n case \"home visit\":\r\n this.appointmentModeId = 3;\r\n break;\r\n }\r\n\r\n this.usersService\r\n .getStaffAvailabilityByLocation(\r\n this.staffId,\r\n this.locationId,\r\n selDate,\r\n this.appointmentModeId\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n if (response.statusCode == 200) {\r\n this.schedulerService\r\n .getListData(filterModal)\r\n .subscribe((response: any) => {\r\n this.showLoader = false;\r\n if (response.statusCode == 200) {\r\n this.patientAppointments = response.data;\r\n this.patientAppointments.forEach((app) => {\r\n let obj = {\r\n startTime: app.startDateTime,\r\n endTime: app.endDateTime,\r\n };\r\n let timeObj = this.getStartEndTime(obj),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n if (\r\n !app.cancelTypeId ||\r\n (app.cancelTypeId == null && app.cancelTypeId == 0)\r\n ) {\r\n clientAppointments.push({\r\n startTime: startTime,\r\n endTime: endTime,\r\n statusName: app.statusName,\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (availibiltyResponse.data.length > 0) {\r\n availibiltyResponse.data.sort((a, b) => {\r\n const dateA = new Date(a.startTime);\r\n const dateB = new Date(b.startTime);\r\n return dateA.getTime() - dateB.getTime();\r\n });\r\n availibiltyResponse.data.forEach((x) => {\r\n let timeObj = this.getStartEndTime(x);\r\n\r\n this.providerAvailiabilitySlots.push({\r\n startTime: timeObj.startTime, //.replace(\":00\",\"\").replace(\"AM\",\"\").replace(\"PM\",\"\"),\r\n endTime: timeObj.endTime, //.replace(\":00\",\"\"),\r\n startTimeftm: this.convertHours(timeObj.startTime),\r\n endTimeftm: this.convertHours(timeObj.endTime).trim(),\r\n location: \"Max Hospital, Mohali\",\r\n isAvailable: x.isSelected,\r\n isSelected: false,\r\n isPassed: false,\r\n isReserved: false,\r\n });\r\n });\r\n }\r\n if (clientAppointments.length > 0) {\r\n clientAppointments.forEach((slot) => {\r\n let status = (slot.statusName as string).toLowerCase();\r\n if ((slot.statusName as string).toLowerCase() != \"cancel\") {\r\n const foundIndex =\r\n this.providerAvailiabilitySlots.findIndex(\r\n (x) =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n this.providerAvailiabilitySlots[foundIndex].isAvailable =\r\n false;\r\n this.providerAvailiabilitySlots[foundIndex].isReserved =\r\n true;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n let currentDate = new Date();\r\n if (\r\n this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n ) {\r\n let currentStartHr = currentDate.getHours(),\r\n currentStartMin = currentDate.getMinutes(),\r\n currentTime = currentStartHr * 60 + currentStartMin;\r\n this.providerAvailiabilitySlots.forEach((slot) => {\r\n if (slot.isAvailable == true) {\r\n let selStart = slot.startTime.split(\" \");\r\n let selStartTime = selStart[0];\r\n let selStartHr = +selStartTime.split(\":\")[0];\r\n let selHrMin =\r\n selStart[1] == \"AM\"\r\n ? selStartHr * 60\r\n : selStartHr == 12\r\n ? selStartHr * 60\r\n : (selStartHr + 12) * 60;\r\n let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n let selEnd = slot.endTime.split(\" \");\r\n let selEndTime = selEnd[0];\r\n let selEndHr = +selEndTime.split(\":\")[0];\r\n let selEndHrMin =\r\n selEnd[1] == \"AM\"\r\n ? selEndHr * 60\r\n : selEndHr == 12\r\n ? selEndHr * 60\r\n : (selEndHr + 12) * 60;\r\n let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n if (\r\n currentTime >= selStartMin &&\r\n (currentTime >= selEndMin || currentTime < selEndMin)\r\n ) {\r\n slot.isPassed = true;\r\n slot.isAvailable = false;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n this.providerAvailiabilitySlots.sort(\r\n (a, b) =>\r\n new Date(a.startTime).getTime() -\r\n new Date(b.startTime).getTime()\r\n );\r\n });\r\n }\r\n });\r\n // this.confirmation.date = event.value;\r\n this.confirmation.date = event;\r\n }\r\n getStartEndTime(obj: any) {\r\n let startDate: Date = new Date(obj.startTime),\r\n endDate: Date = new Date(obj.endTime);\r\n\r\n let slotStartHr = startDate.getHours(),\r\n slotStartMin = startDate.getMinutes(),\r\n slotEndHr = endDate.getHours(),\r\n slotEndMin = endDate.getMinutes(),\r\n startTime = this.parseTime(slotStartHr + \":\" + slotStartMin),\r\n endTime = this.parseTime(slotEndHr + \":\" + slotEndMin);\r\n return { startTime: startTime, endTime: endTime };\r\n }\r\n parseTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n isProvidertoggle() {\r\n if (this.userRoleName == \"PROVIDER\") {\r\n return (this.isprovider = true);\r\n }\r\n }\r\n\r\n convertHours(mins: number) {\r\n let hour = Math.floor(mins / 60);\r\n mins = mins % 60;\r\n let time = \"\";\r\n if (this.pad(hour, 2) < 12) {\r\n time = this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" AM\";\r\n } else {\r\n time =\r\n this.pad(hour, 2) == 12\r\n ? this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" PM\"\r\n : this.pad(hour, 2) - 12 + \":\" + this.pad(mins, 2) + \" PM\";\r\n }\r\n //let converted = this.pad(hour, 2)+':'+this.pad(mins, 2);\r\n return time;\r\n }\r\n\r\n pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? this.pad(\"0\" + str, max) : str;\r\n }\r\n\r\n calculateTimeSlotRange(\r\n start_time: number,\r\n end_time: number,\r\n interval: number = 30\r\n ) {\r\n let i, formattedStarttime, formattedEndtime;\r\n let time_slots: Array = [];\r\n for (let i = start_time; i <= end_time - interval; i = i + interval) {\r\n formattedStarttime = this.convertHours(i);\r\n formattedEndtime = this.convertHours(i + interval);\r\n time_slots.push({\r\n startTime: formattedStarttime,\r\n endTime: formattedEndtime,\r\n });\r\n }\r\n return time_slots;\r\n }\r\n\r\n termsandconditionchecked(event) {\r\n if (event.checked) {\r\n // this.istermsconditionchecked = true;\r\n // this.opentermconditionmodal();\r\n //this.showselecttermscondition = false;\r\n } else {\r\n // this.istermsconditionchecked = false;\r\n }\r\n }\r\n\r\n onTypeChange(type: any) {\r\n this.confirmation.type = type;\r\n this.IsPreviousFollowup = false;\r\n if (type.toLowerCase() == \"followup\") {\r\n this.schedulerService\r\n .GetLastPatientFollowupDetails(this.patientId)\r\n .subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.lastFollowupData = res.data;\r\n if (this.lastFollowupData) {\r\n this.IsPreviousFollowup = true;\r\n } else {\r\n this.IsPreviousFollowup = false;\r\n }\r\n }\r\n });\r\n } else {\r\n this.IsPreviousFollowup = false;\r\n }\r\n }\r\n openLastFollowup() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(FollowupAppointmentComponent, {\r\n hasBackdrop: true,\r\n width: \"70%\",\r\n data: {\r\n id: this.lastFollowupData.id,\r\n lastAppointmentStartTime: this.lastFollowupData.startDateTime,\r\n lastAppointmentEndTime: this.lastFollowupData.endDateTime,\r\n notes: this.lastFollowupData.notes,\r\n bookingMode: this.lastFollowupData.bookingMode,\r\n },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n }\r\n });\r\n }\r\n onModeChange(mode: any) {\r\n this.confirmation.mode = mode;\r\n // console.log(\"confirmation.mode from pstpone component \",this.confirmation.mode);\r\n }\r\n\r\n bindStaffProfile() {\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 101;\r\n }\r\n this.isProfileLoaded = true;\r\n }\r\n getStaffDetail() {\r\n if (this.providerId != \"\") {\r\n this.homeService.getProviderDetail(this.providerId).subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n //////;\r\n this.userInfo = res.data;\r\n // console.log(\"this.userinfo 22222\", this.userInfo);\r\n this.bindStaffProfile();\r\n this.getAppointment();\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n // console.log(\"closed from postpone\");\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n bookNewAppointment(tokenId: string, paymentMode: string): any {\r\n //////;\r\n this.submitted = true;\r\n\r\n const patientId = null;\r\n\r\n let _amount = 0;\r\n if (this.confirmation.type == \"New\" && this.confirmation.mode == \"Online\") {\r\n _amount = this.userInfo.payRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Face to Face\"\r\n ) {\r\n _amount = this.userInfo.ftFpayRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"Home Visit\"\r\n ) {\r\n _amount = this.userInfo.homeVisitPayRate;\r\n } else if (this.confirmation.type == \"Followup\") {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 101;\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: this.patientId,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n //IsTelehealthAppointment: true,\r\n IsTelehealthAppointment: this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n //Notes: this.formGroup3.Notes.value,\r\n Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n //PayRate: this.userInfo.payRate,\r\n PayRate: _amount,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n StatusId: 1,\r\n },\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false,\r\n };\r\n\r\n if (this.isNewAppointment) {\r\n this.createAppointmentFromPatientPortal(appointmentData[0]);\r\n } else {\r\n const rescheduleData = [\r\n {\r\n AppointmentId: this.appointmentId,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n },\r\n ];\r\n this.RescheduleAppointment(rescheduleData[0]);\r\n }\r\n }\r\n createAppointmentFromPatientPortal(appointmentData: any) {\r\n this.schedulerService\r\n .bookNewAppointmentFromPatientPortal(appointmentData)\r\n .subscribe((response) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n RescheduleAppointment(appointmentData: any) {\r\n this.schedulerService\r\n .RescheduleAppointment(appointmentData)\r\n .subscribe((response) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully Rescheduled, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n\r\n //reload the calender\r\n }\r\n\r\n bookNewFreeAppointment(tokenId: string, paymentMode: string): any {\r\n this.submitted = true;\r\n // if (this.appointmentForm.invalid) {\r\n // this.submitted = false;\r\n // return;\r\n // }\r\n\r\n // submit form\r\n // const selectedStaffs = this.appointmentForm.get(\"StaffIDs\").value,\r\n // selectedAppointmentTypeId = this.appointmentForm.get(\"AppointmentTypeID\")\r\n // .value,\r\n // selectedPatientId = this.appointmentForm.get(\"PatientID\").value,\r\n // startDate = this.appointmentForm.get(\"startDate\").value,\r\n // startTime = this.appointmentStartTime, // this.appointmentForm.get('startTime').value,\r\n // endTime = this.appointmentEndTime; // this.appointmentForm.get('endTime').value;\r\n\r\n // let appointmentStaffs = null;\r\n // let staffIds = Array.isArray(selectedStaffs)\r\n // ? selectedStaffs\r\n // : [selectedStaffs];\r\n // appointmentStaffs = (this.appointmentModal.appointmentStaffs || []\r\n // ).map(Obj => {\r\n // return { StaffId: Obj.staffId, IsDeleted: true };\r\n // });\r\n // staffIds.forEach(staffId => {\r\n // // update case for appointment staffs ------\r\n // let staff = appointmentStaffs.find(\r\n // Obj => Obj.StaffId === staffId && Obj.IsDeleted\r\n // );\r\n // if (staff) {\r\n // let index = appointmentStaffs.indexOf(staff);\r\n // appointmentStaffs[index] = { StaffId: staff.StaffId, IsDeleted: false };\r\n // } else {\r\n // appointmentStaffs.push({ StaffId: staffId, IsDeleted: false });\r\n // }\r\n // });\r\n\r\n // let addressesObj = {\r\n // CustomAddressID: null,\r\n // CustomAddress: null,\r\n // PatientAddressID: null,\r\n // OfficeAddressID: null\r\n // };\r\n // if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OTHER\"\r\n // ) {\r\n // addressesObj.CustomAddress = this.appointmentForm.get(\r\n // \"CustomAddress\"\r\n // ).value;\r\n // addressesObj.CustomAddressID = this.appointmentForm.get(\r\n // \"CustomAddressID\"\r\n // ).value;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"PATIENT\"\r\n // ) {\r\n // addressesObj.PatientAddressID = this.selectedServiceLocation.id;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OFFICE\"\r\n // ) {\r\n // addressesObj.OfficeAddressID = this.selectedServiceLocation.id;\r\n // }\r\n\r\n const patientId = null;\r\n // selectedPatientId && typeof selectedPatientId === \"object\"\r\n // ? selectedPatientId.id\r\n // : null;\r\n //this.recurrenceRule = this.appointmentId ? \"\" : this.recurrenceRule;\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 101;\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: this.patientId,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n // IsTelehealthAppointment: true,\r\n IsTelehealthAppointment: this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.formGroup3.Notes.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n // PayRate: this.userInfo.payRate,\r\n // PayRate: this.confirmation.mode==\"Online\"?this.userInfo.payRate:this.userInfo.ftFpayRate ,\r\n PayRate: 0.0,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n },\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false,\r\n };\r\n\r\n this.createFreeAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n createFreeAppointmentFromPatientPortal(appointmentData: any) {\r\n this.schedulerService\r\n .bookNewFreeAppointmentFromPatientPortal(appointmentData)\r\n .subscribe((response) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n // this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n openfreeapptCheckout() {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n }\r\n\r\n createModal() {\r\n let documentModal;\r\n documentModal = this.dialogModal.open(SaveDocumentComponent, { data: 0 });\r\n documentModal.afterClosed().subscribe((result: string) => {\r\n // if (result == 'save')\r\n // this.getUserDocuments();\r\n });\r\n }\r\n\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width: \"70%\",\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n }\r\n });\r\n }\r\n\r\n handleImageChange(e) {\r\n //if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n let fileExtension = e.target.files[0].name.split(\".\").pop().toLowerCase();\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.fileList.push({\r\n data: this.dataURL,\r\n ext: fileExtension,\r\n fileName: e.target.files[0].name,\r\n });\r\n\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n // }\r\n // else\r\n // this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n }\r\n\r\n saveDocuments(apptId: number) {\r\n ///Please chnage this API to avoid loops\r\n\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: \"Document\",\r\n documentTypeIdStaff: 15,\r\n expiration: \"\",\r\n key: \"STAFF\",\r\n otherDocumentType: \"\",\r\n userId: 0,\r\n patientAppointmentId: apptId,\r\n };\r\n let dic = [];\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(\r\n `\"${element.data.replace(\r\n /^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/,\r\n \"\"\r\n )}\": \"${element.ext}\"`\r\n );\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {});\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.userService\r\n .uploadUserDocuments(formValues)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n //this.notifier.notify('success', response.message);\r\n //this.closeDialog(\"save\");\r\n } else this.notifier.notify(\"error\", response.message);\r\n });\r\n } else {\r\n //this.notifier.notify('error', \"Please add atleast one file\");\r\n }\r\n }\r\n\r\n // getProvidersFollowUpDaysAllowed(staffId){\r\n // this.schedulerService.getStaffFeeSettings(staffId).subscribe(response => {\r\n // if (response.statusCode === 200) {\r\n // this.feeSettings = response.data as ManageFeesRefundsModel;\r\n // }\r\n // })\r\n // }\r\n\r\n // get checkIfAllowed() {\r\n // if (this.confirmation.type == 'Followup') {\r\n // //////;\r\n // if (this.userInfo && this.userInfo.followUpDays &&\r\n // this.firstFormGroup.controls.appointmentDate.value) {\r\n\r\n // return this.hasPreviousNewMeeting;\r\n // const startDate = new Date(this.firstFormGroup.controls.appointmentDate.value);\r\n // const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds\r\n // const diffDates: any = (this.lastAppointmentDateTime - startDate);\r\n // const diffDays = Math.round(Math.abs((diffDates) / oneDay))\r\n // if (diffDays > -1 && diffDays <= this.userInfo.followUpDays) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n\r\n // } else { return false; }\r\n // } else { return true; }\r\n // }\r\n\r\n fetchStaffsAndPatients(locationId?: string): void {\r\n this.schedulerService\r\n .getStaffAndPatientByLocation(\r\n this.locationId.toString(),\r\n \"SCHEDULING_LIST_VIEW_OTHERSTAFF_SCHEDULES\"\r\n )\r\n .subscribe((response: any) => {\r\n if (response.statusCode !== 200) {\r\n (this.officeStaffs = []), (this.officeClients = []);\r\n } else {\r\n this.officeStaffs = response.data.staff || [];\r\n this.officeClients = response.data.patients || [];\r\n }\r\n });\r\n }\r\n onDropdownSelectionChange(event: any): void {\r\n const source: MatSelect = event.source,\r\n value: any = event.value;\r\n\r\n if (source.id === \"officeStaffs\") {\r\n this.staffId = value;\r\n this.providerId = value;\r\n }\r\n if (source.id === \"officeClients\") {\r\n this.patientId = value;\r\n }\r\n }\r\n getLastNewAppointment(staffId) {\r\n this.schedulerService\r\n .getPreviousAppointment(staffId, this.patientId)\r\n .subscribe((response) => {\r\n if (response.statusCode === 200) {\r\n this.hasPreviousNewMeeting = response.data ? true : false;\r\n // if (lastAppointment) {\r\n // this.lastAppointmentDateTime = new Date(lastAppointment.startDateTime);\r\n // this.hasPreviousNewMeeting = true;\r\n // }\r\n }\r\n });\r\n }\r\n\r\n closeModal() {\r\n this.dialogModal.closeAll();\r\n }\r\n radioChange(id: any) {\r\n this.isSelf = id == 1 ? true : false;\r\n }\r\n\r\n getPatientSymptoms(searchText: string = \"headache\"): any {\r\n return this.symptomCheckerService\r\n .getPatientSymptoms(searchText, this.age)\r\n .pipe(\r\n map((x) => {\r\n return x;\r\n })\r\n );\r\n }\r\n add(event: MatChipInputEvent): void {\r\n // Add fruit only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n if (!this.matAutocomplete.isOpen) {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n // Add our fruit\r\n if ((value || \"\").trim()) {\r\n this.symptoms.push(value.trim());\r\n }\r\n\r\n // Reset the input value\r\n if (input) {\r\n input.value = \"\";\r\n }\r\n\r\n this.userControl.setValue(null);\r\n }\r\n }\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n //////;\r\n this.symptoms.push({\r\n id: event.option.value.id,\r\n value: event.option.viewValue,\r\n choice_id: \"present\",\r\n });\r\n //this.optionChecked=true;\r\n this.userInput.nativeElement.value = event.option.viewValue;\r\n this.userControl.setValue(event.option.viewValue);\r\n }\r\n getAppointment() {\r\n //////;\r\n this.loading = true;\r\n this.schedulerService\r\n .getAppointmentDetailsWithPatient(this.appointmentId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n //////;\r\n this.appointment = response.data;\r\n\r\n //this.getNearestDate();\r\n this.openCalendaravailableslots();\r\n // this.onDateChange(this.appointment.startDateTime);\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n openCalendaravailableslots() {\r\n //////;\r\n //this.loading=true;\r\n let dateString = this.appointment.startDateTime;\r\n let newDate = new Date(dateString);\r\n newDate.setDate(newDate.getDate() + 1);\r\n this.onDateChange(newDate);\r\n // console.log(newDate);\r\n this.calendar._goToDateInView(newDate, \"month\");\r\n //this.loading=false;\r\n }\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n border-bottom: 2px dotted #ddd;\\r\\n font-family: 'Rafleway', sans-serif;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.cstm-cross.policy-blk .fa {\\r\\n top: -24px;\\r\\n right: -24px;\\r\\n}\\r\\n\\r\\n.pay-step.hgt-scroll {\\r\\n height: 410px !important;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 18px;\\r\\n margin-top: 10px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #01385f;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: block;\\r\\n color: #4e4852;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 14px;\\r\\n font-weight: 600;\\r\\n color: #01385f;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #4e4852;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #01385f;\\r\\n font-size: 20px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: flex;\\r\\n font-weight: 600;\\r\\n justify-content: space-between;\\r\\n padding: 15px;\\r\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.60);\\r\\n font-size: 14px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type label {\\r\\n margin: 0px 10px 0px 0px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n width: 135px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #01385f;\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding-bottom: 10px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type .mat-radio-outer-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #63d891;\\r\\n border-radius: 0;\\r\\n display: inline-block;\\r\\n font-size: 15px !important;\\r\\n padding: 5px 10px;\\r\\n height: auto;\\r\\n margin: 5px 10px 5px 0px;\\r\\n line-height: normal;\\r\\n color: #63d891;\\r\\n cursor: pointer;\\r\\n height: 36px !important;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n background-color: #01385f;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n flex-wrap: wrap;\\r\\n gap: 5px;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 0px;\\r\\n font-size: 16px;\\r\\n margin: 10px 0px 0px;\\r\\n line-height: 24px;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n margin: 15px 0px 20px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.fnt-sze {\\r\\n font-size: 14px;\\r\\n margin-right: 12px;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-txtarea textarea.mat-input-element {\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.custom-txtarea label {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mat-radio-label-content {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.terms-check {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/* .mat-datepicker-content .mat-calendar{\\r\\n width:550px !important;\\r\\n height: auto !important;\\r\\n} */\\r\\n\\r\\n.followupError {\\r\\n color: #f44336;\\r\\n}\\r\\n\\r\\n.hgt-scroll {\\r\\n height: 465px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n margin-top: 6px;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #01385f;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 0px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.cstm-cancel-btn i {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.link-btn.min-w-100 {\\r\\n min-width: 100px;\\r\\n margin-right: auto !important;\\r\\n}\\r\\n\\r\\n.appointment-panel .appointment-content {\\r\\n padding: 12px 15px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-label {\\r\\n padding-top: 5px !important;\\r\\n padding-bottom: 5px !important;\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell {\\r\\n padding: 15px 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell-content {\\r\\n width: 30px !important;\\r\\n left: 36% !important;\\r\\n font-weight: 600 !important;\\r\\n height: 30px;\\r\\n}\\r\\n\\r\\n/* .appointment-content .mat-calendar-body-today:selected(.mat-calendar-body-selected) {\\r\\n border-color: #f87515;\\r\\n background-color: #f87515;\\r\\n color: #fff;\\r\\n} */\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\r\\n border-color: rgba(0, 0, 0, 0.04);\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-controls {\\r\\n margin: 0 10px !important\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-spacer {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-header {\\r\\n padding: 0px 8px 0 8px !important;\\r\\n background-color: #01385f !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-period-button {\\r\\n margin: 0 auto !important;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n letter-spacing: 3px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-content {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header {\\r\\n background-color: #01385f !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header th {\\r\\n font-size: 13px !important;\\r\\n color: #fff !important;\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-card {\\r\\n box-shadow: none !important;\\r\\n padding: 0 !important;\\r\\n border: 1px solid #efefef !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header-divider {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-previous-button {\\r\\n position: absolute !important;\\r\\n left: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-arrow {\\r\\n border-top-color: #fff !important;\\r\\n}\\r\\n\\r\\n/* scroller hide css */\\r\\n\\r\\n/* .appointment-content .ng-scrollbar-container{\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.stfselection {\\r\\n background-color: #fafafa;\\r\\n padding-bottom: 6px;\\r\\n margin-bottom: 0px;\\r\\n margin-left: -20px;\\r\\n margin-right: -20px;\\r\\n padding-top: 15px;\\r\\n}\\r\\n\\r\\n.stfselection div {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.stfselection label {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.stfselection hr {\\r\\n border-color: rgba(255, 255, 255, 0.2) !important;\\r\\n}\\r\\n\\r\\n.stfselection small {\\r\\n float: right;\\r\\n cursor: pointer;\\r\\n line-height: 13px;\\r\\n padding-top: 8px;\\r\\n}\\r\\n\\r\\n.stfselection .mat-form-field-infix {\\r\\n border-top: 0px;\\r\\n}\\r\\n\\r\\n.stfselection .mat-form-field-appearance-legacy .mat-form-field-underline {\\r\\n background-color: rgb(40, 229, 250);\\r\\n}\\r\\n\\r\\n.stfselection .mat-select-arrow {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.schedule-btn {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn {\\r\\n border: 1px solid #ccc;\\r\\n background-color: transparent;\\r\\n background-color: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn:hover {\\r\\n background-color: #17a2b8;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.calnedar-dropdown.mat-form-field {\\r\\n width: 0px;\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.schedule-date h3 {\\r\\n margin: 0px;\\r\\n font-weight: 600;\\r\\n font-size: 22px;\\r\\n padding-left: 5px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.hideDiv {\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.cstm-radio-btn .mat-radio-button label {\\r\\n margin-bottom: 0;\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n.receipt {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n\\r\\n.cstm-add {\\r\\n display: block;\\r\\n width: 75%;\\r\\n}\\r\\n\\r\\n.cstm-add input:focus-visible {\\r\\n outline: none !important\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name>div>div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.select-box {\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.select-box input {\\r\\n width: 100%;\\r\\n margin: 0 !important;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.pt-7 {\\r\\n padding-top: 7px;\\r\\n}\\r\\n\\r\\n.blue-clr {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.cstm-thnk-blk {\\r\\n margin-top: -32px;\\r\\n background-color: #fff;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n

Dr. {{fullname}}

\\r\\n
{{spl.speciality}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (17)\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • {{userInfo.phoneNumber}}
  • \\r\\n
  • {{userInfo.email}}
  • \\r\\n
  • \\r\\n {{userInfo.payRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
  • \\r\\n
  • \\r\\n {{userInfo.ftFpayRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
  • \\r\\n
  • \\r\\n {{userInfo.homeVisitPayRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
  • \\r\\n
  • \\r\\n {{userInfo.followUpPayRate | currency:'JOD':'symbol-narrow'}}
  • \\r\\n\\r\\n\\r\\n
  • {{userInfo.address}} {{\\\"Get Directions\\\"|translate}}.
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{\\\"book_an_appointement\\\"|translate}}\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n {{c.label}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{\\\"appointment_booked\\\"|translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n {{\\\"choose_slot\\\"|translate}}\\r\\n
\\r\\n
{{\\\"nearest_available_slot\\\"|translate}} :   \\r\\n {{nearestavailabledate}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\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_date_and_time\\\"|translate}}\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
{{\\\"provider_is_not_available_on_this_date_Please_choose_another_date\\\"|translate}}.
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
    \\r\\n
  • {{slot.startTimeftm}} {{\\\"to\\\"|translate}}\\r\\n {{slot.endTimeftm}}
  • \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{\\\"Book\\\"|translate}} \\r\\n
{{\\\"please_select_appointment_slot_first_to_book_in_previous_step_then_after_pay_here\\\"|translate}}.\\r\\n
\\r\\n
\\r\\n

\\r\\n {{\\\"you_are_requesting_booking_for\\\"|translate}} {{spl.speciality}},  \\r\\n
{{confirmation.date | date:'fullDate'}} {{\\\"between\\\"|translate}} {{selectedSlotTime.startTime\\r\\n }} {{\\\"to\\\"|translate}} {{selectedSlotTime.endTime }}\\r\\n

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

{{\\\"you_are_requesting_a_new_booking_time\\\"|translate}}.  \\r\\n
{{\\\"the_new_appointment_will_be_rescheduled_to_be_on\\\"|translate}} {{confirmation.date | date:'fullDate'}} {{\\\"between\\\"|translate}} {{selectedSlotTime.startTime\\r\\n }} {{\\\"to\\\"|translate}} {{selectedSlotTime.endTime }}.\\r\\n

\\r\\n\\r\\n \\r\\n
{{\\\"we_will_send_you_an_email\\\"|translate}}
\\r\\n
{{\\\"We will be sending the patient an email with a new booking time and confirmation\\\"}}
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{type}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{mode}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{userInfo.payRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
\\r\\n
\\r\\n {{userInfo.ftFpayRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
\\r\\n
\\r\\n {{userInfo.homeVisitPayRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
\\r\\n
\\r\\n {{userInfo.followUpPayRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
\\r\\n
\\r\\n \\r\\n By ticking you have agreed to our {{'terms_and_conditions'|translate}} and read our {{'privacy_policy'|translate}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n {{\\\"You_do_not_have_any_previous_appointment_within_allowed_days\\\"|translate}}.\\r\\n \\r\\n \\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\\\"|translate}}

\\r\\n

{{\\\"Your_appointment_has_been_successfully_rescheduled_on\\\"|translate}}
{{spl.speciality}} {{confirmation.date |\\r\\n date:'fullDate'}} {{\\\"between\\\"|translate}} {{selectedSlotTime.startTime}} {{\\\"to\\\"|translate}}\\r\\n {{selectedSlotTime.endTime}}\\r\\n

\\r\\n

{{\\\"please_Check_you_email _for_further_assistance_We_will_contact_you_as_soon_as_possible\\\"|translate}}.

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

{{\\\"thank_you\\\"|translate}}

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

{{\\\"Your_appointment_has_been_successfully_rescheduled_on\\\"|translate}}
{{confirmation.date |\\r\\n date:'fullDate'}} {{\\\"between\\\"|translate}} {{confirmation.startTime}} {{\\\"to\\\"|translate}} {{confirmation.endTime}}\\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 { debug } from \"util\";\r\nimport { state } from \"@angular/animations\";\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { AppointmentModel } from \"./../../platform/modules/scheduling/scheduler/scheduler.model\";\r\n\r\n//import { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { isatty } from \"tty\";\r\nimport { userInfo } from \"os\";\r\nimport { MatSelect, MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatAutocomplete, MatChipInputEvent, MatAutocompleteSelectedEvent, MatCalendar } from \"@angular/material\";\r\n\r\nimport { FollowupAppointmentComponent } from './../followup-appointment/followup-appointment.component'\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Inject,\r\n Renderer2,\r\n ViewChild,\r\n ElementRef\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n StaffAward,\r\n StaffQualification,\r\n StaffExperience\r\n} from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format, getHours, getMinutes } from \"date-fns\";\r\nimport { map, startWith, switchMap } from \"rxjs/operators\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { DatePipe, DOCUMENT } from \"@angular/common\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { AddUserDocumentComponent } from \"src/app/platform/modules/agency-portal/users/user-documents/add-user-document/add-user-document.component\";\r\nimport { TermsConditionModalComponent } from \"../../front/terms-conditions/terms-conditions.component\";\r\nimport { SaveDocumentComponent } from \"../../front/save-document/save-document.component\";\r\nimport { ManageFeesRefundsModel } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { SymptomCheckerService } from \"../symptom-checker/symptom-checker.service\";\r\n//import { StripeToken, StripeSource } from \"stripe-angular\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\nconst getDateTimeString = (date: string, time: string): string => {\r\n const y = new Date(date).getFullYear(),\r\n m = new Date(date).getMonth(),\r\n d = new Date(date).getDate(),\r\n splitTime = time.split(\":\"),\r\n hours = parseInt(splitTime[0] || \"0\", 10),\r\n minutes = parseInt(splitTime[1].substring(0, 2) || \"0\", 10),\r\n meridiem = splitTime[1].substring(3, 5) || \"\",\r\n updatedHours =\r\n (meridiem || \"\").toUpperCase() === \"PM\" && hours != 12\r\n ? hours + 12\r\n : hours;\r\n\r\n const startDateTime = new Date(y, m, d, updatedHours, minutes);\r\n\r\n return format(startDateTime, \"YYYY-MM-DDTHH:mm:ss\");\r\n};\r\n@Component({\r\n selector: \"app-prepone-appointment\",\r\n templateUrl: \"./prepone-appointment.component.html\",\r\n styleUrls: [\"./prepone-appointment.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PreponeAppointmentComponent implements OnInit {\r\n submitted: boolean = false;\r\n isSelf: boolean = true\r\n disableRadio: boolean = false;\r\n appointment: AppointmentModel;\r\n todayDate: Date = new Date();\r\n loading = false;\r\n selectedOfficeStaffs: Array;\r\n selectedOfficeClients: Array;\r\n selectedProvider: any;\r\n currentNotes: any;\r\n choices: any[] = [{ id: \"1\", label: \"self\", \"checked\": true }, { id: \"2\", label: \"referral\", \"checked\": false }];\r\n selectedClient: any;\r\n isShow: boolean = false;\r\n isLinear = false;\r\n payMode: Boolean = false;\r\n zeroFormGroup: FormGroup;\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n thirdFormGroup: FormGroup;\r\n userInfo: any;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n staffId: number;\r\n providerId: string;\r\n patientId: number;\r\n userRoleName: string;\r\n lastFollowupData: any;\r\n // appointmenType: any = [\"New\", \"Followup\", \"Free\"];\r\n //appointmenType: any = [\"New\", \"Free\"];\r\n appointmenType: any = [\"New\", \"Followup\"];\r\n appointmentMode: any = [\"Online\", \"Face to Face\"];\r\n confirmation: any = { type: \"New\", mode: \"Online\" };\r\n providerAvailiabilitySlots: any = [];\r\n unreservedproviderAvailiabilitySlots: any = [];\r\n patientAppointments: any;\r\n staffAvailability: any;\r\n locationId: number;\r\n showLoader: boolean = false;\r\n providerAvailableDates: any = [];\r\n providerNotAvailableDates: any = [];\r\n\r\n masterPatientLocation: Array;\r\n masterStaffs: Array;\r\n masterAddressTypes: Array;\r\n officeAndPatientLocations: Array;\r\n masterAppointmentTypes: Array;\r\n Organization: any;\r\n patientEmail: string;\r\n paymentToken: string = \"\";\r\n Message: any;\r\n IsPreviousFollowup: boolean = false;\r\n isNewAppointment: boolean = false;\r\n isNotBooked: boolean;\r\n isProfileLoaded: boolean = false;\r\n //Notes: string = \"\";\r\n appointmentId: number = 0;\r\n fileList: any = [];\r\n dataURL: any;\r\n officeStaffs: Array;\r\n officeClients: Array;\r\n isClientLogin: boolean;\r\n isAdminLogin: boolean;\r\n nearestavailabledate: any;\r\n feeSettings: ManageFeesRefundsModel;\r\n hasPreviousNewMeeting = false;\r\n userControl = new FormControl();\r\n filteredSymptoms$: Observable;\r\n symptoms: any = [];\r\n availableapptdate: any;\r\n @ViewChild('userInput') userInput: ElementRef;\r\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\r\n @ViewChild('calendar') calendar: MatCalendar;\r\n age: any;\r\n appointmentModeId: number = 0;\r\n isprovider: boolean;\r\n isLabLogin: boolean;\r\n isRadiologyLogin: boolean;\r\n selectedSlotTime: { startTime: string, endTime: string } = { startTime: \"\", endTime: \"\" };\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private _formBuilder: FormBuilder,\r\n private homeService: HomeService,\r\n private commonService: CommonService,\r\n private notifierService: NotifierService,\r\n private usersService: UsersService,\r\n private schedulerService: SchedulerService,\r\n private datePipe: DatePipe,\r\n private renderer2: Renderer2,\r\n private dialogModal: MatDialog,\r\n private userService: UsersService,\r\n private notifier: NotifierService,\r\n private symptomCheckerService: SymptomCheckerService,\r\n private translate: TranslateService,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.officeStaffs = [];\r\n this.selectedOfficeStaffs = [];\r\n this.selectedOfficeClients = [];\r\n this.officeClients = [];\r\n\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.userInfo = this.data.userInfo;\r\n this.locationId = this.data.locationId;\r\n this.providerId = this.data.staffId;\r\n this.staffId = this.data.staffId;\r\n this.appointmentId = this.data.appointmentId,\r\n this.patientId = this.data.patientId\r\n this.confirmation.mode = this.data.appoinmentModeText;\r\n this.age = this.data.age;\r\n this.currentNotes = this.data.currentNotes;\r\n this.isNewAppointment = this.data.isNewAppointment;\r\n this.dialogModalRef.disableClose = true;\r\n this.masterStaffs = [];\r\n this.masterPatientLocation = [];\r\n this.masterAppointmentTypes = [];\r\n this.masterAddressTypes = [];\r\n this.officeAndPatientLocations = [];\r\n // console.log(\"rescheduling appointment data\", this.data);\r\n this.filteredSymptoms$ = this.userControl.valueChanges\r\n\r\n .pipe(\r\n startWith(''),\r\n // use switch map so as to cancel previous subscribed events, before creating new once\r\n switchMap(value => {\r\n if (value != null && typeof (value) == \"string\") {\r\n if (value.length > 2) {\r\n return this.getPatientSymptoms(value).pipe()\r\n } else {\r\n // if no value is present, return null\r\n return of(null);\r\n }\r\n }\r\n else return of(null);\r\n })\r\n );\r\n\r\n\r\n this.Message = null;\r\n this.isNotBooked = true;\r\n this.homeService.getOrganizationDetail().subscribe(response => {\r\n if (response.statusCode == 200) {\r\n this.Organization = response.data;\r\n }\r\n });\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userRoleName =\r\n (user.data.users3 && user.data.users3.userRoles.userType || \"\").toUpperCase();\r\n this.isClientLogin = this.userRoleName === \"CLIENT\";\r\n this.isAdminLogin = this.userRoleName === \"ADMIN\";\r\n this.isLabLogin = this.userRoleName === \"LAB\";\r\n this.isRadiologyLogin = this.userRoleName === \"RADIOLOGY\"\r\n this.isProvidertoggle();\r\n if (this.userRoleName === \"CLIENT\") {\r\n this.patientEmail = user.patientData.email;\r\n }\r\n }\r\n });\r\n\r\n if (this.providerId != \"\") {\r\n this.getStaffDetail();\r\n //this.getLastNewAppointment(this.providerId);\r\n }\r\n else {\r\n this.bindStaffProfile();\r\n }\r\n //this.getAppointment();\r\n\r\n // this.setAppointmentParameters();\r\n const s = this.renderer2.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n this.firstFormGroup = this._formBuilder.group({\r\n appointmentDate: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: [\"\", Validators.required]\r\n });\r\n this.thirdFormGroup = this._formBuilder.group({\r\n Notes: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n this.zeroFormGroup = this._formBuilder.group({\r\n takeCtrl: [\"\"]\r\n });\r\n\r\n\r\n this.fetchStaffsAndPatients()\r\n\r\n if (this.isAdminLogin && this.isNewAppointment) {\r\n this.providerId = '0';\r\n this.staffId = 0;\r\n this.patientId = 0;\r\n }\r\n\r\n }\r\n\r\n isProvidertoggle() {\r\n\r\n if (this.userRoleName == \"PROVIDER\") {\r\n return this.isprovider = true;\r\n }\r\n }\r\n\r\n hideDropDown(value: boolean) {\r\n this.payMode = value;\r\n this.formGroup3.Notes.setValue(this.currentNotes);\r\n }\r\n\r\n /*Stripe Start */\r\n openCheckout() {\r\n\r\n let _amount = 0;\r\n if (this.confirmation.type == 'New' && this.confirmation.mode == 'Online') {\r\n _amount = this.userInfo.payRate;\r\n }\r\n else if (this.confirmation.type == 'New' && this.confirmation.mode == 'Face to Face') {\r\n _amount = this.userInfo.ftFpayRate;\r\n }\r\n else if (this.confirmation.type == 'New' && this.confirmation.mode == 'Home Visit') {\r\n _amount = this.userInfo.homeVisitPayRate;\r\n }\r\n else if (this.confirmation.type == 'Followup') {\r\n // if(!this.checkIfAllowed){\r\n // return;\r\n // }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if ((!_amount || _amount === 0 || _amount == 0.00) && this.isNewAppointment) {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n } else {\r\n\r\n // const handler = (window).StripeCheckout.configure({\r\n // key: this.Organization.stripeKey,\r\n // locale: \"auto\",\r\n // token: function(token: any) {\r\n\r\n // if (token.id != \"\") {\r\n // localStorage.setItem(\"payment_token\", token.id); \r\n\r\n // }\r\n\r\n // }\r\n // });\r\n this.paymentToken = \"\";\r\n localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // {\r\n this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n // }\r\n\r\n // handler.open({\r\n // name: this.Organization.organizationName,\r\n // description: this.Organization.description,\r\n // image: this.Organization.logo,\r\n // amount: _amount * 100,\r\n // email: this.patientEmail,\r\n // closed: () => {\r\n // this.paymentToken = localStorage.getItem(\"payment_token\");\r\n // localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n // }\r\n // });\r\n }\r\n\r\n }\r\n\r\n /*Stripe End */\r\n get formGroup1() {\r\n return this.firstFormGroup.controls;\r\n }\r\n get formGroup3() {\r\n return this.thirdFormGroup.controls;\r\n }\r\n // get formGroup0() {\r\n // return this.zeroFormGroup.controls;\r\n // }\r\n\r\n onSlotSelect(slot: any) {\r\n const index = this.providerAvailiabilitySlots.findIndex(\r\n x => x.isSelected == true\r\n );\r\n if (index != -1) {\r\n this.providerAvailiabilitySlots[index].isSelected = false;\r\n this.providerAvailiabilitySlots[index].isAvailable = true;\r\n }\r\n // this.providerAvailiabilitySlots.forEach(slot => {\r\n // slot.isSelected = false;\r\n\r\n // });\r\n this.confirmation.startTime = slot.startTimeftm;\r\n this.confirmation.endTime = slot.endTimeftm;\r\n this.selectedSlotTime.startTime = slot.startTimeftm;\r\n this.selectedSlotTime.endTime = slot.endTimeftm;\r\n slot.isSelected = true;\r\n slot.isAvailable = false;\r\n }\r\n\r\n onDateChange(event: any) {\r\n //////;\r\n const curDate = this.datePipe.transform(new Date(), 'yyyy-MM-dd');\r\n const selDate = this.datePipe.transform(event, 'yyyy-MM-dd');\r\n this.availableapptdate = this.datePipe.transform(event, 'dd-MM-yyyy');;\r\n\r\n if (this.isNewAppointment && (this.userRoleName == \"ADMIN\" || !this.isSelf) && (this.staffId == 0 || this.patientId == 0)) {\r\n\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Please select both provider and patient\"\r\n );\r\n return null;\r\n }\r\n if (this.isNewAppointment && this.userRoleName == \"PROVIDER\" && this.patientId == 0) {\r\n\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Please select patient.\"\r\n );\r\n return null;\r\n }\r\n\r\n if (selDate < curDate) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Appointment cannot be set for past date\"\r\n );\r\n return null;\r\n }\r\n\r\n this.disableRadio = true;\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n this.firstFormGroup.get('appointmentDate').setValue(event);\r\n //let interval = 30;\r\n let interval = this.userInfo.timeInterval;\r\n const filterModal = {\r\n locationIds: this.locationId,\r\n // fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n // toDate: format(event.value, \"YYYY-MM-DD\"),\r\n fromDate: format(event, \"YYYY-MM-DD\"),\r\n toDate: format(event, \"YYYY-MM-DD\"),\r\n staffIds: this.staffId,\r\n patientIds: []\r\n };\r\n let clientAppointments: Array = [];\r\n\r\n let currentAvailabilityDay: any;\r\n let currentAvailableDates: Array = [];\r\n let currentUnAvailableDates: Array = [];\r\n let days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\"\r\n ];\r\n // let dayName = days[new Date(event.value).getDay()];\r\n let dayName = days[new Date(event).getDay()];\r\n this.staffAvailability = [];\r\n\r\n switch (\r\n typeof this.confirmation.mode === \"string\"\r\n ? this.confirmation.mode.toLowerCase()\r\n : \"face to face\"\r\n ) {\r\n case \"online\":\r\n this.appointmentModeId = 1;\r\n break;\r\n case \"face to face\":\r\n this.appointmentModeId = 2;\r\n break;\r\n case \"home visit\":\r\n this.appointmentModeId = 3;\r\n break;\r\n }\r\n\r\n this.usersService\r\n .getStaffAvailabilityByLocation(this.staffId, this.locationId, selDate, this.appointmentModeId)\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n if (response.statusCode == 200) {\r\n this.schedulerService\r\n .getListData(filterModal)\r\n .subscribe((response: any) => {\r\n this.showLoader = false;\r\n if (response.statusCode == 200) {\r\n this.patientAppointments = response.data;\r\n this.patientAppointments.forEach(app => {\r\n let obj = {\r\n startTime: app.startDateTime,\r\n endTime: app.endDateTime\r\n };\r\n let timeObj = this.getStartEndTime(obj),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n if (!app.cancelTypeId || app.cancelTypeId == null && app.cancelTypeId == 0) {\r\n\r\n clientAppointments.push({\r\n startTime: startTime,\r\n endTime: endTime,\r\n statusName: app.statusName\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (availibiltyResponse.data.length > 0) {\r\n\r\n // console.log(\"available slots:\", availibiltyResponse.data);\r\n availibiltyResponse.data.sort((a, b) => {\r\n const dateA = new Date(a.startTime);\r\n const dateB = new Date(b.startTime);\r\n return dateA.getTime() - dateB.getTime();\r\n });\r\n availibiltyResponse.data.forEach(x => {\r\n let timeObj = this.getStartEndTime(x);\r\n\r\n\r\n this.providerAvailiabilitySlots.push({\r\n startTime: timeObj.startTime,//.replace(\":00\",\"\").replace(\"AM\",\"\").replace(\"PM\",\"\"),\r\n endTime: timeObj.endTime,//.replace(\":00\",\"\"),\r\n startTimeftm: this.convertHours(timeObj.startTime),\r\n endTimeftm: this.convertHours(timeObj.endTime).trim(),\r\n location: \"Max Hospital, Mohali\",\r\n isAvailable: x.isSelected,\r\n isSelected: false,\r\n isPassed: false,\r\n isReserved: false\r\n });\r\n });\r\n }\r\n if (clientAppointments.length > 0) {\r\n\r\n clientAppointments.forEach(slot => {\r\n let status = (slot.statusName as string).toLowerCase();\r\n if ((slot.statusName as string).toLowerCase() != \"cancel\") {\r\n const foundIndex = this.providerAvailiabilitySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isAvailable = false;\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isReserved = true;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n let currentDate = new Date();\r\n if (\r\n this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n ) {\r\n let currentStartHr = currentDate.getHours(),\r\n currentStartMin = currentDate.getMinutes(),\r\n currentTime = currentStartHr * 60 + currentStartMin;\r\n this.providerAvailiabilitySlots.forEach(slot => {\r\n if (slot.isAvailable == true) {\r\n let selStart = slot.startTime.split(\" \");\r\n let selStartTime = selStart[0];\r\n let selStartHr = +selStartTime.split(\":\")[0];\r\n let selHrMin =\r\n selStart[1] == \"AM\"\r\n ? selStartHr * 60\r\n : selStartHr == 12\r\n ? selStartHr * 60\r\n : (selStartHr + 12) * 60;\r\n let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n let selEnd = slot.endTime.split(\" \");\r\n let selEndTime = selEnd[0];\r\n let selEndHr = +selEndTime.split(\":\")[0];\r\n let selEndHrMin =\r\n selEnd[1] == \"AM\"\r\n ? selEndHr * 60\r\n : selEndHr == 12 ? selEndHr * 60 : (selEndHr + 12) * 60;\r\n let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n if (\r\n currentTime >= selStartMin &&\r\n (currentTime >= selEndMin || currentTime < selEndMin)\r\n ) {\r\n slot.isPassed = true;\r\n slot.isAvailable = false;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n });\r\n }\r\n });\r\n // this.confirmation.date = event.value;\r\n this.confirmation.date = event;\r\n this.providerAvailiabilitySlots;\r\n }\r\n\r\n termsandconditionchecked(event) {\r\n if (event.checked) {\r\n // this.istermsconditionchecked = true;\r\n // this.opentermconditionmodal();\r\n //this.showselecttermscondition = false;\r\n } else {\r\n // this.istermsconditionchecked = false;\r\n }\r\n }\r\n getStartEndTime(obj: any) {\r\n let startDate: Date = new Date(obj.startTime),\r\n endDate: Date = new Date(obj.endTime);\r\n\r\n let slotStartHr = startDate.getHours(),\r\n slotStartMin = startDate.getMinutes(),\r\n slotEndHr = endDate.getHours(),\r\n slotEndMin = endDate.getMinutes(),\r\n startTime = this.parseTime(slotStartHr + \":\" + slotStartMin),\r\n endTime = this.parseTime(slotEndHr + \":\" + slotEndMin);\r\n return { startTime: startTime, endTime: endTime };\r\n }\r\n parseTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n convertHours(mins: number) {\r\n let hour = Math.floor(mins / 60);\r\n mins = mins % 60;\r\n let time = \"\";\r\n if (this.pad(hour, 2) < 12) {\r\n time = this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" AM\";\r\n } else {\r\n time =\r\n this.pad(hour, 2) == 12\r\n ? this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" PM\"\r\n : this.pad(hour, 2) - 12 + \":\" + this.pad(mins, 2) + \" PM\";\r\n }\r\n //let converted = this.pad(hour, 2)+':'+this.pad(mins, 2);\r\n return time;\r\n }\r\n\r\n pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? this.pad(\"0\" + str, max) : str;\r\n }\r\n\r\n calculateTimeSlotRange(\r\n start_time: number,\r\n end_time: number,\r\n interval: number = 30\r\n ) {\r\n let i, formattedStarttime, formattedEndtime;\r\n let time_slots: Array = [];\r\n for (let i = start_time; i <= end_time - interval; i = i + interval) {\r\n formattedStarttime = this.convertHours(i);\r\n formattedEndtime = this.convertHours(i + interval);\r\n time_slots.push({\r\n startTime: formattedStarttime,\r\n endTime: formattedEndtime\r\n });\r\n }\r\n return time_slots;\r\n }\r\n\r\n onTypeChange(type: any) {\r\n this.confirmation.type = type;\r\n this.IsPreviousFollowup = false;\r\n if (type.toLowerCase() == 'followup') {\r\n\r\n this.schedulerService.GetLastPatientFollowupDetails(this.patientId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n //////;\r\n this.lastFollowupData = res.data;\r\n if (this.lastFollowupData) {\r\n this.IsPreviousFollowup = true;\r\n }\r\n\r\n }\r\n });\r\n\r\n\r\n }\r\n }\r\n openLastFollowup() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(FollowupAppointmentComponent, {\r\n hasBackdrop: true,\r\n width: '70%',\r\n data: {\r\n id: this.lastFollowupData.id,\r\n lastAppointmentStartTime: this.lastFollowupData.startDateTime,\r\n lastAppointmentEndTime: this.lastFollowupData.endDateTime,\r\n notes: this.lastFollowupData.notes,\r\n bookingMode: this.lastFollowupData.bookingMode\r\n\r\n }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n });\r\n }\r\n onModeChange(mode: any) {\r\n this.confirmation.mode = mode;\r\n }\r\n bindStaffProfile() {\r\n\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 101\r\n }\r\n this.isProfileLoaded = true;\r\n }\r\n getStaffDetail() {\r\n if (this.providerId != \"\") {\r\n\r\n this.homeService.getProviderDetail(this.providerId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n //////;\r\n this.userInfo = res.data;\r\n this.bindStaffProfile();\r\n this.getAppointment();\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n bookNewAppointment(tokenId: string, paymentMode: string): any {\r\n //////;\r\n this.submitted = true;\r\n\r\n const patientId = null;\r\n\r\n let _amount = 0;\r\n if (this.confirmation.type == 'New' && this.confirmation.mode == 'Online') {\r\n _amount = this.userInfo.payRate;\r\n }\r\n else if (this.confirmation.type == 'New' && this.confirmation.mode == 'Face to Face') {\r\n _amount = this.userInfo.ftFpayRate;\r\n }\r\n else if (this.confirmation.type == 'New' && this.confirmation.mode == 'Home Visit') {\r\n _amount = this.userInfo.homeVisitPayRate;\r\n }\r\n else if (this.confirmation.type == 'Followup') {\r\n // if(!this.checkIfAllowed){\r\n // return;\r\n // }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 101;\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: this.patientId,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n //IsTelehealthAppointment: true,\r\n IsTelehealthAppointment: this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n //Notes: this.formGroup3.Notes.value,\r\n Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n //PayRate: this.userInfo.payRate,\r\n PayRate: _amount,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n StatusId: 1\r\n\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n if (this.isNewAppointment) {\r\n this.createAppointmentFromPatientPortal(appointmentData[0]);\r\n } else {\r\n const rescheduleData = [\r\n {\r\n AppointmentId: this.appointmentId,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n )\r\n }]\r\n //////;\r\n this.RescheduleAppointment(rescheduleData[0]);\r\n }\r\n }\r\n createAppointmentFromPatientPortal(appointmentData: any) {\r\n\r\n this.schedulerService\r\n .bookNewAppointmentFromPatientPortal(appointmentData)\r\n .subscribe(response => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n RescheduleAppointment(appointmentData: any) {\r\n\r\n this.schedulerService\r\n .RescheduleAppointment(appointmentData)\r\n .subscribe(response => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully Rescheduled, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n bookNewFreeAppointment(tokenId: string, paymentMode: string): any {\r\n\r\n this.submitted = true;\r\n // if (this.appointmentForm.invalid) {\r\n // this.submitted = false;\r\n // return;\r\n // }\r\n\r\n // submit form\r\n // const selectedStaffs = this.appointmentForm.get(\"StaffIDs\").value,\r\n // selectedAppointmentTypeId = this.appointmentForm.get(\"AppointmentTypeID\")\r\n // .value,\r\n // selectedPatientId = this.appointmentForm.get(\"PatientID\").value,\r\n // startDate = this.appointmentForm.get(\"startDate\").value,\r\n // startTime = this.appointmentStartTime, // this.appointmentForm.get('startTime').value,\r\n // endTime = this.appointmentEndTime; // this.appointmentForm.get('endTime').value;\r\n\r\n // let appointmentStaffs = null;\r\n // let staffIds = Array.isArray(selectedStaffs)\r\n // ? selectedStaffs\r\n // : [selectedStaffs];\r\n // appointmentStaffs = (this.appointmentModal.appointmentStaffs || []\r\n // ).map(Obj => {\r\n // return { StaffId: Obj.staffId, IsDeleted: true };\r\n // });\r\n // staffIds.forEach(staffId => {\r\n // // update case for appointment staffs ------\r\n // let staff = appointmentStaffs.find(\r\n // Obj => Obj.StaffId === staffId && Obj.IsDeleted\r\n // );\r\n // if (staff) {\r\n // let index = appointmentStaffs.indexOf(staff);\r\n // appointmentStaffs[index] = { StaffId: staff.StaffId, IsDeleted: false };\r\n // } else {\r\n // appointmentStaffs.push({ StaffId: staffId, IsDeleted: false });\r\n // }\r\n // });\r\n\r\n // let addressesObj = {\r\n // CustomAddressID: null,\r\n // CustomAddress: null,\r\n // PatientAddressID: null,\r\n // OfficeAddressID: null\r\n // };\r\n // if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OTHER\"\r\n // ) {\r\n // addressesObj.CustomAddress = this.appointmentForm.get(\r\n // \"CustomAddress\"\r\n // ).value;\r\n // addressesObj.CustomAddressID = this.appointmentForm.get(\r\n // \"CustomAddressID\"\r\n // ).value;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"PATIENT\"\r\n // ) {\r\n // addressesObj.PatientAddressID = this.selectedServiceLocation.id;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OFFICE\"\r\n // ) {\r\n // addressesObj.OfficeAddressID = this.selectedServiceLocation.id;\r\n // }\r\n\r\n const patientId = null;\r\n // selectedPatientId && typeof selectedPatientId === \"object\"\r\n // ? selectedPatientId.id\r\n // : null;\r\n //this.recurrenceRule = this.appointmentId ? \"\" : this.recurrenceRule;\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 101\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: this.patientId,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n // IsTelehealthAppointment: true,\r\n IsTelehealthAppointment: this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.formGroup3.Notes.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n // PayRate: this.userInfo.payRate,\r\n // PayRate: this.confirmation.mode==\"Online\"?this.userInfo.payRate:this.userInfo.ftFpayRate ,\r\n PayRate: 0.00,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n this.createFreeAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n createFreeAppointmentFromPatientPortal(appointmentData: any) {\r\n\r\n this.schedulerService\r\n .bookNewFreeAppointmentFromPatientPortal(appointmentData)\r\n .subscribe(response => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n // this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n openfreeapptCheckout() {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n }\r\n\r\n createModal() {\r\n\r\n let documentModal;\r\n documentModal = this.dialogModal.open(SaveDocumentComponent, { data: 0 })\r\n documentModal.afterClosed().subscribe((result: string) => {\r\n // if (result == 'save')\r\n // this.getUserDocuments();\r\n });\r\n }\r\n\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width: '70%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n });\r\n }\r\n\r\n handleImageChange(e) {\r\n //if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n let fileExtension = e.target.files[0].name.split('.').pop().toLowerCase();\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.fileList.push({\r\n data: this.dataURL,\r\n ext: fileExtension,\r\n fileName: e.target.files[0].name\r\n });\r\n\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n // }\r\n // else\r\n // this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n }\r\n\r\n saveDocuments(apptId: number) {\r\n ///Please chnage this API to avoid loops\r\n\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: \"Document\",\r\n documentTypeIdStaff: 15,\r\n expiration: \"\",\r\n key: \"STAFF\",\r\n otherDocumentType: \"\",\r\n userId: 0,\r\n patientAppointmentId: apptId\r\n }\r\n let dic = [];\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(`\"${element.data.replace(/^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/, '')}\": \"${element.ext}\"`);\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {})\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.userService.uploadUserDocuments(formValues).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n\r\n //this.notifier.notify('success', response.message);\r\n //this.closeDialog(\"save\");\r\n }\r\n else this.notifier.notify('error', response.message);\r\n });\r\n }\r\n else {\r\n //this.notifier.notify('error', \"Please add atleast one file\");\r\n }\r\n }\r\n\r\n // getProvidersFollowUpDaysAllowed(staffId){\r\n // this.schedulerService.getStaffFeeSettings(staffId).subscribe(response => {\r\n // if (response.statusCode === 200) {\r\n // this.feeSettings = response.data as ManageFeesRefundsModel;\r\n // }\r\n // })\r\n // }\r\n\r\n // get checkIfAllowed() {\r\n // if (this.confirmation.type == 'Followup') {\r\n // //////;\r\n // if (this.userInfo && this.userInfo.followUpDays &&\r\n // this.firstFormGroup.controls.appointmentDate.value) {\r\n\r\n // return this.hasPreviousNewMeeting;\r\n // const startDate = new Date(this.firstFormGroup.controls.appointmentDate.value);\r\n // const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds\r\n // const diffDates: any = (this.lastAppointmentDateTime - startDate);\r\n // const diffDays = Math.round(Math.abs((diffDates) / oneDay))\r\n // if (diffDays > -1 && diffDays <= this.userInfo.followUpDays) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n\r\n // } else { return false; }\r\n // } else { return true; }\r\n // }\r\n\r\n\r\n fetchStaffsAndPatients(locationId?: string): void {\r\n\r\n this.schedulerService\r\n .getStaffAndPatientByLocation(this.locationId.toString(), \"SCHEDULING_LIST_VIEW_OTHERSTAFF_SCHEDULES\")\r\n .subscribe((response: any) => {\r\n if (response.statusCode !== 200) {\r\n (this.officeStaffs = []), (this.officeClients = []);\r\n } else {\r\n\r\n this.officeStaffs = response.data.staff || [];\r\n this.officeClients = response.data.patients || [];\r\n\r\n }\r\n });\r\n }\r\n onDropdownSelectionChange(event: any): void {\r\n const source: MatSelect = event.source,\r\n value: any = event.value;\r\n\r\n if (source.id === \"officeStaffs\") {\r\n this.staffId = value;\r\n this.providerId = value;\r\n }\r\n if (source.id === \"officeClients\") {\r\n this.patientId = value;\r\n }\r\n\r\n\r\n\r\n }\r\n getLastNewAppointment(staffId) {\r\n\r\n this.schedulerService.getPreviousAppointment(staffId, this.patientId).subscribe(response => {\r\n if (response.statusCode === 200) {\r\n this.hasPreviousNewMeeting = response.data ? true : false;\r\n // if (lastAppointment) {\r\n // this.lastAppointmentDateTime = new Date(lastAppointment.startDateTime);\r\n // this.hasPreviousNewMeeting = true;\r\n // }\r\n }\r\n });\r\n }\r\n\r\n closeModal() {\r\n this.dialogModal.closeAll();\r\n }\r\n radioChange(id: any) {\r\n this.isSelf = id == 1 ? true : false;\r\n\r\n }\r\n\r\n\r\n\r\n getPatientSymptoms(searchText: string = 'headache'): any {\r\n return this.symptomCheckerService.getPatientSymptoms(searchText, this.age)\r\n .pipe(map(x => {\r\n return x;\r\n }));\r\n\r\n }\r\n add(event: MatChipInputEvent): void {\r\n\r\n // Add fruit only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n if (!this.matAutocomplete.isOpen) {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n // Add our fruit\r\n if ((value || '').trim()) {\r\n this.symptoms.push(value.trim());\r\n }\r\n\r\n // Reset the input value\r\n if (input) {\r\n input.value = '';\r\n }\r\n\r\n this.userControl.setValue(null);\r\n }\r\n }\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n //////;\r\n this.symptoms.push({\r\n id: event.option.value.id,\r\n value: event.option.viewValue,\r\n choice_id: \"present\"\r\n\r\n });\r\n //this.optionChecked=true;\r\n this.userInput.nativeElement.value = event.option.viewValue;\r\n this.userControl.setValue(event.option.viewValue);\r\n\r\n }\r\n\r\n\r\n getAppointment() {\r\n //////;\r\n this.loading = true;\r\n this.schedulerService\r\n .getAppointmentDetailsWithPatient(this.appointmentId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n //////;\r\n this.appointment = response.data;\r\n this.onDateChange(this.appointment.startDateTime);\r\n //this.getNearestDate();\r\n this.loading = false;\r\n\r\n }\r\n });\r\n }\r\n\r\n getNearestDate() {\r\n //////;\r\n this.unreservedproviderAvailiabilitySlots;\r\n this.unreservedproviderAvailiabilitySlots = this.unreservedproviderAvailiabilitySlots.filter(x => x.isAvailable == true);\r\n this.nearestavailabledate = this.availableapptdate + '(' + this.unreservedproviderAvailiabilitySlots[0].startTime + ' - ' + this.unreservedproviderAvailiabilitySlots[0].endTime + ')';\r\n }\r\n\r\n rescheduleBookDirectly() {\r\n //////;\r\n this.confirmation.date = this.appointment.startDateTime;\r\n this.confirmation.startTime = this.unreservedproviderAvailiabilitySlots[0].startTime;\r\n this.confirmation.endTime = this.unreservedproviderAvailiabilitySlots[0].endTime;\r\n this.openCheckout();\r\n\r\n }\r\n openCalendaravailableslots() {\r\n //////;\r\n this.loading = true;\r\n let dateString = this.appointment.startDateTime;\r\n let newDate = new Date(dateString);\r\n this.calendar._goToDateInView(newDate, \"month\")\r\n this.loading = false;\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, ComponentFactoryResolver, Input, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { InsuranceModalComponent } from 'src/app/platform/modules/agency-portal/clients/insurance/insurance-modal/insurance-modal.component';\r\nimport { PatientInsuranceModel } from 'src/app/platform/modules/client-portal/client-profile.model';\r\nimport { FilterModel, ResponseModel } from 'src/app/super-admin-portal/core/modals/common-model';\r\nimport { DialogService } from '../layout/dialog/dialog.service';\r\nimport { NotifierService } from 'angular-notifier';\r\n\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ClientsService } from 'src/app/platform/modules/client-portal/clients.service';\r\nimport { MatDialog } from '@angular/material';\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\nimport { LabclientheaderComponent } from 'src/app/platform/modules/lab/lab-clients/lab-clients-details/labclientheader/labclientheader.component';\r\nimport { SharedService } from '../shared.service';\r\nimport { DisplayAttachedFilesComponent } from '../display-attached-files/display-attached-files.component';\r\nimport { AppointmentAttachedDocumentModel } from './provider-appointment-document.model';\r\nimport { Metadata } from 'src/app/platform/modules/core/modals/common-model';\r\n\r\n@Component({\r\n selector: 'app-provider-appointment-documents',\r\n templateUrl: './provider-appointment-documents.component.html',\r\n styleUrls: ['./provider-appointment-documents.component.css']\r\n})\r\nexport class ProviderAppointmentDocumentsComponent implements OnInit {\r\n\r\n @Input() encryptedPatientId;\r\n\r\n private tabContent: ViewContainerRef;\r\n clientTabs: any;\r\n header: string = \"Booking Attached Document\";\r\n insuranceModel: Array = [];\r\n clientId: number;\r\n selectedIndex: number = 0;\r\n dataURL: any;\r\n metaData: Metadata;\r\n displayedColumns: Array;\r\n actionButtons: Array;\r\n addPermission: boolean;\r\n insuranceModelWithoutFilter: Array = [];\r\n showLoader = false;\r\n\r\n filterModel: FilterModel;\r\n role: string;\r\n isAuth: boolean;\r\n staffId: any;\r\n ProviderAppointmentDocList: AppointmentAttachedDocumentModel[]=[];\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService,\r\n private notifier: NotifierService,\r\n private sharedService: SharedService,\r\n private dialogService: DialogService,\r\n private dialogModal: MatDialog,\r\n ) {\r\n this.filterModel = new FilterModel();\r\n this.displayedColumns = [\r\n {\r\n displayName: \"PATIENT NAME\",\r\n key: \"patientName\",\r\n // isSort: true,\r\n },\r\n { displayName: \"APPOINTMENT DATE Date\", key: \"appointmentDate\", type: 'date' },\r\n // { displayName: \"Id Number\", key: \"insuranceIDNumber\" },\r\n // { displayName: \"Plan Name\", key: \"insurancePlanName\" },\r\n // { displayName: \"Insurance Plan Type\", key: \"insurancePlanTypeID\" },\r\n // {\r\n // displayName: \"Company Address\",\r\n // key: \"insuranceCompanyAddress\",\r\n // isSort: true,\r\n // }, \r\n {\r\n displayName: \"Actions\",\r\n key: \"Actions\",\r\n class: \"\",\r\n width: \"15%\",\r\n },\r\n ];\r\n this.actionButtons = [\r\n //{ displayName: \"Edit\", key: \"edit\", class: \"fa fa-edit\" },\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n //{ displayName: \"Delete\", key: \"delete\", class: \"fa fa-trash\" },\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.loadingStateSubject.next(true);\r\n\r\n\r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.clientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n } else {\r\n this.clientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n }\r\n\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.role = user.userRoles.roleName.toLowerCase();\r\n this.isAuth = user.userRoles.roleName.toLowerCase() == \"provider\";\r\n this.staffId = user.id\r\n }\r\n })\r\n\r\n this.getStaffAppointmentDocuments();\r\n this.commonService.loadingStateSubject.next(false);\r\n }\r\n\r\n // ngAfterviewInint() {\r\n \r\n // }\r\n \r\n getStaffAppointmentDocuments() {\r\n this.sharedService.GetStaffAppointmentDocumentByStaffId(this.staffId,this.filterModel).subscribe((res) => {\r\n // console.log(\"received response\", res);\r\n if(res.statusCode==200){\r\n this.ProviderAppointmentDocList = res.data;\r\n this.metaData = res.meta;\r\n this.metaData.pageSizeOptions = [5,10,25,50,100];\r\n }\r\n else{\r\n this.ProviderAppointmentDocList =[];\r\n this.metaData = null;\r\n }\r\n }) \r\n }\r\n\r\n sortHandler = (type: string) => {\r\n console.log('after sorting', type);\r\n if (type === \"atoz\") {\r\n this.insuranceModel = this.insuranceModel.sort((a, b) => a.insuranceCompanyName.localeCompare(b.insuranceCompanyName));\r\n // console.log('after sorting', this.insuranceModel);\r\n this.insuranceModel = [...this.insuranceModel];\r\n } else if (type === \"ztoa\") {\r\n this.insuranceModel = this.insuranceModel.sort((a, b) => b.insuranceCompanyName.localeCompare(a.insuranceCompanyName));\r\n this.insuranceModel = [...this.insuranceModel];\r\n } else if (type === \"oldest\") {\r\n this.insuranceModel = this.insuranceModel.sort((a, b) => new Date(a.cardIssueDate).getTime() - new Date(b.cardIssueDate).getTime());\r\n this.insuranceModel = [...this.insuranceModel];\r\n } else if (type === \"latest\") {\r\n this.insuranceModel = this.insuranceModel.sort((a, b) => new Date(b.cardIssueDate).getTime() - new Date(a.cardIssueDate).getTime());\r\n this.insuranceModel = [...this.insuranceModel];\r\n } else {\r\n this.insuranceModel = this.insuranceModelWithoutFilter;\r\n }\r\n };\r\n\r\n OpenViewAttachmentDialog(data:AppointmentAttachedDocumentModel) {\r\n var attachmentDialog = this.dialogModal.open(DisplayAttachedFilesComponent, {\r\n hasBackdrop: true,\r\n data: data.attachmentFiles,\r\n });\r\n attachmentDialog.afterClosed().subscribe((result: string) => {\r\n if (result === \"Save\") {\r\n this.getStaffAppointmentDocuments();\r\n this.showLoader = true;\r\n }\r\n });\r\n }\r\n\r\n onTableActionClick(actionObj?: any) {\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n \r\n case \"VIEW\":\r\n this.OpenViewAttachmentDialog(actionObj.data);\r\n // break;\r\n // case \"DELETE\":\r\n // // this.deleteInsurance(actionObj.data.id, this.clientId);\r\n default:\r\n break;\r\n }\r\n\r\n\r\n\r\n //console.log(actionObj);\r\n }\r\n\r\n onPageOrSortChange(changeState?: any) {\r\n console.log(\"sort pagination chnage\", changeState)\r\n changeState.pageNumber = changeState.pageIndex + 1;\r\n this.setPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n \"\",\r\n \"\",\r\n this.filterModel.searchText\r\n );\r\n // this.getPatientInsuranceList(this.filterModel);\r\n }\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n searchText: string\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n this.getStaffAppointmentDocuments();\r\n }\r\n \r\n\r\n}\r\n","module.exports = \".resultData {\\r\\n border-bottom: 1px dotted gray;\\r\\n /* text-align: center; */\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.resultData:hover{\\r\\ncolor: rgb(42, 99, 255);\\r\\ncursor: pointer;\\r\\n}\\r\\n\\r\\n.img_block {\\r\\n width:200px\\r\\n}\\r\\n\\r\\n/* .data_block{\\r\\n word-break: break-all;\\r\\n} */\\r\\n\\r\\n@media (max-width:520px) {\\r\\n h4 {\\r\\n font-size: 20px;\\r\\n }\\r\\n span{\\r\\n font-size: 16px;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n

{{ referalData.title }}

\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Doctor Info\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n {{\\\"name\\\"|translate}}: \\r\\n \\r\\n {{ referalData.providerFirstName }} {{\\r\\n referalData.providerMiddleName\\r\\n }} {{ referalData.providerLastName }}\\r\\n \\r\\n
\\r\\n
\\r\\n {{\\\"Prescriber ID\\\"|translate}}: \\r\\n \\r\\n {{ referalData.npiNumber ? referalData.npiNumber : \\\"---\\\" }}\\r\\n \\r\\n
\\r\\n
\\r\\n {{\\\"Country Code\\\"|translate}}: \\r\\n {{ referalData.providerCountryCode }} \\r\\n
\\r\\n
\\r\\n {{\\\"Contact No\\\"|translate}}: \\r\\n {{ referalData.providerPhonenumber }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Patient Info\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n {{\\\"name\\\"|translate}}: \\r\\n \\r\\n {{ referalData.patientFirstName }} {{\\r\\n referalData.patientMiddleName\\r\\n }} {{ referalData.patientLastName }}\\r\\n
\\r\\n
\\r\\n {{\\\"dob\\\"|translate}}: \\r\\n \\r\\n {{ referalData.patientDOB | date : \\\"dd/MM/yyyy\\\" }}\\r\\n \\r\\n
\\r\\n
\\r\\n {{\\\"gender\\\"|translate}}: \\r\\n {{ referalData.patientGender }} \\r\\n
\\r\\n\\r\\n
\\r\\n {{\\\"email\\\"|translate}}: \\r\\n {{ referalData.patientEmail }}\\r\\n
\\r\\n
\\r\\n {{\\\"Contact No\\\"|translate}}: \\r\\n {{ referalData.patientPhoneNumber }} \\r\\n
\\r\\n
\\r\\n {{\\\"Country Code\\\"|translate}}: \\r\\n {{ referalData.patientCountryCode }} \\r\\n
\\r\\n
\\r\\n {{\\\"Nationality\\\"|translate}}: \\r\\n \\r\\n {{\\r\\n referalData.patientNationality\\r\\n ? referalData.patientNationality\\r\\n : \\\"---\\\"\\r\\n }}\\r\\n \\r\\n
\\r\\n
\\r\\n {{\\\"NationalId No.\\\"|translate}}: \\r\\n \\r\\n {{\\r\\n referalData.patientNationalId\\r\\n ? referalData.patientNationalId\\r\\n : \\\"---\\\"\\r\\n }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

{{\\\"notes\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n {{ referalData.notes }}\\r\\n
\\r\\n\\r\\n
\\r\\n

{{\\\"Test Information\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n {{ i + 1 }} :    {{ test }}\\r\\n
\\r\\n\\r\\n
\\r\\n

{{\\\"Test Results\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n\\r\\n {{ item.originalFileName }}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Lab Info\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n {{\\\"name\\\"|translate}}: \\r\\n {{ referalData.labRadiologyFirstName }} {{\\r\\n referalData.labRadiologyLastName\\r\\n }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{\\\"email\\\"|translate}}: \\r\\n {{ referalData.labRadiologyEmail }} \\r\\n
\\r\\n
\\r\\n {{\\\"Contact No\\\"|translate}}: \\r\\n {{ referalData.labRadiologyPhoneNumber }} \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

{{\\\"LOGO\\\"|translate}}

\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Stamp\\\"|translate}}

\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

{{\\\"signature\\\"|translate}}

\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

{{ referalData.title }}

\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Doctor Info\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n {{\\\"name\\\"|translate}}: \\r\\n \\r\\n {{ referalData.providerFirstName }} {{\\r\\n referalData.providerMiddleName\\r\\n }} {{ referalData.providerLastName }}\\r\\n \\r\\n
\\r\\n
\\r\\n {{\\\"Prescriber ID\\\"|translate}}: \\r\\n \\r\\n {{ referalData.npiNumber ? referalData.npiNumber : \\\"---\\\" }}\\r\\n \\r\\n
\\r\\n
\\r\\n {{\\\"Country Code\\\"|translate}}: \\r\\n {{ referalData.providerCountryCode }} \\r\\n
\\r\\n
\\r\\n {{\\\"Contact No\\\"|translate}}: \\r\\n {{ referalData.providerPhonenumber }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Patient Info\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n {{\\\"name\\\"|translate}}: \\r\\n \\r\\n {{ referalData.patientFirstName }} {{\\r\\n referalData.patientMiddleName\\r\\n }} {{ referalData.patientLastName }}\\r\\n
\\r\\n
\\r\\n {{\\\"dob\\\"|translate}}: \\r\\n \\r\\n {{ referalData.patientDOB | date : \\\"dd/MM/yyyy\\\" }}\\r\\n \\r\\n
\\r\\n
\\r\\n {{\\\"gender\\\"|translate}}: \\r\\n {{ referalData.patientGender }} \\r\\n
\\r\\n\\r\\n
\\r\\n {{\\\"email\\\"|translate}}: \\r\\n {{ referalData.patientEmail }}\\r\\n
\\r\\n
\\r\\n {{\\\"Contact No\\\"|translate}}: \\r\\n {{ referalData.patientPhoneNumber }} \\r\\n
\\r\\n
\\r\\n {{\\\"Country Code\\\"|translate}}: \\r\\n {{ referalData.patientCountryCode }} \\r\\n
\\r\\n
\\r\\n {{\\\"Nationality\\\"|translate}}: \\r\\n \\r\\n {{\\r\\n referalData.patientNationality\\r\\n ? referalData.patientNationality\\r\\n : \\\"---\\\"\\r\\n }}\\r\\n \\r\\n
\\r\\n
\\r\\n {{\\\"NationalId No.\\\"|translate}}: \\r\\n \\r\\n {{\\r\\n referalData.patientNationalId\\r\\n ? referalData.patientNationalId\\r\\n : \\\"---\\\"\\r\\n }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

{{\\\"notes\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n {{ referalData.notes }}\\r\\n
\\r\\n\\r\\n
\\r\\n

{{\\\"Test Information\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n {{ i + 1 }} :    {{ test }}\\r\\n
\\r\\n\\r\\n
\\r\\n

{{\\\"Test Results\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n\\r\\n {{ item.originalFileName }}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Lab Info\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n {{\\\"name\\\"|translate}}: \\r\\n {{ referalData.labRadiologyFirstName }} {{\\r\\n referalData.labRadiologyLastName\\r\\n }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{\\\"email\\\"|translate}}: \\r\\n {{ referalData.labRadiologyEmail }} \\r\\n
\\r\\n
\\r\\n {{\\\"Contact No\\\"|translate}}: \\r\\n {{ referalData.labRadiologyPhoneNumber }} \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

{{\\\"LOGO\\\"|translate}}

\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Stamp\\\"|translate}}

\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

{{\\\"signature\\\"|translate}}

\\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 } from \"@angular/router\";\r\nimport { ClientsService } from \"src/app/platform/modules/client-portal/clients.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-qrcode-result-scan-landing-page\",\r\n templateUrl: \"./qrcode-result-scan-landing-page.component.html\",\r\n styleUrls: [\"./qrcode-result-scan-landing-page.component.css\"],\r\n})\r\nexport class QRCodeResultScanLandingPageComponent implements OnInit {\r\n referalId: string;\r\n referalData: any;\r\n testList: any;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private clientService: ClientsService,\r\n private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.paramMap.subscribe((params) => {\r\n this.referalId = params.get(\"id\");\r\n });\r\n // console.log(this.referalId);\r\n this.getReferalDataByReferalId();\r\n }\r\n\r\n getReferalDataByReferalId = () => {\r\n this.clientService\r\n .GetReferalDetailsByReferalIdAPi(this.referalId)\r\n .subscribe((res: any) => {\r\n // console.log(res);\r\n this.referalData = res.data;\r\n this.testList = res.data.testName.split(\"|\");\r\n // console.log(this.testList);\r\n });\r\n };\r\n\r\n\r\n showImageHandler = (element) => {\r\n if (element) {\r\n let byteChar = atob(element.fileName);\r\n let byteArray = new Array(byteChar.length);\r\n for (let i = 0; i < byteChar.length; i++) {\r\n byteArray[i] = byteChar.charCodeAt(i);\r\n }\r\n\r\n let uIntArray = new Uint8Array(byteArray);\r\n let file = new Blob([uIntArray], { type: \"application/pdf\" });\r\n var fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = fileURL;\r\n a.download = element.originalFileName;\r\n a.click();\r\n a.remove();\r\n\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(file);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(file);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n\r\n }\r\n}\r\n","module.exports = \".diacomImages{\\r\\n cursor: pointer;\\r\\n color: #01385f;\\r\\n}\\r\\n.diacomImages:hover{\\r\\n color: #17a2b8;\\r\\n text-decoration: underline;\\r\\n font-weight: bold\\r\\n}\\r\\n.panel_two {\\r\\n box-shadow: none !important;\\r\\n background-color: white !important;\\r\\n}\\r\\n::ng-deep .mat-tab-body-wrapper {\\r\\n background: white !important;\\r\\n padding: 0 !important;\\r\\n border-radius: 0 !important;\\r\\n }\\r\\n::ng-deep .mat-tab-label-container{\\r\\n flex-grow: inherit !important;\\r\\n}\\r\\nth, td {\\r\\n font-size: 16px;\\r\\n padding: 5px 10px !important;\\r\\n}\\r\\n@media screen and (max-width:767px) {\\r\\n th, td {\\r\\n font-size: 13px;\\r\\n padding: 5px !important;\\r\\n }\\r\\n}\\r\\n.gap-5 {\\r\\n gap: 10px;\\r\\n}\\r\\nh3 {\\r\\n background: #01385f;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n font-weight: 500 !important;\\r\\n line-height: 20px !important;\\r\\n padding: 15px 20px !important;\\r\\n text-transform: uppercase;\\r\\n margin: 0px 0px 10px 0px;\\r\\n}\\r\\nh4 {\\r\\n font-size: 18px;\\r\\n}\\r\\n@media screen and (max-width:500px) {\\r\\n h4 {\\r\\n font-size: 16px;\\r\\n }\\r\\n}\"","module.exports = \"\\r\\n

Test Details

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ item.fileName }}  \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'documents'|translate}}

\\r\\n
\\r\\n {{'No document uploaded yet'|translate}}\\r\\n
\\r\\n
\\r\\n {{ i + 1 }}.  {{ result.originalFileName }}  \\r\\n  \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'urls'|translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{'No document url yet!'|translate}}\\r\\n
\\r\\n
\\r\\n {{ i + 1 }}. \\r\\n {{\\r\\n url.radiologyReferralUrl\\r\\n }}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n {{'dicom_documents'|translate}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'No Pacs document yet'|translate}}\\r\\n
\\r\\n
\\r\\n {{ i + 1 }}. {{ file.fileName }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'Sr. No'|translate}}{{'test_name'|translate}}
{{ i + 1 }}{{ t.TestName }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\"","import {\r\n Component,\r\n ElementRef,\r\n Inject,\r\n OnInit,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { FormArray, FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ClientsService } from \"src/app/platform/modules/client-portal/clients.service\";\r\nimport { ResponseModel } from \"src/app/super-admin-portal/core/modals/common-model\";\r\nimport { PatientRadioData } from \"../models/sidebarInfo\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-radiology-referral-modal\",\r\n templateUrl: \"./radiology-referral-modal.component.html\",\r\n styleUrls: [\"./radiology-referral-modal.component.css\"],\r\n})\r\nexport class RadiologyReferralModalComponent implements OnInit {\r\n testResultDocument: any[] = [];\r\n @ViewChild(\"fileInput\") fileInput: ElementRef;\r\n testNames: Array = [];\r\n testIds: Array = [];\r\n selectedLabReferral: any;\r\n testList: Array<{ TestName: string; TestId: number; labReferralId: number }> =\r\n [];\r\n fileList: Array = [];\r\n\r\n fileListDicom: Array = [];\r\n existingFilesListDicom: any[] = [];\r\n dataURL: any;\r\n\r\n form: FormGroup;\r\n savedURLs: string[] = [];\r\n fieldName: any;\r\n\r\n //patientRadiologyDocumentUrlList: any[] = [];\r\n //patientResultRadiologyDicomDocumentList: any[] = [];\r\n //radilogyDocRes: any[] = [];\r\n allData: PatientRadioData;\r\n role: string;\r\n\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n private notifier: NotifierService,\r\n private clientService: ClientsService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private fb: FormBuilder,\r\n private translate: TranslateService\r\n ) {\r\n // console.log(this.data);\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.selectedLabReferral = this.data;\r\n this.testNames = this.data.testName.split(\"|\");\r\n this.testIds = this.data.testIds.split(\"|\");\r\n this.role = this.data.role;\r\n this.form = this.fb.group({\r\n inputsUrlArray: this.fb.array([]),\r\n });\r\n }\r\n ngOnInit() {\r\n for (let i = 0; i < this.testIds.length; i++) {\r\n this.testList.push({\r\n labReferralId: this.selectedLabReferral.labReferralId,\r\n TestName: this.testNames[i],\r\n TestId: this.testIds[i],\r\n });\r\n // console.log(this.testList);\r\n }\r\n\r\n // this.getLabResult();\r\n // this.getUploadedDicomFiles();\r\n this.getUploadedRadiologyUrl();\r\n this.addInput();\r\n }\r\n\r\n get formControls() {\r\n return this.form.value;\r\n }\r\n\r\n get inputArray() {\r\n return this.form.get(\"inputsUrlArray\") as FormArray;\r\n }\r\n\r\n //RadiologyURL\r\n addInput() {\r\n this.inputArray.push(\r\n this.fb.group({\r\n url: \"\",\r\n })\r\n );\r\n }\r\n removeInput(index: number) {\r\n const array=this.form.get(\"inputsUrlArray\") as FormArray;\r\n array.removeAt(index);\r\n }\r\n\r\n saveURLs = (urls) => {\r\n const data = {\r\n labReferralId: this.data.labReferralId,\r\n documentUrl: urls,\r\n };\r\n this.clientService.uploadRadiologyUrl(data).subscribe((response) => {\r\n if (response && response.statusCode == 200) {\r\n while (this.inputArray.value.length !== 0) {\r\n this.inputArray.removeAt(0);\r\n }\r\n this.fieldName = \"\";\r\n this.getUploadedRadiologyUrl();\r\n this.notifier.notify(\"success\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n };\r\n\r\n getUploadedRadiologyUrl() {\r\n this.clientService\r\n .getUploadedRadiologyUrl(this.data.labReferralId)\r\n .subscribe((response) => {\r\n if (response.data) {\r\n this.allData = response.data;\r\n // console.log(this.allData);\r\n }\r\n });\r\n }\r\n\r\n closeDialog(action: string) {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n uploadDoc_Url = (field) => {\r\n this.fieldName = field;\r\n };\r\n\r\n openUrlInNewWindow(url: string) {\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n handleImageChange(e, labReferralId) {\r\n let file_data = e.target.files;\r\n if (file_data.length > 0) {\r\n // Define a function to read each file asynchronously\r\n const readFile = (file) => {\r\n return new Promise((resolve, reject) => {\r\n let fileExtension = file.name.split(\".\").pop().toLowerCase();\r\n let reader = new FileReader();\r\n reader.onload = () => {\r\n resolve({\r\n // data: reader.result,\r\n ext: fileExtension,\r\n fileName: file.name,\r\n // testId: testId,\r\n labReferralId: labReferralId,\r\n data: reader.result,\r\n });\r\n };\r\n reader.onerror = reject;\r\n reader.readAsDataURL(file);\r\n });\r\n };\r\n\r\n // Use Promise.all to wait for all files to be processed\r\n Promise.all(Array.from(file_data).map((file) => readFile(file)))\r\n .then((fileList) => {\r\n // Add processed files to this.fileList\r\n this.fileList.push(...fileList);\r\n })\r\n .catch((error) => {\r\n // console.error(\"Error reading files:\", error);\r\n });\r\n }\r\n }\r\n\r\n deleteFile = (index: number) => {\r\n this.fileList.splice(index, 1);\r\n if (this.fileList.length === 0) {\r\n this.fileInput.nativeElement.value = null;\r\n }\r\n };\r\n\r\n getUploadedDicomFiles() {\r\n this.clientService\r\n .getUploadedDicomFiles(this.data.labReferralId)\r\n .subscribe((filename) => {\r\n this.existingFilesListDicom = filename.data;\r\n // console.log(\"Uploaded dicom files\", this.existingFilesListDicom);\r\n });\r\n }\r\n\r\n openDicomViewer(file: any) {\r\n this.clientService.getUrlForViewer(file.id).subscribe(\r\n (response: any) => {\r\n window.open(response.message, \"_blank\");\r\n },\r\n (error) => {\r\n // console.error(\"Failed to retrieve DICOM viewer URL:\", error);\r\n }\r\n );\r\n }\r\n\r\n async onSubmit() {\r\n const urls = this.inputArray.controls\r\n .map((control) => control.value.url)\r\n .filter((url) => url);\r\n const documents = this.fileList;\r\n\r\n if (documents.length > 0) {\r\n this.clientService\r\n .updateLabReferral(documents)\r\n .subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.fileList.length = 0;\r\n this.fieldName = \"\";\r\n this.notifier.notify(\"success\", response.message);\r\n if (urls.length > 0) {\r\n this.saveURLs(urls);\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n } else if (urls.length > 0) {\r\n this.saveURLs(urls);\r\n } else {\r\n this.notifier.notify(\"error\", \"Both document and URL cannot be empty.\");\r\n }\r\n }\r\n\r\n getLabResult = () => {\r\n this.clientService\r\n .GetAllLabReferralResultDocByReverralId(this.data.labReferralId)\r\n .subscribe((res: any) => {\r\n this.testResultDocument = res.data ? res.data : [];\r\n });\r\n };\r\n\r\n downloadFile(event, fileName) {\r\n this.clientService.downloadLabFile(event).subscribe((response: any) => {\r\n this.clientService.downloadFile(response, response.type, fileName);\r\n });\r\n }\r\n\r\n viewDocument = (act) => {\r\n if (act) {\r\n this.clientService.downloadLabFile(act.id).subscribe((response: any) => {\r\n if (response != null) {\r\n\r\n\r\n let newBlob = new Blob([response], { type: response.type });\r\n const nav = window.navigator as any;\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.target = \"_blank\";\r\n link.click();\r\n\r\n setTimeout(function () {\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n else{\r\n \r\n }\r\n });\r\n\r\n\r\n }\r\n };\r\n}\r\n","module.exports = \"a{\\r\\n cursor: pointer;\\r\\n}\\r\\n.result_block{\\r\\n margin-left: 40px;\\r\\n}\\r\\nh4 {\\r\\n font-size: 16px;\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n\\r\\n.result_block {\\r\\n margin-left: 0;\\r\\n word-wrap: break-word;\\r\\n font-size: 12px;\\r\\n}\\r\\n}\"","module.exports = \"
\\r\\n

0\\\">{{'Click on file name to view'|translate}}

\\r\\n

{{'No attachments are found'|translate}}

\\r\\n \\r\\n
\\r\\n {{ file.fileName }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { Console, log } from 'console';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: 'app-image-viewer',\r\n templateUrl: './image-viewer.component.html',\r\n styleUrls: ['./image-viewer.component.css']\r\n})\r\nexport class ImageViewerComponent implements OnInit {\r\n ticketAttachmentFiles: any[] = [];\r\n allFilesLoaded = false;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: { Files: any[] },\r\n private ref: MatDialogRef,\r\n private notifier: NotifierService,\r\n private translate:TranslateService,\r\n ) { \r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n ngOnInit(): void {\r\n this.ticketAttachmentFiles=this.data.Files;\r\n this.allFilesLoaded=true;\r\n // console.log(this.ticketAttachmentFiles);\r\n \r\n }\r\n\r\n extractNameInfo(data:any){\r\n\r\n }\r\n\r\n viewFile(path: string, fileName: string) {\r\n if (path !== \"\") {\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = path;\r\n // a.download = fileName;\r\n a.click();\r\n a.remove();\r\n } else {\r\n this.notifier.notify(\"error\", \"Cannot download this file\"); \r\n }\r\n }\r\n\r\n\r\n // downloadFile(path: string, fileName: string) {\r\n // if (path !== \"\") {\r\n // const link = document.createElement(\"a\");\r\n // link.href = path;\r\n // link.download = fileName;\r\n // document.body.appendChild(link);\r\n // link.click();\r\n // document.body.removeChild(link);\r\n // }\r\n // else{\r\n // this.notifier.notify(\"error\", \"cannot download this file\");\r\n // }\r\n // }\r\n \r\n closeDialog() {\r\n this.ref.close();\r\n }\r\n}\r\n\r\n\r\n","module.exports = \".readmin-panel {\\r\\n border-radius: 10px;\\r\\n box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.2);\\r\\n background-color: white;\\r\\n padding: 15px;\\r\\n}\\r\\n.readmin-form {\\r\\n margin-top: 0rem;\\r\\n}\\r\\n.pull-right.justify-content-md-between.d-flex.align-items-center {\\r\\n padding: 0px 30px;\\r\\n}\\r\\n.pull-right {\\r\\n padding-right: 30px !important;\\r\\n}\\r\\n.search-button {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border: none;\\r\\n background-image: url(\\\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220%2C0%2C256%2C256%22 width%3D%2230px%22 height%3D%2230px%22%3E%3Cg fill-opacity%3D%220.23922%22 fill%3D%22%23000000%22 fill-rule%3D%22nonzero%22 stroke%3D%22none%22 stroke-width%3D%221%22 stroke-linecap%3D%22butt%22 stroke-linejoin%3D%22miter%22 stroke-miterlimit%3D%2210%22 stroke-dasharray%3D%22%22 stroke-dashoffset%3D%220%22 font-family%3D%22none%22 font-weight%3D%22none%22 font-size%3D%22none%22 text-anchor%3D%22none%22 style%3D%22mix-blend-mode%3A normal%22%3E%3Cg transform%3D%22scale(8.53333%2C8.53333)%22%3E%3Cpath d%3D%22M13%2C3c-5.511%2C0 -10%2C4.489 -10%2C10c0%2C5.511 4.489%2C10 10%2C10c2.39651%2C0 4.59738%2C-0.85101 6.32227%2C-2.26367l5.9707%2C5.9707c0.25082%2C0.26124 0.62327%2C0.36648 0.97371%2C0.27512c0.35044%2C-0.09136 0.62411%2C-0.36503 0.71547%2C-0.71547c0.09136%2C-0.35044 -0.01388%2C-0.72289 -0.27512%2C-0.97371l-5.9707%2C-5.9707c1.41266%2C-1.72488 2.26367%2C-3.92576 2.26367%2C-6.32227c0%2C-5.511 -4.489%2C-10 -10%2C-10zM13%2C5c4.43012%2C0 8%2C3.56988 8%2C8c0%2C4.43012 -3.56988%2C8 -8%2C8c-4.43012%2C0 -8%2C-3.56988 -8%2C-8c0%2C-4.43012 3.56988%2C-8 8%2C-8z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-position: center;\\r\\n background-size: 20px 20px;\\r\\n border-radius: 0 4px 4px 0;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n right: 20px;\\r\\n color: grey;\\r\\n top: 4px;\\r\\n}\\r\\n.pos button{\\r\\n background-color: transparent;\\r\\n}\\r\\n@media screen and (max-width:991px) {\\r\\n .audit_block_middle {\\r\\n flex-direction: column-reverse;\\r\\n padding: 10px;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .readmin-form.custom_form.flex-wrap .col-lg-3.col-sm-6 {\\r\\n padding: 0;\\r\\n }\\r\\n}\\r\\n@media screen and (max-width:400px) {\\r\\n ::ng-deep .pos .mat-form-field-infix {\\r\\n width: 90px !important;\\r\\n }\\r\\n ::ng-deep .pos .mat-form-field-flex {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"

{{'Help Desk'|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\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\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { MatDatepickerInputEvent, MatDialog } from \"@angular/material\";\r\nimport { TicketDialogComponent } from \"./ticket-dialog/ticket-dialog.component\";\r\n\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { ImageViewerComponent } from \"./image-viewer/image-viewer.component\";\r\n\r\nimport { debounce, debounceTime, distinctUntilChanged, filter, switchMap, tap } from \"rxjs/operators\";\r\n\r\nimport { Observable, Subscription, of, timer } from \"rxjs\";\r\n\r\nimport { NotifierService } from \"angular-notifier\";\r\n\r\nimport {\r\n GetTicketRequestModel,\r\n Metadata,\r\n} from \"src/app/super-admin-portal/core/modals/common-model\";\r\nimport {\r\n GetRaisedTicketByIdResponceModel,\r\n Ticket,\r\n UserDocumentReq,\r\n} from \"src/app/platform/modules/client-portal/client-profile.model\";\r\nimport { SharedService } from \"../shared.service\";\r\nimport { DialogService } from \"../layout/dialog/dialog.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services/common.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: \"app-raise-ticket\",\r\n templateUrl: \"./raise-ticket.component.html\",\r\n styleUrls: [\"./raise-ticket.component.css\"],\r\n})\r\nexport class RaiseTicketComponent implements OnInit {\r\n ticket: Ticket = {\r\n id: \"\",\r\n category: \"\",\r\n priority: \"\",\r\n description: \"\",\r\n files: [],\r\n status: \"pending\",\r\n remarks: \"\",\r\n };\r\n userId!: number;\r\n\r\n metadata: Metadata;\r\n userDocRequest: UserDocumentReq;\r\n ticketForm: FormGroup;\r\n\r\n subscription: Subscription | undefined;\r\n filterTicketList: GetRaisedTicketByIdResponceModel[] = [];\r\n getTicketRequestModel: GetTicketRequestModel;\r\n testFormGroup: FormGroup;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private dialog: MatDialog,\r\n private sharedService: SharedService,\r\n private notifier: NotifierService,\r\n private dialogService: DialogService,\r\n private router: Router,\r\n private commonServiceCore: CommonService,\r\n private translate: TranslateService,\r\n private datePipe: DatePipe\r\n\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.metadata = new Metadata();\r\n this.getTicketRequestModel = new GetTicketRequestModel();\r\n this.userDocRequest = new UserDocumentReq();\r\n this.getTicketRequestModel.sortColumn = \"ticketid\";\r\n this.getTicketRequestModel.sortOrder = \"desc\";\r\n }\r\n displayColumns: Array = [\r\n {\r\n displayName: \"Ticket Id\",\r\n key: \"ticketId\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"category\",\r\n key: \"category\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"Priority\",\r\n key: \"priority\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n\r\n {\r\n displayName: \"description\",\r\n key: \"description\",\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"status\",\r\n key: \"status\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"Created Date\",\r\n key: \"createdDate\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"Completed Date\",\r\n key: \"resolvedDate\",\r\n isSort: true,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"remarks\",\r\n key: \"remarks\",\r\n // isSort: true,\r\n class: \"\",\r\n },\r\n {\r\n displayName: \"actions\",\r\n key: \"Actions\",\r\n class: \"\",\r\n },\r\n ];\r\n\r\n actionButtons: Array = [\r\n //{ displayName: \"Download\", key: \"download\", class: \"fa fa-download\" },\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n { displayName: \"Delete\", key: \"delete\", class: \"fa fa-trash\" },\r\n // { displayName: \"Edit\", key: \"edit\", class: \"fa fa-pencil\" },\r\n ];\r\n\r\n ngOnInit(): void {\r\n this.testFormGroup = this.formBuilder.group({\r\n searchKey: \"\",\r\n rangeStartDate: null,\r\n rangeEndDate: null,\r\n });\r\n\r\n // this.testFormGroup\r\n // .get(\"searchKey\")!\r\n // .valueChanges.pipe(\r\n // filter((value: string) => value.length === 0 || value.length >= 3),\r\n // tap(() => {\r\n // this.getAllUserTickets();\r\n // })\r\n // )\r\n // .subscribe();\r\n this.testFormGroup.get(\"searchKey\")!.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounce(input => input.length <= 3 ? timer(3000) : timer(0)),\r\n switchMap(searchTerm => this.searchapi(searchTerm))\r\n ).subscribe();\r\n\r\n\r\n this.setIntialValues();\r\n this.getAllUserTickets();\r\n }\r\n\r\n\r\n searchapi(searchterm?: string): Observable {\r\n this.getAllUserTickets();\r\n return of(null);\r\n }\r\n\r\n\r\n get f() {\r\n return this.testFormGroup.controls;\r\n }\r\n\r\n setIntialValues() {\r\n var date = new Date();\r\n\r\n this.f.rangeStartDate.setValue(null);\r\n this.f.rangeEndDate.setValue(null);\r\n }\r\n\r\n applyEndDateFilter(event: MatDatepickerInputEvent) {\r\n const endDate = event.value;\r\n this.f.rangeEndDate.setValue(new Date(event.value));\r\n this.getAllUserTickets();\r\n }\r\n\r\n applyStartDateFilter(event: MatDatepickerInputEvent) {\r\n const startDate = event.value;\r\n this.f.rangeStartDate.setValue(new Date(event.value));\r\n this.getAllUserTickets();\r\n }\r\n\r\n formatDate(date: Date): string {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n const year = date.getFullYear();\r\n const month = date.getMonth() + 1;\r\n const day = date.getDate();\r\n\r\n const formattedDate = `${year}-${month.toString().padStart(2, \"0\")}-${day\r\n .toString()\r\n .padStart(2, \"0\")}`;\r\n\r\n return formattedDate;\r\n }\r\n\r\n getAllUserTickets(): void {\r\n this.getTicketRequestModel.fromDate = this.formatDate(\r\n this.f.rangeStartDate.value\r\n );\r\n this.getTicketRequestModel.toDate = this.formatDate(\r\n this.f.rangeEndDate.value\r\n );\r\n this.getTicketRequestModel.searchText =\r\n this.f.searchKey.value == null ? \"\" : this.f.searchKey.value;\r\n this.subscription = this.sharedService\r\n .GetAllUserRaisedTickets(this.getTicketRequestModel)\r\n .subscribe(\r\n (res) => {\r\n if (res.statusCode === 200 && res.data) {\r\n this.filterTicketList = res.data.map((data) => {\r\n const ticketData = {\r\n ticketId: data.ticketId,\r\n category: data.categoryName,\r\n status: data.status,\r\n priority: data.priority,\r\n description: data.description,\r\n remarks: data.remarks || \"\",\r\n\r\n creatorName: data.creatorName,\r\n createdDate: this.datePipe.transform(data.createdDate, 'dd/MM/yyyy'),\r\n resolvedDate: this.datePipe.transform(data.resolvedDate, 'dd/MM/yyyy'),\r\n files: [],\r\n };\r\n\r\n if (data.files && Array.isArray(data.files)) {\r\n ticketData.files = data.files.map((file) => ({\r\n fileName: file.fileName,\r\n base64: file.base64,\r\n fileId: file.fileId,\r\n ticketId: file.ticketId,\r\n }));\r\n }\r\n\r\n return ticketData;\r\n });\r\n\r\n this.mapMetadata(res.meta);\r\n this.metadata.pageSizeOptions = [5, 10, 25, 50, 100];\r\n } else {\r\n this.filterTicketList = [];\r\n this.metadata.totalRecords = 0;\r\n this.metadata.pageSize = 5;\r\n this.metadata.currentPage = 1;\r\n this.metadata.totalPages = 0;\r\n this.metadata.defaultPageSize = 5;\r\n // console.error(\"Error loading user tickets. Response:\", res);\r\n }\r\n },\r\n (error) => {\r\n // console.error(\"Error loading user tickets\", error);\r\n }\r\n );\r\n }\r\n\r\n clearFilters(): void {\r\n this.testFormGroup.reset({\r\n searchKey: \"\",\r\n rangeStartDate: null,\r\n rangeEndDate: null,\r\n });\r\n this.getAllUserTickets();\r\n }\r\n\r\n mapMetadata(apiMetadata: any): Metadata {\r\n this.metadata.totalRecords = apiMetadata.totalRecords;\r\n this.metadata.pageSize = apiMetadata.pageSize;\r\n this.metadata.currentPage = apiMetadata.currentPage;\r\n this.metadata.totalPages = apiMetadata.totalPages;\r\n this.metadata.defaultPageSize = apiMetadata.defaultPageSize;\r\n this.metadata.pageSizeOptions = apiMetadata.pageSizeOptions || [\r\n 5, 10, 25, 50, 100,\r\n ];\r\n return this.metadata;\r\n }\r\n\r\n // setTicketList(arr: GetRaisedTicketByIdResponceModel[]) {\r\n // this.filterTicketList = [...arr];\r\n\r\n // }\r\n\r\n openTicketForm() {\r\n const dialogRef = this.dialog.open(TicketDialogComponent);\r\n dialogRef.afterClosed().subscribe(() => {\r\n this.getAllUserTickets();\r\n });\r\n }\r\n onTableActionClick(actionObj?: any) {\r\n switch (actionObj.action) {\r\n case \"view\":\r\n this.openImageViewerDialog(actionObj.data.files);\r\n break;\r\n case \"delete\":\r\n this.deleteRaisedTicket(actionObj);\r\n break;\r\n default:\r\n this.router.navigate([\"web/ticket\"], {\r\n queryParams: {\r\n ticketid: this.commonServiceCore.encryptValue(\r\n actionObj.data.ticketId,\r\n true\r\n ),\r\n },\r\n });\r\n break;\r\n }\r\n }\r\n openImageViewerDialog(files: File[]): void {\r\n const dialogRef = this.dialog.open(ImageViewerComponent, {\r\n data: { Files: files },\r\n });\r\n dialogRef.afterClosed().subscribe((result) => { });\r\n }\r\n\r\n onPageOrSortChange = (e) => {\r\n this.getTicketRequestModel.pageNumber = e.pageNumber;\r\n this.getTicketRequestModel.pageSize = e.pageSize;\r\n this.getTicketRequestModel.sortColumn = e.sort;\r\n this.getTicketRequestModel.sortOrder = e.order;\r\n this.getAllUserTickets();\r\n };\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n deleteRaisedTicket = (actionObj) => {\r\n this.dialogService\r\n .confirm(this.translate.instant(\"are_you_sure you_want_to_delete_this_ticket\"))\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.sharedService\r\n .DeleteUserRaisedTicketById(actionObj.data.ticketId)\r\n .subscribe((res) => {\r\n if (res.statusCode === 200 && res.data) {\r\n this.notifier.notify(\"success\", res.message);\r\n this.getAllUserTickets();\r\n } else {\r\n this.notifier.notify(\"error\", res.message);\r\n }\r\n });\r\n }\r\n });\r\n };\r\n}\r\n","module.exports = \".mat-radio-group {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.mat-radio-button {\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.mat-radio-group mat-label {\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.custom_form .border .mat-form-field-flex {\\r\\n height: 45px;\\r\\n border: none;\\r\\n}\\r\\n\\r\\n::ng-deep .Ticket_modal .mat-form-field-subscript-wrapper {\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n::ng-deep .Ticket_modal .ticket_textarea .mat-form-field-subscript-wrapper {\\r\\n margin-top: 18px;\\r\\n}\\r\\n\\r\\n.uplaod_pic {\\r\\n width: 150px;\\r\\n}\\r\\n\\r\\n/* mat-error {\\r\\n margin-bottom: 2px;\\r\\n} */\"","module.exports = \"
\\r\\n

{{'Add Ticket'|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n 0\\\">\\r\\n \\r\\n {{ category.categoryName | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Category is required'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'Low'|translate}}\\r\\n {{'Medium'|translate}}\\r\\n {{'High'|translate}}\\r\\n \\r\\n \\r\\n {{'Priority is required'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Description is required'|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n {{ file.fileName }}\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\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 { MatDialogRef } from \"@angular/material\";\r\n\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\n\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ClientsService } from \"src/app/platform/modules/client-portal/clients.service\";\r\nimport { CommonService } from \"src/app/super-admin-portal/core/services\";\r\nimport { SharedService } from \"../../shared.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n@Component({\r\n selector: \"app-ticket-dialog\",\r\n templateUrl: \"./ticket-dialog.component.html\",\r\n styleUrls: [\"./ticket-dialog.component.css\"],\r\n})\r\nexport class TicketDialogComponent implements OnInit {\r\n IsEditForm: boolean = false;\r\n selectedFiles: File[] = [];\r\n fileList: any = [];\r\n userId!: number;\r\n subscription: Subscription | undefined;\r\n categories: any[];\r\n // ticket: Ticket = {\r\n // id: '',\r\n // category: '',\r\n // priority: '',\r\n // description: '',\r\n // files: [],\r\n // status: 'pending',\r\n // remarks: ''\r\n // };\r\n dataURL: any;\r\n ticketForm: FormGroup;\r\n submitted: boolean;\r\n constructor(\r\n private fb: FormBuilder,\r\n private ref: MatDialogRef,\r\n private sharedService: SharedService,\r\n private notifier: NotifierService,\r\n private translate:TranslateService,\r\n\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.getCategories();\r\n this.initializeForm();\r\n }\r\n\r\n initializeForm(): void {\r\n this.ticketForm = this.fb.group({\r\n id: [\"\"],\r\n category: [\"\", Validators.required],\r\n priority: [\"\", Validators.required],\r\n description: [\"\", Validators.required],\r\n files: [],\r\n });\r\n }\r\n\r\n onSubmit() {\r\n if (!this.ticketForm.invalid) {\r\n let formValues = {\r\n base64: this.fileList,\r\n category: this.ticketForm.value.category,\r\n priority: this.ticketForm.value.priority,\r\n description: this.ticketForm.value.description,\r\n status: \"Pending\",\r\n };\r\n let dic = [];\r\n // console.log(formValues.base64);\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(\r\n `\"${element.data.replace(\r\n /^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/,\r\n \"\"\r\n )}\": \"${element.ext}\":\"${element.fileName}\"`\r\n );\r\n });\r\n // console.log(dic);\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {});\r\n // console.log(newObj);\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.sharedService.UploadTicket(formValues).subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.closeDialog(\"\");\r\n } else {\r\n // console.error(`Error : ${response.message}`);\r\n }\r\n });\r\n }\r\n }\r\n\r\n handleImageChange(e) {\r\n const files: FileList = e.target.files;\r\n\r\n for (let i = 0; i < files.length; i++) {\r\n const file = files[i];\r\n const fileExtension = file.name.split(\".\").pop().toLowerCase();\r\n\r\n this.selectedFiles.push(file);\r\n\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n const dataURL = reader.result;\r\n this.fileList.push({\r\n data: dataURL,\r\n ext: fileExtension,\r\n fileName: file.name,\r\n });\r\n };\r\n\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n removeFile(index: number) {\r\n const filename = this.fileList[index].fileName;\r\n this.fileList.splice(index, 1);\r\n const indexToRemove = this.selectedFiles.findIndex(\r\n (file) => file.name === filename\r\n );\r\n\r\n if (indexToRemove !== -1) {\r\n this.selectedFiles.splice(indexToRemove, 1);\r\n }\r\n }\r\n\r\n getCategories() {\r\n this.sharedService.GetTicketRaiseCategories().subscribe((res) => {\r\n if (res.statusCode === 200 && res.data) {\r\n this.categories = res.data;\r\n }\r\n });\r\n }\r\n closeDialog(type) {\r\n this.ref.close();\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Add Ticket

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Communication\\r\\n Medical Care\\r\\n Billing\\r\\n other\\r\\n \\r\\n \\r\\n Category is required\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Low\\r\\n Medium\\r\\n High\\r\\n \\r\\n \\r\\n \\r\\n Priority is required\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Description 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 {{ file.fileName }}\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\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, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\n\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Ticket } from 'src/app/platform/modules/client-portal/client-profile.model';\r\n\r\n@Component({\r\n selector: 'app-update-ticket',\r\n templateUrl: './update-ticket.component.html',\r\n styleUrls: ['./update-ticket.component.css']\r\n})\r\nexport class UpdateTicketComponent implements OnInit {\r\n ticketForm: FormGroup;\r\n selectedFiles: File[] = [];\r\n fileList: any = [];\r\n constructor(\r\n private fb: FormBuilder,\r\n @Inject(MAT_DIALOG_DATA) public data: { Ticket: Ticket },\r\n private ref: MatDialogRef,\r\n private translate:TranslateService,\r\n ) { \r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeForm(this.data.Ticket);\r\n this.handleAlreadySelectedFiles(this.data.Ticket.files)\r\n }\r\n\r\n initializeForm(ticket: Ticket): void {\r\n this.ticketForm = this.fb.group({\r\n id: [ticket.id],\r\n category: [ticket.category, Validators.required],\r\n priority: [ticket.priority, Validators.required],\r\n description: [ticket.description, Validators.required],\r\n files: [ticket.files]\r\n });\r\n }\r\n onSubmit(event: Event): void {\r\n if (this.ticketForm.valid) {\r\n const updatedTicket: Ticket = { ...this.data.Ticket, ...this.ticketForm.value };\r\n updatedTicket.files = this.selectedFiles;\r\n console.log('Updated Ticket:', updatedTicket);\r\n this.ref.close(updatedTicket);\r\n } else {\r\n alert('Form is invalid.');\r\n }\r\n }\r\n\r\n removeFile(index: number) {\r\n const filename = (this.fileList[index].fileName);\r\n this.fileList.splice(index, 1);\r\n const indexToRemove = this.selectedFiles.findIndex((file) => file.name === filename);\r\n\r\n if (indexToRemove !== -1) {\r\n this.selectedFiles.splice(indexToRemove, 1);\r\n }\r\n\r\n }\r\n\r\n\r\n handleAlreadySelectedFiles(file: File[]) {\r\n const files: File[] = file;\r\n\r\n for (let i = 0; i < files.length; i++) {\r\n const file = files[i];\r\n const fileExtension = file.name.split('.').pop().toLowerCase();\r\n\r\n this.selectedFiles.push(file);\r\n\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n const dataURL = reader.result;\r\n this.fileList.push({\r\n data: dataURL,\r\n ext: fileExtension,\r\n fileName: file.name,\r\n });\r\n };\r\n this.fileList = this.fileList;\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n handleImageChange(e) {\r\n const files: FileList = e.target.files;\r\n\r\n for (let i = 0; i < files.length; i++) {\r\n const file = files[i];\r\n const fileExtension = file.name.split('.').pop().toLowerCase();\r\n\r\n this.selectedFiles.push(file);\r\n\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n const dataURL = reader.result;\r\n this.fileList.push({\r\n data: dataURL,\r\n ext: fileExtension,\r\n fileName: file.name,\r\n });\r\n };\r\n\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n closeDialog(type) {\r\n this.ref.close();\r\n }\r\n}\r\n","module.exports = \"\\r\\n.img-thumbnail {\\r\\n max-width: 100px;\\r\\n max-height: 100px;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n border-radius: 4px;\\r\\n }\\r\\n\\r\\n h2.title_name{\\r\\n margin: 0 0 10px 0;\\r\\n font-size: 20px;\\r\\n }\\r\\n\\r\\n .describe_text {\\r\\n font-size: 18px;\\r\\n box-shadow: 0px 0px 18px rgba(0, 0, 0, 0.2);\\r\\n color: #01385f;\\r\\n border-radius: 0 0 10px 10px;\\r\\n }\\r\\n\\r\\n .describe_text p , .describe_text span{\\r\\n font-size: 16px;\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n }\\r\\n\\r\\n strong {\\r\\n font-size: 16px;\\r\\n margin: 0;\\r\\n }\\r\\n\\r\\n small {\\r\\n font-size: 14px;\\r\\n margin: 0;\\r\\n }\\r\\n\\r\\n p {\\r\\n margin: 0;\\r\\n }\\r\\n\\r\\n ::ng-deep .angular-editor-textarea {\\r\\n height: inherit !important;\\r\\n min-height: inherit !important;\\r\\n }\\r\\n\\r\\n form {\\r\\n box-shadow: 0px 0px 18px rgba(0, 0, 0, 0.2);\\r\\n padding: 15px;\\r\\n border-radius: 10px;\\r\\n }\\r\\n\\r\\n form p {\\r\\n font-size: 16px;\\r\\n margin-bottom: 10px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n i.fa.fa-upload.fa-2x {\\r\\n padding: 0 10px;\\r\\n}\\r\\n\\r\\n .file_up {\\r\\n font-size: 16px !important;\\r\\n margin: 0 !important;\\r\\n}\\r\\n\\r\\n @media screen and (max-width:600px) {\\r\\n h2.title_name{\\r\\n font-size: 17px;\\r\\n }\\r\\n ::ng-deep .notify_refresh.mat-raised-button {\\r\\n min-width: 43px !important;\\r\\n line-height: 32px !important;\\r\\n }\\r\\n .bg-warn-two {\\r\\n padding: 0 !important;\\r\\n }\\r\\n form p {\\r\\n font-size: 12px !important;\\r\\n margin-bottom: 5px !important;\\r\\n}\\r\\n::ng-deep .angular-editor-placeholder {\\r\\n font-size: 13px !important;\\r\\n}\\r\\n.file_up {\\r\\n font-size: 12px !important;\\r\\n margin: 0 !important;\\r\\n}\\r\\n}\"","module.exports = \"

Shashank Yadav

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ allConversation?.status }}\\r\\n \\r\\n Ticket #{{ this.ticketId }} \\r\\n
\\r\\n
\\r\\n \\r\\n  \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Description:  {{ this.allConversation?.description }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"profile\\r\\n
\\r\\n  \\r\\n \\r\\n \\r\\n {{\\r\\n item.creatorName != null\\r\\n ? item.creatorName\\r\\n : item.roleName == \\\"Superadmin\\\"\\r\\n ? \\\"Admin\\\"\\r\\n : item.creatorName\\r\\n }}\\r\\n \\r\\n  \\r\\n {{ item.createdDate | date : \\\"mediumDate\\\" }}\\r\\n {{ item.createdDate | date : \\\"shortTime\\\" }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Enter message here

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

\\r\\n Attach file here\\r\\n

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

\\r\\n {{ file.fileName }}\\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, ElementRef, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services/common.service\";\r\nimport { SharedService } from \"../shared.service\";\r\nimport { AngularEditorConfig } from \"@kolkov/angular-editor\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { SuperadminupdateraiseticketComponent } from \"src/app/super-admin-portal/raiseTicket/superadminraiseticket/superadminupdateraiseticket/superadminupdateraiseticket.component\";\r\nimport { SuperadminRaiseticketService } from \"src/app/super-admin-portal/raiseTicket/superadminraiseticket/superadmin-raiseticket.service\";\r\nimport { GetRaisedTicketByIdResponceModel } from \"src/app/platform/modules/client-portal/client-profile.model\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\nexport interface TicketMessage {\r\n ticketId: number;\r\n // senderId: number;\r\n messageText: string;\r\n base64: any[];\r\n}\r\n\r\n@Component({\r\n selector: \"app-raised-ticket-details\",\r\n templateUrl: \"./raised-ticket-details.component.html\",\r\n styleUrls: [\"./raised-ticket-details.component.css\"],\r\n})\r\nexport class RaisedTicketDetailsComponent implements OnInit {\r\n ticketId: any;\r\n ticketMessageForm: FormGroup;\r\n fileList: any = [];\r\n userId!: number;\r\n showSendNotificationButton: boolean = true;\r\n userRole: any;\r\n allConversation: any;\r\n profilepic: string = \"../../../assets/doctor-img-1.png\";\r\n statusColor: string = \"red\";\r\n @ViewChild(\"chatContainer\") private chatContainer: ElementRef;\r\n config: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: \"15rem\",\r\n minHeight: \"5rem\",\r\n placeholder: this.translate.instant(\"enter_text_here\"),\r\n translate: \"no\",\r\n defaultParagraphSeparator: \"p\",\r\n defaultFontName: \"Arial\",\r\n\r\n customClasses: [\r\n {\r\n name: \"quote\",\r\n class: \"quote\",\r\n },\r\n {\r\n name: \"redText\",\r\n class: \"redText\",\r\n },\r\n {\r\n name: \"titleText\",\r\n class: \"titleText\",\r\n tag: \"h1\",\r\n },\r\n ],\r\n };\r\n // allConversation: any[] = [\r\n // {\r\n // userId: 12,\r\n // userName: \"Shashank Yadav\",\r\n // message: \"Hello how are you\",\r\n // doc: \"\",\r\n // profilePic: \"../../../assets/doctor-img-1.png\",\r\n // },\r\n // {\r\n // userId: 11,\r\n // userName: \"Shashank \",\r\n // message: \"Fine\",\r\n // doc: \"\",\r\n // profilePic: \"../../../assets/admin-logo.png\",\r\n // },\r\n // {\r\n // userId: 12,\r\n // userName: \"Shashank Yadav\",\r\n // message: \"Hello how are you\",\r\n // doc: \"\",\r\n // profilePic: \"../../../assets/doctor-img-1.png\",\r\n // },\r\n // {\r\n // userId: 11,\r\n // userName: \"Shashank \",\r\n // message: \"Hello how are you\",\r\n // doc: \"\",\r\n // profilePic: \"../../../assets/admin-logo.png\",\r\n // },\r\n // {\r\n // userId: 12,\r\n // userName: \"Shashank Yadav\",\r\n // message: \"Hello how are you\",\r\n // doc: \"\",\r\n // profilePic: \"../../../assets/doctor-img-1.png\",\r\n // },\r\n // {\r\n // userId: 11,\r\n // userName: \"Shashank \",\r\n // message: \"Hello how are you\",\r\n // doc: \"\",\r\n // profilePic: \"../../../assets/admin-logo.png\",\r\n // },\r\n // {\r\n // userId: 12,\r\n // userName: \"Shashank Yadav\",\r\n // message: \"Hello how are you\",\r\n // doc: \"\",\r\n // profilePic: \"../../../assets/doctor-img-1.png\",\r\n // },\r\n // {\r\n // userId: 11,\r\n // userName: \"Shashank \",\r\n // message: \"Hello how are you\",\r\n // doc: \"\",\r\n // profilePic: \"../../../assets/admin-logo.png\",\r\n // },\r\n // {\r\n // userId: 12,\r\n // userName: \"Shashank Yadav\",\r\n // message: \"Hello how are you\",\r\n // doc: \"\",\r\n // profilePic: \"../../../assets/doctor-img-1.png\",\r\n // },\r\n // ];\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService,\r\n private fb: FormBuilder,\r\n private sharedService: SharedService,\r\n private notifier: NotifierService,\r\n private dialog: MatDialog,\r\n private ticketRaiseService: SuperadminRaiseticketService,\r\n private translate:TranslateService\r\n ) {\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.ticketId = this.commonService.encryptValue(params.ticketid, false);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n // console.log(this.ticketId);\r\n this.checkPatientLogIn();\r\n this.getAllConversation();\r\n this.initializeForm();\r\n }\r\n\r\n checkPatientLogIn() {\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n // this.currentLoginUserId = user.id;\r\n this.userId = user.userID;\r\n ;\r\n this.userRole = user && user.users3 && user.users3.userRoles.userType;\r\n this.showSendNotificationButton = !(\r\n this.userRole === \"CLIENT\" || this.userRole === \"PROVIDER\"\r\n );\r\n }\r\n });\r\n }\r\n\r\n // ngAfterViewChecked() {\r\n // this.scrollToBottom();\r\n // }\r\n\r\n scrollToBottom(): void {\r\n try {\r\n this.chatContainer.nativeElement.scrollTop =\r\n this.chatContainer.nativeElement.scrollHeight;\r\n } catch (err) {\r\n // console.log(err);\r\n }\r\n }\r\n\r\n initializeForm(): void {\r\n this.ticketMessageForm = this.fb.group({\r\n message: \"\",\r\n });\r\n }\r\n\r\n ticketRaiseMessageResponseModel: any;\r\n getAllConversation() {\r\n this.sharedService.GetAllConversation(this.ticketId).subscribe((res) => {\r\n this.allConversation = res.data;\r\n this.ticketRaiseMessageResponseModel =\r\n res.data.ticketRaiseMessageResponseModel;\r\n let ticketstatus = res.data.status;\r\n if (ticketstatus == \"Pending\") {\r\n this.statusColor = \"red\";\r\n }\r\n if (ticketstatus === \"Resolved\") {\r\n this.statusColor = \"green\";\r\n }\r\n if (ticketstatus == \"In Progress\") {\r\n this.statusColor = \"yellowgreen\";\r\n }\r\n\r\n setTimeout(() => {\r\n this.scrollToBottom();\r\n }, 1000);\r\n });\r\n }\r\n\r\n handleImageChange(e) {\r\n const input = e.target as HTMLInputElement;\r\n const file_data = input.files;\r\n // console.log(\"file_data\", file_data);\r\n if (file_data.length > 0) {\r\n const readFile = (file) => {\r\n return new Promise((resolve, reject) => {\r\n let fileExtension = file.name.split(\".\").pop().toLowerCase();\r\n let reader = new FileReader();\r\n reader.onload = () => {\r\n resolve({\r\n data: reader.result,\r\n ext: fileExtension,\r\n fileName: file.name,\r\n });\r\n };\r\n reader.onerror = reject;\r\n reader.readAsDataURL(file);\r\n });\r\n };\r\n\r\n Promise.all(Array.from(file_data).map((file) => readFile(file)))\r\n .then((fileList) => {\r\n this.fileList.push(...fileList);\r\n input.value = \"\";\r\n })\r\n .catch((error) => {\r\n // console.error(\"Error reading files:\", error);\r\n });\r\n }\r\n }\r\n\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n }\r\n\r\n refreshMessage = () => {\r\n this.getAllConversation();\r\n };\r\n\r\n sendMessage = () => {\r\n // console.log(this.ticketMessageForm);\r\n const messageText = this.ticketMessageForm.get(\"message\").value;\r\n if (\r\n this.fileList.length > 0 ||\r\n (messageText.trim() !== \"\" && messageText !== null)\r\n ) {\r\n const message: TicketMessage = {\r\n ticketId: this.ticketId,\r\n messageText: messageText !== \"\" ? messageText : null,\r\n base64: this.fileList != null ? this.fileList : null,\r\n };\r\n let dic = [];\r\n // console.log(message.base64);\r\n if (message.base64 != null) {\r\n message.base64.forEach((element, index) => {\r\n dic.push(\r\n `\"${element.data.replace(\r\n /^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/,\r\n \"\"\r\n )}\": \"${element.ext}\":\"${element.fileName}\"`\r\n );\r\n });\r\n // console.log(dic);\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {});\r\n // console.log(newObj);\r\n message.base64 = newObj;\r\n }\r\n this.sharedService.SendTicketChatMessage(message).subscribe({\r\n next: (res) => {\r\n if (res.statusCode === 200) {\r\n this.ticketMessageForm.setValue({ message: \"\" });\r\n this.fileList = [];\r\n this.refreshMessage();\r\n } else {\r\n }\r\n },\r\n error: (error) => {\r\n // console.error(\"Internal server error\");\r\n },\r\n });\r\n }\r\n };\r\n\r\n // getFileType(fileName: string): string {\r\n // const extension = fileName.split('.').pop().toLowerCase();\r\n // const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];\r\n // const documentExtensions = ['txt', 'docx', 'doc', 'xlsx', 'pptx'];\r\n // const audioExtensions = ['mp3', 'wav', 'ogg'];\r\n // const videoExtensions = ['mp4', 'avi', 'mov', 'mkv'];\r\n\r\n // if (imageExtensions.includes(extension)) {\r\n // return 'image';\r\n // } else if (extension === 'pdf') {\r\n // return 'pdf';\r\n // } else if (documentExtensions.includes(extension)) {\r\n // return 'document';\r\n // } else if (audioExtensions.includes(extension)) {\r\n // return 'audio';\r\n // } else if (videoExtensions.includes(extension)) {\r\n // return 'video';\r\n // } else {\r\n // return 'other';\r\n // }\r\n // }\r\n getFileType(fileName: string): string {\r\n const parts = fileName.split(\".\");\r\n let extension = \"\";\r\n\r\n if (parts.length > 1) {\r\n const potentialExtension = parts.pop();\r\n extension = potentialExtension ? potentialExtension.toLowerCase() : \"\";\r\n }\r\n\r\n switch (extension) {\r\n case \"jpg\":\r\n case \"jpeg\":\r\n case \"png\":\r\n case \"gif\":\r\n return \"image\";\r\n case \"mp4\":\r\n case \"mov\":\r\n case \"avi\":\r\n return \"video\";\r\n case \"mp3\":\r\n case \"wav\":\r\n case \"m4a\":\r\n return \"audio\";\r\n case \"pdf\":\r\n return \"document\";\r\n case \"doc\":\r\n case \"docx\":\r\n return \"document\";\r\n case \"xls\":\r\n case \"xlsx\":\r\n return \"document\";\r\n default:\r\n return \"other\";\r\n }\r\n }\r\n\r\n getImageType(fileName: string): string {\r\n const extension = fileName.split(\".\").pop().toLowerCase();\r\n switch (extension) {\r\n case \"jpg\":\r\n case \"jpeg\":\r\n return \"jpeg\";\r\n case \"png\":\r\n return \"png\";\r\n case \"gif\":\r\n return \"gif\";\r\n case \"bmp\":\r\n return \"bmp\";\r\n default:\r\n return \"png\";\r\n }\r\n }\r\n\r\n openFile(file: any) {\r\n // console.log(file);\r\n\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.target = \"_blank\";\r\n a.href = file.base64;\r\n // a.download = fileName;\r\n a.click();\r\n a.remove();\r\n // const fileType = this.getFileType(fileName);\r\n // const newWindow = window.open();\r\n\r\n // switch (fileType) {\r\n // case 'image':\r\n // newWindow.document.write(``);\r\n // break;\r\n // case 'pdf':\r\n // newWindow.document.write(``);\r\n // break;\r\n // case 'document':\r\n // this.downloadFile(base64, fileName);\r\n // break;\r\n // case 'audio':\r\n // newWindow.document.write(``);\r\n // break;\r\n // case 'video':\r\n // newWindow.document.write(``);\r\n // break;\r\n // default:\r\n // this.downloadFile(base64, fileName);\r\n // break;\r\n // }\r\n }\r\n\r\n downloadFile(base64: string, fileName: string) {\r\n const link = document.createElement(\"a\");\r\n link.href = `data:application/octet-stream;base64,${base64}`;\r\n link.download = fileName;\r\n link.click();\r\n }\r\n SendNewMessageNotificationToUser() {\r\n const ticketId = this.allConversation.ticketId;\r\n this.sharedService.SendNewMessageNotification(ticketId).subscribe((res) => {\r\n if (res.statusCode === 200) {\r\n this.notifier.notify(\r\n \"success\",\r\n \"Notification Email has been sent to user about a new message\"\r\n );\r\n } else {\r\n this.notifier.notify(\"error\", \"Error sending email\");\r\n }\r\n });\r\n }\r\n changeStatusOfTicket = () => {\r\n if(this.showSendNotificationButton){\r\n const dialogRef = this.dialog.open(SuperadminupdateraiseticketComponent, {\r\n data: { Ticket: this.allConversation },\r\n });\r\n dialogRef\r\n .afterClosed()\r\n .subscribe((updatedTicket: GetRaisedTicketByIdResponceModel) => {\r\n if (updatedTicket) {\r\n this.sharedService\r\n .OnUpdateTicket({\r\n userId: 1,\r\n ticketId: updatedTicket.ticketId,\r\n status: updatedTicket.status,\r\n remarks: updatedTicket.remarks,\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (response.statusCode === 200 && response.data) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getAllConversation();\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n },\r\n (error) => {\r\n // console.error(\"Error:\", error);\r\n }\r\n );\r\n }\r\n });\r\n }\r\n };\r\n}\r\n","module.exports = \".user-registed {\\r\\n text-align: center;\\r\\n}\\r\\n.mat-dialog-container {\\r\\n padding: 10px !important;\\r\\n overflow: hidden;\\r\\n}\\r\\n.mat-form-field {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n.telelogin {\\r\\n max-width: 950px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n padding: 0px 15px 0px 15px;\\r\\n}\\r\\n.tele-bg {\\r\\n background-image: url('tele-login-bg.jpg');\\r\\n background-repeat: no-repeat;\\r\\n background-size: cover;\\r\\n background-position: center;\\r\\n position: relative;\\r\\n color: #fff;\\r\\n z-index: 0;\\r\\n padding: 30px 15px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n.tele-bg:before {\\r\\n background-color: rgba(1, 74, 113, 0.7);\\r\\n position: absolute;\\r\\n left: 0;\\r\\n height: 100%;\\r\\n top: 0;\\r\\n content: \\\"\\\";\\r\\n z-index: -1;\\r\\n width: 100%;\\r\\n}\\r\\n.telelogin h3 {\\r\\n font-size: 16px;\\r\\n margin: 20px 0px;\\r\\n}\\r\\n.tele-bg p {\\r\\n color: #fff;\\r\\n}\\r\\n.telelogin-form h3 {\\r\\n margin: 0px;\\r\\n}\\r\\n.telelogin-form i {\\r\\n font-size: 15px;\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n cursor: pointer;\\r\\n}\\r\\n.member-link {\\r\\n padding-top: 30px;\\r\\n padding-bottom: 20px;\\r\\n font-size: 13px;\\r\\n}\\r\\n.member-link span {\\r\\n color: #01385f;\\r\\n cursor: pointer;\\r\\n}\\r\\n.member-link span:hover {\\r\\n text-decoration: underline;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{\\\"Sign up today\\\"|translate}}!

\\r\\n

{{\\\"Get started\\\"|translate}}.

\\r\\n

{{\\\"Discover the best doctors, the city nearest to you\\\"|translate}}.

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

{{\\\"sign_up\\\"|translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_first_name\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_last_name\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_dob\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"Age should be greater than 18 years\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ genderVal.value }}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_select_gender\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_Phone_number\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ masterRole.value }}\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please select user role\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"please_enter_email\\\"|translate}}\\r\\n \\r\\n \\r\\n {{'email'|translate}} '{{ formControls.userName.value }}' {{\\\"already_exist\\\"|translate}}\\r\\n \\r\\n \\r\\n {{'email'|translate}} '{{ formControls.userName.value }}'\\r\\n {{\\\"not valid, allowed only alphanumeric characters.\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please enter password\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"Password should have number,special character lowercase and uppercase letters\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{\\\"Please re-enter password\\\"|translate}}\\r\\n \\r\\n \\r\\n {{\\\"Password doesn't match\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{\\\"already_have_an_account\\\"|translate}}\\r\\n {{\\\"Sign in here\\\"|translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n

{{ Message.title }}

\\r\\n

{{ Message.message }}

\\r\\n \\\"user-register-icon\\\"\\r\\n
\\r\\n {{\\\"Sign in here\\\"|translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ComponentRef,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { RegisterService } from \"src/app/front/register/register.service\";\r\nimport { UserModel } from \"src/app/platform/modules/agency-portal/users/users.model\";\r\nimport { PasswordValidator } from \"src/app/shared/password-validator\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { InvitationRegisterModel } from \"src/app/front/register/register.model\";\r\nimport { ErrorStateMatcher } from \"@angular/material/core\";\r\nimport { FormGroupDirective } from \"@angular/forms\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { AbstractControl, ValidationErrors } from \"@angular/forms\";\r\nimport { Observable } from \"rxjs\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { SubDomainService } from \"src/app/subDomain.service\";\r\nimport { MatDialogRef, MatDialog } from \"@angular/material\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\nexport function AgeValidator(\r\n control: AbstractControl\r\n): { [key: string]: boolean } | null {\r\n var selectedDate = new Date(control.value);\r\n var today = new Date();\r\n var year = today.getFullYear();\r\n var month = today.getMonth() + 1;\r\n var day = today.getDate();\r\n var yy = selectedDate.getFullYear();\r\n var mm = selectedDate.getMonth() + 1;\r\n var dd = selectedDate.getDate();\r\n var years, months, days;\r\n // months\r\n months = month - mm;\r\n if (day < dd) {\r\n months = months - 1;\r\n }\r\n // years\r\n years = year - yy;\r\n if (month * 100 + day < mm * 100 + dd) {\r\n years = years - 1;\r\n months = months + 12;\r\n }\r\n // days\r\n days = Math.floor(\r\n (today.getTime() - new Date(yy + years, mm + months - 1, dd).getTime()) /\r\n (24 * 60 * 60 * 1000)\r\n );\r\n if (years < 18) return { age: true };\r\n else return null;\r\n //\r\n //return { years: years, months: months, days: days };\r\n}\r\n@Component({\r\n selector: \"app-register-model\",\r\n templateUrl: \"./register.component.html\",\r\n styleUrls: [\"./register.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class RegisterModelComponent implements OnInit {\r\n invitationId: string = \"\";\r\n userForm: FormGroup;\r\n userModel: UserModel;\r\n registerInvitationModel: InvitationRegisterModel;\r\n submitted: boolean = false;\r\n masterGender: any = [];\r\n masterRoles: any = [];\r\n masterLocation: any = [];\r\n isTokenValid: boolean = true;\r\n isUsernameExisted: boolean = false;\r\n Message: any;\r\n isShowPassword: any;\r\n isShowRePassword: any;\r\n maxDate = new Date();\r\n logoUrl: string = null;\r\n userType: string = \"\";\r\n private dobValidation = [Validators.required];\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n private registerService: RegisterService,\r\n private route: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private notifier: NotifierService,\r\n private subDomainService: SubDomainService,\r\n private dialogModal: MatDialog,\r\n private translate:TranslateService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n dialogModalRef.disableClose = true;\r\n if (this.userModel == null) this.userModel = new UserModel();\r\n if (this.registerInvitationModel == null)\r\n this.registerInvitationModel = new InvitationRegisterModel();\r\n }\r\n ngOnInit() {\r\n this.Message = {\r\n title: \"Oops\",\r\n message:\r\n \"Either token isn't legitimate or lapsed or client previously enrolled with this token id, it would be ideal if you contact organization for additional help.\",\r\n imgSrc: \"../assets/img/user-register-icon.png\",\r\n };\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n if (\r\n (params[\"token\"]! =\r\n undefined && params[\"token\"] != null && params[\"token\"] != \"\")\r\n )\r\n this.invitationId = params[\"token\"];\r\n });\r\n let unamePattern = \"^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])([a-zA-Z0-9]+)$\";\r\n this.userForm = this.formBuilder.group(\r\n {\r\n firstName: [this.userModel.firstName],\r\n lastName: [this.userModel.lastName],\r\n // middleName: [this.userModel.middleName],\r\n phone: [this.userModel.phoneNumber],\r\n dob: [this.userModel.dob, this.dobValidation],\r\n // email: [this.userModel.email, [Validators.required, Validators.email]],\r\n gender: [this.userModel.gender, [Validators.required]],\r\n roleId: [this.userModel.roleID, [Validators.required]],\r\n // locationId: [this.userModel.locationIds, [Validators.required]], //agencyremove\r\n locationId: [101],\r\n userName: [\r\n this.userModel.userName,\r\n {\r\n validators: [Validators.required],\r\n asyncValidators: [this.validateUsername.bind(this)],\r\n updateOn: \"blur\",\r\n },\r\n ],\r\n password: [\r\n this.userModel.password,\r\n [Validators.required, PasswordValidator.strong],\r\n ],\r\n confirmPassword: [this.userModel.confirmPassword],\r\n },\r\n {\r\n validator: this.validateForm.bind(this),\r\n }\r\n );\r\n\r\n if (this.invitationId != \"\") {\r\n this.registerService\r\n .checkTokenAccessibility(this.invitationId)\r\n .subscribe((res) => {\r\n if (res.statusCode != 200) {\r\n this.isTokenValid = false;\r\n } else {\r\n this.userModel = res.data;\r\n this.userForm.patchValue(this.userModel);\r\n this.isTokenValid = true;\r\n }\r\n });\r\n }\r\n this.registerService\r\n .getMasterData(\"MASTERGENDER,MASTERROLESALL,MASTERLOCATION\")\r\n .subscribe((response) => {\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n this.masterRoles =\r\n response.masterRoles != null ? response.masterRoles : [];\r\n this.masterLocation =\r\n response.masterLocation != null ? response.masterLocation : [];\r\n });\r\n this.subDomainService.getSubDomainInfo().subscribe((domainInfo) => {\r\n if (domainInfo)\r\n this.logoUrl =\r\n \"data:image/png;base64,\" + domainInfo.organization.logoBase64;\r\n });\r\n }\r\n get formControls() {\r\n return this.userForm.controls;\r\n }\r\n onRoleChange(event: any) {\r\n var role = this.masterRoles.find((x) => x.id == event.value);\r\n const dob = this.userForm.get(\"dob\");\r\n if (role.userType == \"PROVIDER\") {\r\n dob.setValidators([Validators.required, AgeValidator.bind(this)]);\r\n } else {\r\n dob.setValidators([Validators.required]);\r\n }\r\n dob.updateValueAndValidity();\r\n }\r\n // validateAge(\r\n // ctrl: AbstractControl\r\n // ): Promise | Observable {\r\n // return new Promise(resolve => {\r\n // if (!ctrl.dirty && !ctrl.untouched) {\r\n // resolve();\r\n // } else {\r\n // var selectedDate = new Date(ctrl.value);\r\n // var today = new Date();\r\n // var year = today.getFullYear();\r\n // var month = today.getMonth() + 1;\r\n // var day = today.getDate();\r\n // var yy = selectedDate.getFullYear();\r\n // var mm = selectedDate.getMonth() + 1;\r\n // var dd = selectedDate.getDate();\r\n // var years, months, days;\r\n // // months\r\n // months = month - mm;\r\n // if (day < dd) {\r\n // months = months - 1;\r\n // }\r\n // // years\r\n // years = year - yy;\r\n // if (month * 100 + day < mm * 100 + dd) {\r\n // years = years - 1;\r\n // months = months + 12;\r\n // }\r\n // // days\r\n // days = Math.floor(\r\n // (today.getTime() -\r\n // new Date(yy + years, mm + months - 1, dd).getTime()) /\r\n // (24 * 60 * 60 * 1000)\r\n // );\r\n // if (years < 18) resolve({ age: true });\r\n // else resolve();\r\n // }\r\n // });\r\n // }\r\n validateForm(formGroup: FormGroup) {\r\n let pass = formGroup.controls.password.value;\r\n let confirmPass = formGroup.controls.confirmPassword.value;\r\n\r\n if (!confirmPass.length) return null;\r\n return pass && confirmPass && pass === confirmPass\r\n ? null\r\n : formGroup.controls.confirmPassword.setErrors({ notSame: true });\r\n }\r\n validateUsername(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise((resolve) => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n let userName = ctrl.value;\r\n this.registerService\r\n .checkUserNameExistance(userName)\r\n .subscribe((response: any) => {\r\n if (response.statusCode != 200) resolve({ uniqueName: true });\r\n else resolve();\r\n });\r\n }\r\n });\r\n }\r\n onSubmit() {\r\n \r\n if (!this.userForm.invalid) {\r\n this.submitted = true;\r\n this.registerService\r\n .registerNewUserWithoutToken(this.userForm.value)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.isTokenValid = false;\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your account has been successfully created with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n openDialogLogin() {\r\n this.closeDialog(null);\r\n let dbModal;\r\n dbModal = this.dialogModal.open(LoginModelComponent, { data: {} });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") {\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"::ng-deep .mat-dialog-container {\\r\\n background-color: #f8f9fa; \\r\\n color: #333; \\r\\n border-radius: 8px; \\r\\n padding: 20px;\\r\\n }\\r\\n \\r\\n .warning-popup p {\\r\\n font-size: 16px;\\r\\n line-height: 1.5;\\r\\n color: #d9534f; \\r\\n font-weight: 500;\\r\\n }\\r\\n \\r\\n .warning-popup b {\\r\\n color: #c82333; \\r\\n }\\r\\n \\r\\n .d-flex {\\r\\n margin-top: 15px;\\r\\n }\\r\\n \\r\\n .error-popup-footer {\\r\\n text-align: center;\\r\\n margin-top: 20px;\\r\\n }\\r\\n \\r\\n .close-btn {\\r\\n /* padding: 10px 10px; */\\r\\n background: #d9534f;\\r\\n color: white;\\r\\n border: none;\\r\\n border-radius: 4px;\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n \"","module.exports = \"
\\r\\n

\\r\\n Attention: You are now accessing a provider account. Please proceed responsibly and ensure that all actions are\\r\\n accurate and compliant. For security and accountability, your session is being monitored. In case of any\\r\\n discrepancies, your activity history may be reviewed.\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { LetterTemplateGuidencePopupComponent } from '../letter-template-guidence-popup/letter-template-guidence-popup.component';\r\n\r\n@Component({\r\n selector: 'app-secretary-admin-usage-login',\r\n templateUrl: './secretary-admin-usage-login.component.html',\r\n styleUrls: ['./secretary-admin-usage-login.component.css']\r\n})\r\nexport class SecretaryAdminUsageLoginComponent implements OnInit {\r\n\r\n constructor(private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,) { }\r\n \r\n ngOnInit() {\r\n }\r\n closeDialog() {\r\n this.dialogModalRef.close();\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Welcome!

\\r\\n

Seems your are new, Please tell us something more about yourself .

\\r\\n

Seems you are using new machine, we need more for log in

\\r\\n

Discover the best doctors, the city nearest to you.

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

Security Questions

\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { MatDialogRef } from \"@angular/material\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AuthenticationService } from \"src/app/platform/modules/auth/auth.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\n\r\n@Component({\r\n selector: \"app-security-question-model\",\r\n templateUrl: \"./security-question-model.component.html\",\r\n styleUrls: [\"./security-question-model.component.css\"]\r\n})\r\nexport class SecurityQuestionModelComponent implements OnInit, OnDestroy {\r\n private subscription: Subscription;\r\n securityQuestionForm: FormGroup;\r\n securityQuestionOptionsForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n errorMessage: string;\r\n returnUrl: string;\r\n firstTimeLogin: boolean;\r\n securityQuestions: Array;\r\n securityQuestionOptions: Array;\r\n authData: any;\r\n ipAddress: string;\r\n\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authService: AuthenticationService,\r\n private commonService: CommonService // private securityQuestionService: SecurityQuestionService, // private alertService: AlertService\r\n ) {\r\n dialogModalRef.disableClose = true;\r\n this.createForm();\r\n this.errorMessage = null;\r\n }\r\n createForm() {\r\n // this.securityQuestionForm = this.formBuilder.group({\r\n // question: ''\r\n // });\r\n }\r\n createOptionsForm() {\r\n // this.securityQuestionOptionsForm = this.formBuilder.group({\r\n // question: '',\r\n // answer: ''\r\n // });\r\n }\r\n ngOnInit() {\r\n this.commonService.sytemInfo.subscribe(obj => {\r\n this.ipAddress = obj.ipAddress;\r\n });\r\n this.securityQuestionOptionsForm = this.formBuilder.group({\r\n question: [\"\", Validators.required],\r\n answer: [\"\", Validators.required]\r\n });\r\n this.subscription = this.commonService.loginSecurity.subscribe(\r\n (user: any) => {\r\n if (\r\n user.loginResponse &&\r\n !user.loginResponse.access_token &&\r\n user.loginResponse.data\r\n ) {\r\n if (user.loginResponse.firstTimeLogin) {\r\n this.securityQuestions = user.loginResponse.data;\r\n this.firstTimeLogin = true;\r\n this.authData = user.authData;\r\n\r\n const questionsForm = {};\r\n (this.securityQuestions || []).forEach((obj: any) => {\r\n questionsForm[`question${obj.id}`] = [\"\", Validators.required];\r\n });\r\n this.securityQuestionForm = this.formBuilder.group({\r\n ...questionsForm\r\n });\r\n } else {\r\n this.securityQuestionOptions = user.loginResponse.data;\r\n this.firstTimeLogin = false;\r\n this.authData = user.authData;\r\n this.securityQuestionOptionsForm = this.formBuilder.group({\r\n question: [\"\", Validators.required],\r\n answer: [\"\", Validators.required]\r\n });\r\n }\r\n } else {\r\n this.closeDialog(\"save\");\r\n //this.router.navigate([\"/web\"]);\r\n }\r\n }\r\n );\r\n }\r\n\r\n // convenience getter for easy access to form fields\r\n get f() {\r\n return this.securityQuestionForm;\r\n }\r\n get g() {\r\n return this.securityQuestionOptionsForm;\r\n }\r\n onSubmitQuestionAnswer() {\r\n this.submitted = true;\r\n this.errorMessage = null;\r\n // stop here if form is invalid\r\n if (this.securityQuestionOptionsForm.invalid) {\r\n return;\r\n }\r\n this.loading = true;\r\n\r\n const postData = {\r\n userName: this.authData.username,\r\n password: this.authData.password,\r\n QuestionID: this.g.value.question,\r\n Answer: this.g.value.answer,\r\n ipaddress: this.ipAddress,\r\n macaddress: \"ec:aa:a0:2d:dc:67\"\r\n };\r\n this.authService.checkQuestionAnswer(postData).subscribe(\r\n data => {\r\n this.submitted = false;\r\n if (data.statusCode == 0 && data.access_token) this.closeDialog(\"save\");\r\n else this.errorMessage = data.message;\r\n },\r\n error => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n onSubmit() {\r\n this.submitted = true;\r\n // stop here if form is invalid\r\n if (this.securityQuestionForm.invalid) {\r\n return;\r\n }\r\n this.loading = true;\r\n const questionsDataArray = (Object.keys(this.f.value) || []).map(key => {\r\n return {\r\n Id: 0,\r\n QuestionID: key.replace(\"question\", \"\"),\r\n Answer: this.f.value[key]\r\n };\r\n });\r\n\r\n const postData = {\r\n userName: this.authData.username,\r\n password: this.authData.password,\r\n SecurityQuestionList: questionsDataArray,\r\n ipaddress: this.ipAddress,\r\n macaddress: \"ec:aa:a0:2d:dc:67\"\r\n };\r\n this.authService.saveSecurityQuestion(postData).subscribe(\r\n data => {\r\n this.closeDialog(\"save\");\r\n //this.router.navigate([\"/web\"]);\r\n },\r\n error => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n ngOnDestroy() {\r\n if (this.subscription && !this.subscription.closed)\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","module.exports = \"\\r\\nul.ul-user-list {\\r\\n background: #fff;\\r\\n position: relative;\\r\\n top: -17px;\\r\\n height: 135px;\\r\\n overflow: auto;\\r\\n width: 100%;\\r\\n z-index: 1;\\r\\n }\\r\\n \\r\\n ul.ul-user-list li {\\r\\n list-style: none;\\r\\n line-height: 51px;\\r\\n border-bottom: solid 1px #e5e5e5;\\r\\n margin-left: 0px;\\r\\n }\\r\\n \\r\\n ul.ul-user-list li:hover {\\r\\n background: #e5e5e5;\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .ul-user-list img.profile-pic.img-fluid {\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n border-radius: 50%;\\r\\n padding: 4px;\\r\\n }\\r\\n \\r\\n .btn-radius{\\r\\n border-radius: 10px;\\r\\n font-size: 14px;\\r\\n }\\r\\n \\r\\n .txt-posi{\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n }\\r\\n \\r\\n .btn-posi{\\r\\n position: absolute;\\r\\n right: 65px;\\r\\n bottom: 23px;\\r\\n}\\r\\n \\r\\n .posi-rel{\\r\\n position: relative;\\r\\n}\\r\\n \"","module.exports = \"
\\r\\n

Set Reminder

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Choose Before (Hours)\\r\\n \\r\\n \\r\\n {{hour + ' Hours'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Reminder DateTime\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\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 ,Inject} from '@angular/core';\r\nimport { SetReminderService } from './set-reminder.service'\r\nimport { CancelationRule, SetReminderModal } from './set-reminder.modal'\r\nimport { CommonService } from \"./../../platform/modules/core/services/common.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { debug } from \"util\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\n\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from \"@angular/forms\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\n\r\n@Component({\r\n selector: 'app-set-reminder',\r\n templateUrl: './set-reminder.component.html',\r\n styleUrls: ['./set-reminder.component.css']\r\n})\r\nexport class SetReminderComponent implements OnInit {\r\n headerText: string = \"\";\r\n minDate:any=new Date();\r\n hoursList:number[];\r\n sendUserInvitationForm: FormGroup;\r\n submitted: boolean = false;\r\n private setReminderModal: SetReminderModal;\r\n masterRoles: any;\r\n userList: Array = [];\r\n userExisted: boolean = false;\r\n public userType: any;\r\n userTypes = [{ value: 1, key: \"Internal\" }, { value: 2, key: \"External\" }];\r\n constructor(private setReminderService: SetReminderService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private notifier: NotifierService,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService) {\r\n this.hoursList = [2,4,16,24,48];\r\n this.setReminderModal = new SetReminderModal();\r\n this.userType = this.userTypes.find(x => x.value == 1);\r\n if (\r\n data &&\r\n data.appointmentId &&\r\n +data.appointmentId > 0 &&\r\n data.sessionId &&\r\n +data.sessionId > 0\r\n ) {\r\n this.setReminderModal.appointmentId = data.appointmentId;\r\n this.setReminderModal.sessionId = data.sessionId;\r\n } else {\r\n if (\r\n localStorage.getItem(\"otSession\") &&\r\n localStorage.getItem(\"otSession\") != \"\"\r\n ) {\r\n var response = JSON.parse(\r\n this.commonService.encryptValue(\r\n localStorage.getItem(\"otSession\"),\r\n false\r\n )\r\n );\r\n this.setReminderModal.appointmentId = +response.appointmentId;\r\n this.setReminderModal.sessionId = +response.id;\r\n }\r\n }\r\n const webUrl = window.location.origin;\r\n this.setReminderModal.webRootUrl = `${webUrl}`;\r\n }\r\n \r\n ngOnInit() {\r\n this.sendUserInvitationForm = this.formBuilder.group(\r\n {\r\n staffId: [this.setReminderModal.staffId],\r\n sessionId: [this.setReminderModal.sessionId],\r\n appointmentId: [this.setReminderModal.appointmentId],\r\n webRootUrl: [this.setReminderModal.webRootUrl],\r\n cancelationRules: this.formBuilder.array([]),\r\n \r\n },\r\n { validator: this.validateForm.bind(this) }\r\n );\r\n \r\n this.addCancelationRuleControl(null);\r\n }\r\n addCancelationRuleControl(rule: CancelationRule) {\r\n this.cancelationRulesFormGroup.push(this.getCancelationRulesForm(rule));\r\n }\r\n removeCancelationRuleControl(i) {\r\n this.cancelationRulesFormGroup.removeAt(i);\r\n }\r\n\r\n get cancelationRulesFormGroup() {\r\n return this.sendUserInvitationForm.controls['cancelationRules'] ;\r\n }\r\n\r\n private getCancelationRulesForm(rule:CancelationRule){\r\n return this.formBuilder.group({\r\n hour: [],\r\n reminderDateTime: []\r\n })\r\n }\r\n get formControls() {\r\n return this.sendUserInvitationForm.controls;\r\n }\r\n validateForm(formGroup: FormGroup) {\r\n return null;\r\n }\r\n \r\n onSubmit() {\r\n this.closeDialog(\"save\");\r\n }\r\n addMoreHourOption()\r\n {}\r\n \r\n \r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n \r\n \r\n }\r\n ","export class SetReminderModal {\r\n webRootUrl: string;\r\n sessionId: number;\r\n appointmentId: number;\r\n staffId: number;\r\n cancelationRules : CancelationRule[] =[];\r\n }\r\n\r\n export class CancelationRule {\r\n hour: number;\r\n reminderDateTime: string;\r\n}","import { CommonService } from \"./../../platform/modules/core/services/common.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SetReminderService {\r\n private getStaffDetailsByNameUrl = \"Staffs/GetStaffsByName?name=\";\r\n private getOTSessionByAppointmentIdUrl = \"api/Telehealth/GetOTSessionByApptId?appointmentId=\";\r\n private inviteNewPersonUrl = \"GroupSession/SaveInvitation\";\r\n constructor(private commonService: CommonService) {}\r\n getStaffDetailsByName(name: string = \"\"): Observable {\r\n return this.commonService.getAll(\r\n `${this.getStaffDetailsByNameUrl}${name}`,\r\n {}\r\n );\r\n }\r\n getOTSessionByAppointmentId(apptId: number = 0): Observable {\r\n return this.commonService.getAll(\r\n `${this.getOTSessionByAppointmentIdUrl}${apptId}`,\r\n {}\r\n );\r\n }\r\n inviteNewPerson(data: any): Observable {\r\n return this.commonService.post(`${this.inviteNewPersonUrl}`, data);\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n \\r\\n\\r\\n
\"","import { Component, ComponentFactoryResolver, Input, OnInit, ViewContainerRef } from '@angular/core';\r\nimport { SharedSoapViewNoteModelComponent } from '../shared-soap-view-note-model/shared-soap-view-note-model.component';\r\nimport { Metadata } from 'src/app/super-admin-portal/core/modals/common-model';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { EncounterService } from 'src/app/platform/modules/agency-portal/encounter/encounter.service';\r\nimport { MatDialog } from '@angular/material';\r\nimport { FilterModel } from 'src/app/platform/modules/agency-portal/clients/medication/medication.model';\r\nimport { FormioOptions } from 'angular-formio';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { DiagnosisModel } from 'src/app/platform/modules/agency-portal/clients/diagnosis/diagnosis.model';\r\nimport { StaffClientRequestModel } from 'src/app/platform/modules/agency-portal/client-list/client-list.model';\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\n\r\n@Component({\r\n selector: 'app-shared-soap-note',\r\n templateUrl: './shared-soap-note.component.html',\r\n styleUrls: ['./shared-soap-note.component.css']\r\n})\r\nexport class SharedSoapNoteComponent implements OnInit {\r\n\r\n @Input() data: any;\r\n\r\n tabContent: ViewContainerRef;\r\n timesheetTabs: any;\r\n encounterId: number;\r\n searchText: string = \"\";\r\n soapNoteId: number;\r\n soapForm: FormGroup;\r\n patientEncounterDiagnosisCodes: DiagnosisModel[];\r\n patientEncounterTemplate: Array;\r\n masterStaffs: Array;\r\n allSoapNotes: any;\r\n loadingMasterData: boolean = false;\r\n public jsonFormData: Object = {\r\n components: [],\r\n };\r\n initialFormValues: Object = {\r\n data: {},\r\n };\r\n formioOptions: FormioOptions = {\r\n disableAlerts: true,\r\n };\r\n staffId: number;\r\n soapNotes: any;\r\n filterModel: FilterModel;\r\n appointmentId: number;\r\n isSoapCompleted: boolean;\r\n isSoap: boolean = false;\r\n selectedIndex: number = 0;\r\n @Input() clientId: number;\r\n locationId: number;\r\n patientAppointmentId: number;\r\n staffClientRequestModel: StaffClientRequestModel;\r\n header: string = \" Doctor SOAP Notes\";\r\n displaySoapNoteColumns: Array = [\r\n {\r\n displayName: \"Patient Name\",\r\n key: \"patientName\",\r\n isSort: true,\r\n },\r\n {\r\n displayName: \"TemplateName\",\r\n key: \"templateName\",\r\n isSort: true,\r\n },\r\n // {\r\n // displayName: \"Objective\",\r\n // key: \"objective\",\r\n // isSort: true,\r\n // },\r\n // {\r\n // displayName: \"Assessment\",\r\n // key: \"assessment\",\r\n // isSort: true,\r\n // },\r\n // {\r\n // displayName: \"Plans\",\r\n // key: \"plans\",\r\n // isSort: true,\r\n // },\r\n // {\r\n // displayName: \"Created Date\",\r\n // key: \"createdDate\",\r\n // isSort: true,\r\n // type:'date'\r\n // },\r\n // ,\r\n {\r\n displayName: \"Actions\",\r\n key: \"Actions\",\r\n isSort: true,\r\n class: \"\",\r\n }\r\n ];\r\n actionButtons: Array = [\r\n { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n ];\r\n\r\n metaData: Metadata;\r\n patientId: number;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private cfr: ComponentFactoryResolver,\r\n private commonService: CommonService,\r\n private route: Router,\r\n \r\n private encounterService: EncounterService,\r\n private dialogModal: MatDialog\r\n ) {\r\n this.appointmentId = this.data;\r\n\r\n\r\n this.metaData = new Metadata();\r\n this.filterModel = new FilterModel();\r\n }\r\n\r\n ngOnInit() {\r\n // console.log(this.data, this.data)\r\n\r\n // if (this.encryptedPatientId == undefined) {\r\n // const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n // this.appointmentId = Number(apptId);\r\n // this.activatedRoute.queryParams.subscribe((params) => {\r\n // this.clientId =\r\n // params.id == undefined\r\n // ? this.commonService.encryptValue(apptId, false)\r\n // : this.commonService.encryptValue(params.id, false);\r\n // });\r\n\r\n\r\n // } else {\r\n // this.clientId = this.commonService.encryptValue(\r\n // this.encryptedPatientId,\r\n // false\r\n // );\r\n // }\r\n\r\n //this.staffId=this.currentLoginUserInfoSubject.value.id;\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n // console.log(user.id);\r\n this.locationId = user.currentLocationId;\r\n this.staffId = user.id;\r\n\r\n this.getSoapNotes();\r\n }\r\n });\r\n this.timesheetTabs = [\"Doctor SOAP Notes\"];\r\n this.loadChild(\"Doctor SOAP Notes\");\r\n }\r\n loadComponent(eventType: any): any {\r\n if (this.clientId) this.loadChild(eventType.tab.textLabel);\r\n }\r\n loadChild(childName: string) {\r\n let factory: any;\r\n // if (childName == \"Soap Note\")\r\n // factory = this.cfr.resolveComponentFactory(ClientSoapNoteComponent);\r\n // let comp: ComponentRef = this.tabContent.createComponent(factory);\r\n }\r\n getSoapNotes = () => {\r\n \r\n // console.log(this.filterModel);\r\n // console.log(this.appointmentId);\r\n // console.log(this.clientId);\r\n this.patientId = this.clientId\r\n this.encounterService\r\n .GetAllSoapNotes(this.patientId, this.data, this.filterModel)\r\n .subscribe((res) => {\r\n if (res != null && res.data != null && res.statusCode == 200) {\r\n // console.log(res);\r\n // this.allSoapNotes = res.data.map((x) => {\r\n // });\r\n this.allSoapNotes = res.data;\r\n this.metaData = res.meta;\r\n } else {\r\n this.allSoapNotes = [];\r\n this.metaData = null;\r\n }\r\n this.metaData.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n };\r\n // onTableActionClick = (e) => {\r\n // this.route.navigate([\"web/client/profile\"], {\r\n // queryParams: {\r\n // id: this.commonService.encryptValue(this.clientId, true),\r\n // },\r\n // });\r\n // };\r\n\r\n onTableActionClick(actionObj: any) {\r\n ////\r\n if (actionObj.action == \"view\") {\r\n this.openDoctorSoapNoteViewModal(actionObj);\r\n // console.log(\"open pop up here...\");\r\n }\r\n }\r\n\r\n openDoctorSoapNoteViewModal(actionObj: any) {\r\n const modalPopup = this.dialogModal.open(SharedSoapViewNoteModelComponent, {\r\n hasBackdrop: true,\r\n // width: \"50%\",\r\n data: actionObj.data\r\n });\r\n modalPopup.afterClosed().subscribe((result) => {\r\n // console.log(\"closed pop up\");\r\n });\r\n }\r\n\r\n setPaginateorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n searchText: string\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder != undefined ? sortOrder : null;\r\n this.filterModel.sortColumn = sortColumn != undefined ? sortColumn : null;\r\n this.filterModel.searchText = searchText != undefined ? searchText : null;\r\n }\r\n onPageOrSortChange = (changeState?: any) => {\r\n this.setPaginateorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order,\r\n \"\"\r\n );\r\n this.getSoapNotes();\r\n };\r\n applyFilter(searchText: string = \"\") {\r\n // console.log(searchText);\r\n this.setPaginateorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder,\r\n searchText\r\n );\r\n // if (searchText.trim() == \"\" || searchText.trim().length >= 3)\r\n this.getSoapNotes();\r\n }\r\n clearFilters() {\r\n this.searchText = \"\";\r\n this.filterModel.searchText = \"\";\r\n this.setPaginateorModel(\r\n 1,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder,\r\n this.filterModel.searchText\r\n );\r\n this.getSoapNotes();\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{'soap_note_details' | translate}}

\\r\\n
\\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, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { SoapNoteViewModalComponent } from 'src/app/platform/modules/agency-portal/clients/soap-note-view-modal/soap-note-view-modal.component';\r\n\r\n@Component({\r\n selector: 'app-shared-soap-view-note-model',\r\n templateUrl: './shared-soap-view-note-model.component.html',\r\n styleUrls: ['./shared-soap-view-note-model.component.css']\r\n})\r\nexport class SharedSoapViewNoteModelComponent implements OnInit {\r\n\r\n \r\n jsonFormData: any = { components: [] };\r\n initialFormValues: any = { data: {} };\r\n formattedTemplateData: string;\r\n templateFormName: string;\r\n\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) { }\r\n\r\n ngOnInit() {\r\n \r\n this.TemplateData();\r\n\r\n }\r\n TemplateData(): void {\r\n \r\n \r\n let formJson = { components: [] },\r\n formData = { data: {} };\r\n try {\r\n formJson = JSON.parse(this.data.templateJson);\r\n formData = JSON.parse(this.data.templateData);\r\n } catch (err) {}\r\n\r\n formJson.components=formJson.components.filter(component => component.type !== 'button');\r\n this.jsonFormData = this.data.templateJson\r\n ? formJson\r\n : this.jsonFormData;\r\n this.templateFormName = this.data.templateName || \"\";\r\n this.initialFormValues = this.data.templateData\r\n ? formData\r\n : this.initialFormValues\r\n \r\n } \r\n\r\n closeDialog(action: string) {\r\n this.dialogModalRef.close(action);\r\n }\r\n}\r\n","import { CommonService } from \"./../platform/modules/core/services/common.service\";\r\n//import { TextChatService } from \"./text-chat/text-chat.service\";\r\nimport { AppService } from \"./../app-service.service\";\r\n//import { SubscriberComponent } from \"./../platform/modules/agency-portal/encounter/video-chat/subscriber/subscriber.component\";\r\n//import { PublisherComponent } from \"src/app/platform/modules/agency-portal/encounter/video-chat/publisher/publisher.component\";\r\nimport { DataTableComponent } from \"./data-table/data-table.component\";\r\n\r\nimport { RegisterModelComponent } from \"./register-model/register.component\";\r\nimport { AgencyLoginModelComponent } from \"src/app/shared/login-model/agency-login/agency-login.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { HeaderComponent, FooterComponent, SidebarComponent } from \"./layout\";\r\nimport { SharedService } from \"./shared.service\";\r\nimport { StaffAppointmentComponent } from \"./staff-appointment/staff-appointment.component\";\r\nimport {\r\n MatButtonToggleModule,\r\n MatNativeDateModule,\r\n MatStepperModule,\r\n MAT_DATE_LOCALE,\r\n MAT_DIALOG_DATA,\r\n} from \"@angular/material\";\r\nimport { CancelAppointmentDialogComponent as cancelAppointmentComponent } from \"./../platform/modules/scheduling/scheduler/cancel-appointment-dialog/cancel-appointment-dialog.component\";\r\nimport { AppointmentViewComponent } from \"./../platform/modules/scheduling/appointment-view/appointment-view.component\";\r\nimport { ContextMenuModule } from \"ngx-contextmenu\";\r\nimport {\r\n MatDatetimepickerModule,\r\n MatNativeDatetimeModule,\r\n} from \"@mat-datetimepicker/core\";\r\nimport {\r\n MatCheckboxModule,\r\n MatChip,\r\n MatChipsModule,\r\n MatAutocomplete,\r\n MatAutocompleteModule,\r\n} from \"@angular/material\";\r\n// import { TooltipModule } from 'ng2-tooltip-directive';\r\nimport { SymptomCheckerService } from \"./symptom-checker/symptom-checker.service\";\r\nimport { ViewReportService } from \"./view-report/view-report.service\";\r\nimport { MatVideoModule } from \"mat-video\";\r\nimport { CallNotificationComponent } from \"./call-notification/call-notification.component\";\r\nimport { MailboxService } from \"./../platform/modules/mailing/mailbox.service\";\r\nimport { AngularEditorModule } from \"@kolkov/angular-editor\";\r\nimport {\r\n MatToolbarModule,\r\n MatButtonModule,\r\n MatSidenavModule,\r\n MatIconModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatExpansionModule,\r\n MatTableModule,\r\n MatDialogModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatProgressSpinnerModule,\r\n MatTooltipModule,\r\n MAT_DIALOG_DEFAULT_OPTIONS,\r\n MatDialogRef,\r\n MatSelectModule,\r\n MatSlideToggle,\r\n MatSlideToggleModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatTabsModule,\r\n MatRadioModule,\r\n} from \"@angular/material\";\r\nimport { MenuListItemComponent } from \"./layout/menu-list-item/menu-list-item.component\";\r\nimport { DialogComponent } from \"./layout/dialog/dialog.component\";\r\nimport { NumbersOnlyDirective } from \"./directives/numbers-only.directive\";\r\nimport { DialogService } from \"./layout/dialog/dialog.service\";\r\nimport { StatusPipe } from \"./pipes/status.pipe\";\r\nimport { PhoneNumberDirective } from \"./directives/phone-number.directive\";\r\nimport { SsnDirective } from \"./directives/ssn.directive\";\r\nimport { ZipcodeDirective } from \"./directives/zipcode.directive\";\r\nimport { RateDirective } from \"./directives/rate.directive\";\r\nimport { MrnNumberDirective } from \"./directives/mrn-number.directive\";\r\nimport { SuperAdminHeaderComponent } from \"./layout/super-admin-header.component\";\r\nimport { ScrollbarModule } from \"ngx-scrollbar\";\r\nimport { LineChartComponent } from \"./line-chart/line-chart.component\";\r\nimport { ChartsModule } from \"ng2-charts\";\r\nimport { ClientHeaderLayoutComponent } from \"./layout/client-header-layout/client-header-layout.component\";\r\nimport { SpanPipe } from \"./pipes/span.pipe\";\r\nimport { PasswordValidator } from \"./password-validator\";\r\nimport { ChatWidgetComponent } from \"./chat-widget/chat-widget.component\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { GoogleAddressInputComponent } from \"./controls/google-address-input/google-address-input.component\";\r\nimport { GooglePlaceModule } from \"ngx-google-places-autocomplete\";\r\nimport { InvitationStatusPipe } from \"./pipes/invitation-status.pipe\";\r\nimport { DatePickerComponent } from \"./date-picker/date-picker.component\";\r\nimport { ClientLoginModelComponent } from \"./login-model/client-login/client-login.component\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { AuthenticationService } from \"src/app/platform/modules/auth/auth.service\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { LoginModelComponent } from \"./login-model/login-model.component\";\r\nimport { SecurityQuestionModelComponent } from \"./security-question-model/security-question-model.component\";\r\n//import { MeanVideoComponent } from \"./mean-video/mean-video.component\";\r\nimport { SocketIoConfig, SocketIoModule } from \"ngx-socket-io\";\r\nimport { AppointmentGraphComponent } from \"./appointment-graph/appointment-graph.component\";\r\nimport { BarChartComponent } from \"./bar-chart/bar-chart.component\";\r\nimport { ApproveAppointmentDialogComponent } from \"./approve-appointment-dialog/approve-appointment-dialog.component\";\r\nimport { CancelAppointmentDialogComponent } from \"./cancel-appointment-dialog/cancel-appointment-dialog.component\";\r\nimport { UniquePipe } from \"./pipes/unique.pipe\";\r\nimport { TimeCheckPipe } from \"./pipes/time-check.pipe\";\r\nimport { EncounterPipe } from \"./pipes/encounter.pipe\";\r\nimport { AddNewCallerComponent } from \"./add-new-caller/add-new-caller.component\";\r\nimport { RatingPipe } from \"./pipes/rating.pipe\";\r\nimport { RatingModule } from \"ng-starrating\";\r\nimport { InvitedPendingComponent } from \"./appointment-graph/invited-pending/invited-pending.component\";\r\nimport { InvitedAcceptedComponent } from \"./appointment-graph/invited-accepted/invited-accepted.component\";\r\nimport { InvitedRejectedComponent } from \"./appointment-graph/invited-rejected/invited-rejected.component\";\r\nimport { AcceptRejectAppointmentInvitationComponent } from \"./accept-reject-appointment-invitation/accept-reject-appointment-invitation.component\";\r\nimport { TextChatComponent } from \"./text-chat/text-chat.component\";\r\nimport { TextChatUserNamePipe } from \"./text-chat/text-chat-user-name.pipe\";\r\nimport { TextChatUserImagePipe } from \"./text-chat/text-chat-user-image.pipe\";\r\nimport { CallButtonComponent } from \"./call-button/call-button.component\";\r\nimport { UploadFileComponent } from \"./text-chat/uploadFile/upload-file.component\";\r\nimport { ChatMessagePipe } from \"./pipes/chat-message.pipe\";\r\nimport { TextMessageFormatComponent } from \"./text-chat/text-message-format/text-message-format.component\";\r\nimport { NgxMaskModule, IConfig } from \"ngx-mask\";\r\nimport { SetReminderComponent } from \"./set-reminder/set-reminder.component\";\r\nimport { FrontMaterialModule } from \"src/app/front/front.material.module\";\r\nimport { SymptomCheckerComponent } from \"./symptom-checker/symptom-checker.component\";\r\n\r\nimport { TooltipModule } from \"ng2-tooltip-directive\";\r\nimport { DndModule } from \"ngx-drag-drop\";\r\nimport { DynamicFormControlService } from \"./dynamic-form/dynamic-form-control-service\";\r\nimport { DynamicFormControlComponent } from \"./dynamic-form/dynamic-form-control-component/dynamic-form-control-component\";\r\nimport { DynamicFormComponent } from \"./dynamic-form/dynamic-form-component/dynamic-form.component\";\r\nimport { UrgentCareProviderActionComponent } from \"./urgentcare-provideraction/urgentcare-provideraction.component\";\r\nimport { PatientUrgentCareStatusComponent } from \"./patient-urgentcare-status/patient-urgentcare-status.component\";\r\nimport { CountDownComponent } from \"./count-down/count-down.component\";\r\nimport { VideoConsultationTestModalComponent } from \"./video-consultation-test-modal/video-consultation-test-modal.component\";\r\nimport { AudioRecordingService } from \"./video-consultation-test-modal/audio-recording.service\";\r\nimport { AddPrescriptionComponent } from \"../platform/modules/agency-portal/clients/prescription/prescription-addprescription/prescription-addprescription.component\";\r\nimport { DocViewerComponent } from \"./doc-viewer/doc-viewer.component\";\r\nimport { NgxDocViewerModule } from \"ngx-doc-viewer\";\r\nimport { ViewReportComponent } from \"./view-report/view-report.component\";\r\nimport { FollowupAppointmentComponent } from \"./followup-appointment/followup-appointment.component\";\r\nimport { AppointmentReschedulingDialogComponent } from \"./appointment-rescheduling-dialog/appointment-rescheduling-dialog.component\";\r\nimport { PreponeAppointmentComponent } from \"./prepone-appointment/prepone-appointment.component\";\r\nimport { PostponeAppointmentComponent } from \"./postpone-appointment/postpone-appointment.component\";\r\nimport { UrgentCareListingdialogComponent } from \"./urgentcarelisting-dialog/urgentcarelisting-dialog.component\";\r\nimport { HubConnection } from \"../hubconnection.service\";\r\nimport { HyperPayComponent } from \"./hyper-pay/hyper-pay.component\";\r\nimport { TranslateHttpLoader } from \"@ngx-translate/http-loader\";\r\nimport { HttpClient, HttpClientModule } from \"@angular/common/http\";\r\nimport { TranslateLoader, TranslateModule } from \"@ngx-translate/core\";\r\nimport { DirectionMapComponent } from \"./direction-map/direction-map.component\";\r\n//import { NgxDocViewerModule } from \"ngx-doc-viewer\";\r\n// const config: SocketIoConfig = {\r\n// url: \"https://turn.stagingsdei.com:5187\",\r\n// options: {}\r\n// };\r\nimport { AgmCoreModule } from \"@agm/core\";\r\nimport { PhoneNumberComponent } from \"./phone-number/phone-number.component\";\r\nimport { TemplateListingComponent } from \"../platform/modules/formio-template/template-listing/template-listing.component\";\r\nimport { FormBuilderComponent } from \"../platform/modules/formio-template/form-builder/form-builder.component\";\r\nimport { FormioModule } from \"angular-formio\";\r\nimport { SignaturePadModule } from \"angular2-signaturepad\";\r\nimport { RaiseTicketComponent } from \"./raise-ticket/raise-ticket.component\";\r\nimport { ImageViewerComponent } from \"./raise-ticket/image-viewer/image-viewer.component\";\r\nimport { TicketDialogComponent } from \"./raise-ticket/ticket-dialog/ticket-dialog.component\";\r\nimport { UpdateTicketComponent } from \"./raise-ticket/update-ticket/update-ticket.component\";\r\n\r\nimport { InviteCallJoinComponent } from './invite-call-join/invite-call-join.component';\r\nimport { ReferralQrCodePageComponent } from './QrCodeScanPage/referral-qr-code-page/referral-qr-code-page.component';\r\nimport { VideoCallInvitationSharedComponent } from './video-call-invitation-shared/video-call-invitation-shared.component';\r\nimport { QRCodeResultScanLandingPageComponent } from './qrcode-result-scan-landing-page/qrcode-result-scan-landing-page.component';\r\nimport { TestPaymentFlowComponent } from './test-payment-flow/test-payment-flow.component';\r\nimport { PaymentSuccessTestComponent } from './payment-success-test/payment-success-test.component';\r\nimport { DoughnutChartComponent } from './doughnut-chart/doughnut-chart.component';\r\nimport { RaisedTicketDetailsComponent } from \"./raised-ticket-details/raised-ticket-details.component\";\r\nimport { RadiologyReferralModalComponent } from './radiology-referral-modal/radiology-referral-modal.component';\r\nimport { QRImageInhanserComponent } from './QrCodeScanPage/qrimage-inhanser/qrimage-inhanser.component';\r\nimport { SharedSoapViewNoteModelComponent } from './shared-soap-view-note-model/shared-soap-view-note-model.component';\r\nimport { SharedSoapNoteComponent } from './shared-soap-note/shared-soap-note.component';\r\nimport { ManageFeesRefundsComponent } from \"../platform/modules/agency-portal/Payments/manage-fees-refunds/manage-fees-refunds.component\";\r\nimport { ChangeEmailComponent } from './change-email/change-email.component';\r\nimport { ErrorPopupComponent } from './error-popup/error-popup.component';\r\nimport { UserBankDetailsComponent } from './user-bank-details/user-bank-details.component';\r\nimport { AddUpdateBankDetailsComponent } from './user-bank-details/add-update-bank-details/add-update-bank-details.component';\r\nimport { LetterTemplateGuidencePopupComponent } from './letter-template-guidence-popup/letter-template-guidence-popup.component';\r\nimport { SecretaryAdminUsageLoginComponent } from './secretary-admin-usage-login/secretary-admin-usage-login.component';\r\nimport { ProviderAppointmentDocumentsComponent } from './provider-appointment-documents/provider-appointment-documents.component';\r\nimport { DisplayAttachedFilesComponent } from './display-attached-files/display-attached-files.component';\r\nimport { PaymentStatusDialogComponent } from './payment-status-dialog/payment-status-dialog.component';\r\n\r\nconst maskConfig: Partial = {};\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n ContextMenuModule.forRoot({\r\n useBootstrap4: true,\r\n }),\r\n MatChipsModule,\r\n MatAutocompleteModule,\r\n MatDatetimepickerModule,\r\n MatNativeDatetimeModule,\r\n MatToolbarModule,\r\n MatNativeDateModule,\r\n MatStepperModule,\r\n MatInputModule,\r\n FrontMaterialModule,\r\n MatFormFieldModule,\r\n MatSidenavModule,\r\n MatIconModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatExpansionModule,\r\n MatTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatDialogModule,\r\n MatProgressSpinnerModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatSelectModule,\r\n ScrollbarModule,\r\n ChartsModule,\r\n MatSlideToggleModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n GooglePlaceModule,\r\n RouterModule,\r\n MatDatepickerModule,\r\n MatTabsModule,\r\n MatRadioModule,\r\n AngularEditorModule,\r\n MatCheckboxModule,\r\n MatButtonToggleModule,\r\n //SocketIoModule.forRoot(config)\r\n RatingModule,\r\n NgxMaskModule.forRoot(maskConfig),\r\n TooltipModule,\r\n DndModule,\r\n NgxDocViewerModule,\r\n MatVideoModule,\r\n FormioModule,\r\n AgmCoreModule.forRoot({\r\n apiKey: \"AlzaSyAhbSJVBp7xa5kRT3RZ_aVcGqxXta5kWMk\",\r\n }),\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n TranslateModule.forChild({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n declarations: [\r\n HeaderComponent,\r\n SuperAdminHeaderComponent,\r\n FooterComponent,\r\n SidebarComponent,\r\n MenuListItemComponent,\r\n DataTableComponent,\r\n DialogComponent,\r\n NumbersOnlyDirective,\r\n StatusPipe,\r\n PhoneNumberDirective,\r\n SsnDirective,\r\n ZipcodeDirective,\r\n RateDirective,\r\n MrnNumberDirective,\r\n LineChartComponent,\r\n ClientHeaderLayoutComponent,\r\n SpanPipe,\r\n InvitationStatusPipe,\r\n ChatWidgetComponent,\r\n GoogleAddressInputComponent,\r\n DatePickerComponent,\r\n AgencyLoginModelComponent,\r\n ClientLoginModelComponent,\r\n RegisterModelComponent,\r\n LoginModelComponent,\r\n SecurityQuestionModelComponent,\r\n AppointmentGraphComponent,\r\n BarChartComponent,\r\n StaffAppointmentComponent,\r\n //MeanVideoComponent,\r\n ApproveAppointmentDialogComponent,\r\n CancelAppointmentDialogComponent,\r\n UniquePipe,\r\n TimeCheckPipe,\r\n EncounterPipe,\r\n AddNewCallerComponent,\r\n InvitedPendingComponent,\r\n InvitedAcceptedComponent,\r\n InvitedRejectedComponent,\r\n AcceptRejectAppointmentInvitationComponent,\r\n //PublisherComponent,\r\n //SubscriberComponent,\r\n RatingPipe,\r\n TextChatComponent,\r\n TextChatUserNamePipe,\r\n TextChatUserImagePipe,\r\n CallButtonComponent,\r\n UrgentCareProviderActionComponent,\r\n UploadFileComponent,\r\n ChatMessagePipe,\r\n TextMessageFormatComponent,\r\n SetReminderComponent,\r\n AppointmentViewComponent,\r\n cancelAppointmentComponent,\r\n SymptomCheckerComponent,\r\n DynamicFormControlComponent,\r\n DynamicFormComponent,\r\n UrgentCareProviderActionComponent,\r\n PatientUrgentCareStatusComponent,\r\n CountDownComponent,\r\n AddPrescriptionComponent,\r\n VideoConsultationTestModalComponent,\r\n DocViewerComponent,\r\n ViewReportComponent,\r\n FollowupAppointmentComponent,\r\n AppointmentReschedulingDialogComponent,\r\n PreponeAppointmentComponent,\r\n PostponeAppointmentComponent,\r\n UrgentCareListingdialogComponent,\r\n CallNotificationComponent,\r\n HyperPayComponent,\r\n DirectionMapComponent,\r\n PhoneNumberComponent,\r\n TemplateListingComponent,\r\n FormBuilderComponent,\r\n RaiseTicketComponent,\r\n ImageViewerComponent,\r\n TicketDialogComponent,\r\n UpdateTicketComponent,\r\n InviteCallJoinComponent,\r\n ReferralQrCodePageComponent,\r\n VideoCallInvitationSharedComponent,\r\n QRCodeResultScanLandingPageComponent,\r\n TestPaymentFlowComponent,\r\n PaymentSuccessTestComponent,\r\n DoughnutChartComponent,\r\n RaisedTicketDetailsComponent,\r\n RadiologyReferralModalComponent,\r\n QRImageInhanserComponent,\r\n SharedSoapViewNoteModelComponent,\r\n SharedSoapNoteComponent,\r\n ManageFeesRefundsComponent,\r\n ChangeEmailComponent, \r\n ErrorPopupComponent, \r\n UserBankDetailsComponent, \r\n AddUpdateBankDetailsComponent,\r\n LetterTemplateGuidencePopupComponent,\r\n SecretaryAdminUsageLoginComponent,\r\n ProviderAppointmentDocumentsComponent,\r\n DisplayAttachedFilesComponent,\r\n PaymentStatusDialogComponent\r\n ],\r\n providers: [\r\n SharedService,\r\n DialogService,\r\n MailboxService,\r\n SymptomCheckerService,\r\n ViewReportService,\r\n AuthenticationService,\r\n DynamicFormControlService,\r\n HubConnection,\r\n AudioRecordingService,\r\n {\r\n provide: MAT_DIALOG_DATA,\r\n\r\n useValue: {\r\n hasBackdrop: true,\r\n disableClose: true,\r\n minWidth: \"55%\",\r\n maxWidth: \"90%\",\r\n },\r\n },\r\n { provide: MAT_DATE_LOCALE, useValue: \"en-GB\" },\r\n\r\n //CommonService\r\n ],\r\n\r\n entryComponents: [\r\n DialogComponent,\r\n ChatWidgetComponent,\r\n ApproveAppointmentDialogComponent,\r\n CancelAppointmentDialogComponent,\r\n AddNewCallerComponent,\r\n SetReminderComponent,\r\n AcceptRejectAppointmentInvitationComponent,\r\n UploadFileComponent,\r\n TextMessageFormatComponent,\r\n StaffAppointmentComponent,\r\n FollowupAppointmentComponent,\r\n AppointmentViewComponent,\r\n cancelAppointmentComponent,\r\n SymptomCheckerComponent,\r\n DynamicFormControlComponent,\r\n DynamicFormComponent,\r\n UrgentCareProviderActionComponent,\r\n PatientUrgentCareStatusComponent,\r\n AddPrescriptionComponent,\r\n VideoConsultationTestModalComponent,\r\n DocViewerComponent,\r\n ViewReportComponent,\r\n AppointmentReschedulingDialogComponent,\r\n PreponeAppointmentComponent,\r\n PostponeAppointmentComponent,\r\n UrgentCareListingdialogComponent,\r\n CallNotificationComponent,\r\n HyperPayComponent,\r\n RaiseTicketComponent,\r\n ImageViewerComponent,\r\n TicketDialogComponent,\r\n UpdateTicketComponent,\r\n RadiologyReferralModalComponent,\r\n QRImageInhanserComponent,\r\n SharedSoapViewNoteModelComponent,\r\n UserBankDetailsComponent,\r\n AddUpdateBankDetailsComponent,\r\n DisplayAttachedFilesComponent,\r\n PaymentStatusDialogComponent\r\n\r\n ],\r\n exports: [\r\n CommonModule,\r\n MatToolbarModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatSidenavModule,\r\n MatIconModule,\r\n MatListModule,\r\n MatDialogModule,\r\n HeaderComponent,\r\n SuperAdminHeaderComponent,\r\n FooterComponent,\r\n SidebarComponent,\r\n MatTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatProgressSpinnerModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n DataTableComponent,\r\n DialogComponent,\r\n NumbersOnlyDirective,\r\n StatusPipe,\r\n PhoneNumberDirective,\r\n ZipcodeDirective,\r\n SsnDirective,\r\n MrnNumberDirective,\r\n MatSelectModule,\r\n ChartsModule,\r\n LineChartComponent,\r\n ClientHeaderLayoutComponent,\r\n ChatWidgetComponent,\r\n GoogleAddressInputComponent,\r\n RouterModule,\r\n MatDatepickerModule,\r\n MatTabsModule,\r\n AppointmentGraphComponent,\r\n ApproveAppointmentDialogComponent,\r\n CancelAppointmentDialogComponent,\r\n UniquePipe,\r\n TimeCheckPipe,\r\n EncounterPipe,\r\n MatRadioModule,\r\n TextChatComponent,\r\n CallButtonComponent,\r\n UploadFileComponent,\r\n ChatMessagePipe,\r\n TextMessageFormatComponent,\r\n //PublisherComponent,\r\n //SubscriberComponent,\r\n NgxMaskModule,\r\n TooltipModule,\r\n MatCheckboxModule,\r\n MatButtonToggleModule,\r\n DynamicFormControlComponent,\r\n DynamicFormComponent,\r\n CountDownComponent,\r\n AddPrescriptionComponent,\r\n VideoConsultationTestModalComponent,\r\n DocViewerComponent,\r\n NgxDocViewerModule,\r\n ViewReportComponent,\r\n MatVideoModule,\r\n MatChipsModule,\r\n MatAutocompleteModule,\r\n AppointmentReschedulingDialogComponent,\r\n PreponeAppointmentComponent,\r\n PostponeAppointmentComponent,\r\n UrgentCareListingdialogComponent,\r\n TranslateModule,\r\n PhoneNumberComponent,\r\n DatePickerComponent,\r\n TemplateListingComponent,\r\n FormBuilderComponent,\r\n SignaturePadModule,\r\n RaiseTicketComponent,\r\n ImageViewerComponent,\r\n TicketDialogComponent,\r\n UpdateTicketComponent,\r\n DoughnutChartComponent,\r\n SharedSoapViewNoteModelComponent,\r\n SharedSoapNoteComponent,\r\n ManageFeesRefundsComponent,\r\n BarChartComponent,\r\n ErrorPopupComponent,\r\n LetterTemplateGuidencePopupComponent,\r\n SecretaryAdminUsageLoginComponent,\r\n ProviderAppointmentDocumentsComponent,\r\n DisplayAttachedFilesComponent\r\n ],\r\n})\r\nexport class SharedModule { }\r\nexport function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {\r\n return new TranslateHttpLoader(http);\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { CommonService } from '../platform/modules/core/services';\r\nimport { FilterModel, GetTicketRequestModel } from '../super-admin-portal/core/modals/common-model';\r\nimport { AddUpdateUserBankDetailsModal, GetAllUserBankDetails, GetUserDetailsRequest } from './models/callModel';\r\n\r\n\r\n@Injectable()\r\nexport class SharedService {\r\n //Patient Raised Ticket URL\r\n private uploadTicket = \"ticketRaise/RaiseTicket\"\r\n private getUserAllRaisedTickets = \"ticketRaise/GetUserRaisedTicket\"\r\n private deleteTicketById = \"ticketRaise/DeleteRaisedTicketById/\"\r\n private getTicketRaiseCategories = \"ticketRaise/categories\"\r\n private getStaffAppointmentDocument = \"staffs/GetStaffAppointmentDocument\"\r\n private getAllUserWithNameAndEmail = \"user/GetAllUserByMailName\"\r\n private getAllConversation = \"ticketRaise/GetTicketChatMessage\"\r\n private sendTicketChatMessage = \"ticketRaise/PostTicketChatMessage\"\r\n private sendNewMessageNotification = \"ticketRaise/NewMessageNotification\"\r\n //UserBankDetails service\r\n private AddUpdateUserBankDetailsUrl = \"api/UserBankDetails/AddUpdateUserBankDetails\"\r\n private GetAllUserBankDetailsUrl = \"api/UserBankDetails/GetAllUserBankDetails\"\r\n private ChangeDefultBankUrl = \"api/UserBankDetails/ChangeDefultBank\"\r\n private GetUserDetailsUrl = \"api/UserBankDetails/GetUserDetails\"\r\n private DeleteBankUrl = \"api/UserBankDetails/DeleteBank\"\r\n\r\n private sidenav: MatSidenav;\r\n\r\n constructor(private commonService: CommonService,\r\n private translate: TranslateService) { }\r\n\r\n public setSidenav(sidenav: MatSidenav) {\r\n this.sidenav = sidenav;\r\n }\r\n\r\n public open() {\r\n return this.sidenav.open();\r\n }\r\n\r\n\r\n public close() {\r\n return this.sidenav.close();\r\n }\r\n\r\n public toggle(): void {\r\n this.sidenav.toggle();\r\n }\r\n\r\n UploadTicket(data: any, isLoading = true) {\r\n return this.commonService.post(this.uploadTicket, data, true);\r\n }\r\n\r\n\r\n GetAllUserRaisedTickets(getTicketreqModel: GetTicketRequestModel, isLoading = true) {\r\n let url = `?SearchText=${getTicketreqModel.searchText}&PageNumber=${getTicketreqModel.pageNumber}&PageSize=${getTicketreqModel.pageSize}&SortColumn=${getTicketreqModel.sortColumn}&SortOrder=${getTicketreqModel.sortOrder}`;\r\n\r\n\r\n if (getTicketreqModel && getTicketreqModel.fromDate) {\r\n\r\n url += `&FromDate=${getTicketreqModel.fromDate}`;\r\n }\r\n\r\n\r\n if (getTicketreqModel && getTicketreqModel.toDate) {\r\n\r\n url += `&ToDate=${getTicketreqModel.toDate}`;\r\n }\r\n\r\n return this.commonService.get(this.getUserAllRaisedTickets + url);\r\n }\r\n\r\n DeleteUserRaisedTicketById(ticketId: number, isLoading = true) {\r\n return this.commonService.get(this.deleteTicketById + ticketId);\r\n }\r\n\r\n GetTicketRaiseCategories() {\r\n return this.commonService.get(this.getTicketRaiseCategories)\r\n }\r\n\r\n GetStaffAppointmentDocumentByStaffId(staffId:any,filterModel:FilterModel){\r\n return this.commonService.get(`${this.getStaffAppointmentDocument}?staffId=${staffId}&sortOrder=${filterModel.sortOrder}&sortColumn=${filterModel.sortColumn}&pageNumber=${filterModel.pageNumber}&pageSize=${filterModel.pageSize}`, false)\r\n }\r\n\r\n GetAllConversation(ticketId: number) {\r\n return this.commonService.get(`${this.getAllConversation}?ticketId=${ticketId}`, false);\r\n }\r\n\r\n SendTicketChatMessage(msg: any) {\r\n return this.commonService.post(this.sendTicketChatMessage, msg, false);\r\n }\r\n\r\n SendNewMessageNotification(ticketId: any) {\r\n return this.commonService.post(this.sendNewMessageNotification, ticketId, false);\r\n }\r\n\r\n OnUpdateTicket(ticket: any) {\r\n return this.commonService.post(\r\n \"ticketRaise/UpdateRaisedTicketById\",\r\n ticket\r\n );\r\n }\r\n AddUpdateUserBankDetails(Data: AddUpdateUserBankDetailsModal) {\r\n return this.commonService.post(\r\n this.AddUpdateUserBankDetailsUrl,\r\n Data\r\n );\r\n }\r\n GetAllUserBankDetails(Data: GetAllUserBankDetails) {\r\n return this.commonService.post(\r\n this.GetAllUserBankDetailsUrl,\r\n Data\r\n );\r\n }\r\n GetUserDetails(Data: GetUserDetailsRequest) {\r\n return this.commonService.post(\r\n this.GetUserDetailsUrl,\r\n Data\r\n );\r\n }\r\n\r\n async transform(value: any): Promise {\r\n const language = localStorage.getItem('language') || 'en';\r\n\r\n this.translate.setDefaultLang(language);\r\n this.translate.use(language);\r\n const data = await (this.translate.get(value).toPromise());\r\n return data;\r\n }\r\n\r\n GetAllClientNameAndEmailsBySearchText(searchText: any) {\r\n return this.commonService.get(this.getAllUserWithNameAndEmail + `?name=${searchText}`)\r\n }\r\n ChangeDefultBank(UserBankDetailsId: any) {\r\n return this.commonService.get(this.ChangeDefultBankUrl + `?UserBankDetailsId=${UserBankDetailsId}`)\r\n }\r\n DeleteBank(UserBankDetailsId: any) {\r\n return this.commonService.get(this.DeleteBankUrl + `?UserBankDetailsId=${UserBankDetailsId}`)\r\n }\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n border-bottom: 2px dotted #ddd;\\r\\n font-family: 'Rafleway', sans-serif;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.cstm-cross.policy-blk .fa {\\r\\n top: -24px;\\r\\n right: -24px;\\r\\n}\\r\\n\\r\\n.pay-step.hgt-scroll {\\r\\n height: 410px !important;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 18px;\\r\\n margin-top: 10px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #01385f;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-family: 'Raleway', sans-serif;\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: block;\\r\\n color: #4e4852;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 14px;\\r\\n font-weight: 600;\\r\\n color: #01385f;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #4e4852;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #01385f;\\r\\n font-size: 20px;\\r\\n font-family: 'Raleway', sans-serif;\\r\\n display: flex;\\r\\n font-weight: 600;\\r\\n justify-content: space-between;\\r\\n padding: 15px;\\r\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.60);\\r\\n font-size: 14px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type label {\\r\\n margin: 0px 10px 0px 0px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n width: 135px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #01385f;\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding-bottom: 10px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type .mat-radio-outer-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #63d891;\\r\\n border-radius: 0;\\r\\n display: inline-block;\\r\\n font-size: 15px !important;\\r\\n padding: 5px 10px;\\r\\n height: auto;\\r\\n margin: 5px 10px 5px 0px;\\r\\n line-height: normal;\\r\\n color: #63d891;\\r\\n cursor: pointer;\\r\\n height: 36px !important;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #01385f;\\r\\n color: #fff;\\r\\n background-color: #01385f;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n flex-wrap: wrap;\\r\\n gap: 5px;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 0px;\\r\\n font-size: 16px;\\r\\n margin: 10px 0px 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n margin: 15px 0px 20px;\\r\\n line-height: 18px;\\r\\n}\\r\\n\\r\\n.fnt-sze {\\r\\n font-size: 14px;\\r\\n margin-right: 12px;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-txtarea textarea.mat-input-element {\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.custom-txtarea label {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mat-radio-label-content {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.terms-check {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/* .mat-datepicker-content .mat-calendar{\\r\\n width:550px !important;\\r\\n height: auto !important;\\r\\n} */\\r\\n\\r\\n.followupError {\\r\\n color: #f44336;\\r\\n}\\r\\n\\r\\n.hgt-scroll {\\r\\n height: 465px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n margin-top: 6px;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #01385f;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 0px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.cstm-cancel-btn i {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.link-btn.min-w-100 {\\r\\n min-width: 100px;\\r\\n margin-right: auto !important;\\r\\n}\\r\\n\\r\\n.appointment-panel .appointment-content {\\r\\n padding: 12px 15px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-label {\\r\\n padding-top: 5px !important;\\r\\n padding-bottom: 5px !important;\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell {\\r\\n padding: 15px 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell-content {\\r\\n width: 30px !important;\\r\\n left: 36% !important;\\r\\n font-weight: 600 !important;\\r\\n height: 30px;\\r\\n}\\r\\n\\r\\n/* .appointment-content .mat-calendar-body-today:selected(.mat-calendar-body-selected) {\\r\\n border-color: #f87515;\\r\\n background-color: #f87515;\\r\\n color: #fff;\\r\\n} */\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\r\\n border-color: rgba(0, 0, 0, 0.04);\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-controls {\\r\\n margin: 0 10px !important\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-spacer {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-header {\\r\\n padding: 0px 8px 0 8px !important;\\r\\n background-color: #01385f !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-period-button {\\r\\n margin: 0 auto !important;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n letter-spacing: 3px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-content {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header {\\r\\n background-color: #01385f !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header th {\\r\\n font-size: 13px !important;\\r\\n color: #fff !important;\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-card {\\r\\n box-shadow: none !important;\\r\\n padding: 0 !important;\\r\\n border: 1px solid #efefef !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header-divider {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-previous-button {\\r\\n position: absolute !important;\\r\\n left: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-arrow {\\r\\n border-top-color: #fff !important;\\r\\n}\\r\\n\\r\\n/* scroller hide css */\\r\\n\\r\\n/* .appointment-content .ng-scrollbar-container{\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.stfselection {\\r\\n background-color: #fafafa;\\r\\n padding-bottom: 6px;\\r\\n margin-bottom: 0px;\\r\\n margin-left: -20px;\\r\\n margin-right: -20px;\\r\\n padding-top: 15px;\\r\\n}\\r\\n\\r\\n.stfselection div {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.stfselection label {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.stfselection hr {\\r\\n border-color: rgba(255, 255, 255, 0.2) !important;\\r\\n}\\r\\n\\r\\n.stfselection small {\\r\\n float: right;\\r\\n cursor: pointer;\\r\\n line-height: 13px;\\r\\n padding-top: 8px;\\r\\n}\\r\\n\\r\\n.stfselection .mat-form-field-infix {\\r\\n border-top: 0px;\\r\\n}\\r\\n\\r\\n.stfselection .mat-form-field-appearance-legacy .mat-form-field-underline {\\r\\n background-color: rgb(40, 229, 250);\\r\\n}\\r\\n\\r\\n.stfselection .mat-select-arrow {\\r\\n color: #01385f !important;\\r\\n}\\r\\n\\r\\n.schedule-btn {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn {\\r\\n border: 1px solid #ccc;\\r\\n background-color: transparent;\\r\\n background-color: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn:hover {\\r\\n background-color: #17a2b8;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.calnedar-dropdown.mat-form-field {\\r\\n width: 0px;\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.schedule-date h3 {\\r\\n margin: 0px;\\r\\n font-weight: 600;\\r\\n font-size: 22px;\\r\\n padding-left: 5px;\\r\\n color: #01385f;\\r\\n}\\r\\n\\r\\n.hideDiv {\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.cstm-radio-btn .mat-radio-button label {\\r\\n margin-bottom: 0;\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n.receipt {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n\\r\\n.cstm-add {\\r\\n display: block;\\r\\n width: 75%;\\r\\n}\\r\\n\\r\\n.cstm-add input:focus-visible {\\r\\n outline: none !important\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name>div>div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.select-box {\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.select-box input {\\r\\n width: 100%;\\r\\n margin: 0 !important;\\r\\n padding: 10px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n

Dr. {{fullname}}

\\r\\n
{{spl.speciality}}
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (17)\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • {{userInfo.phoneNumber}}
  • \\r\\n
  • {{userInfo.email}}
  • \\r\\n \\r\\n
  • \\r\\n {{userInfo.payRate |\\r\\n currency:'JOD':'symbol-narrow'}}
  • \\r\\n
  • \\r\\n {{userInfo.ftFpayRate |\\r\\n currency:'JOD':'symbol-narrow'}}
  • \\r\\n
  • \\r\\n {{userInfo.homeVisitPayRate |\\r\\n currency:'JOD':'symbol-narrow'}}
  • \\r\\n
  • \\r\\n {{userInfo.followUpPayRate |\\r\\n currency:'JOD':'symbol-narrow'}}
  • \\r\\n\\r\\n \\r\\n
  • {{userInfo.address}}\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{\\\"book_an_appointement\\\"|translate}}\\r\\n\\r\\n\\r\\n \\r\\n {{\\\"Great please select a date and time, we will also request that you needs to pay to confirm your appointment\\\"|translate}}.\\r\\n
\\r\\n \\r\\n {{c.label}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{\\\"appointment_booked\\\"|translate}}\\r\\n
\\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_date_and_time\\\"|translate}}\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
{{\\\"Provider is not available on this date. Please choose another date\\\"|translate}}.
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
    \\r\\n
  • {{slot.startTimeftm}} to\\r\\n {{slot.endTimeftm}}
  • \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n {{\\\"book_and_pay\\\"|translate}}\\r\\n
\\r\\n {{\\\"Please select appointment slot first to book in previous step, then pay here\\\"|translate}}.\\r\\n
\\r\\n
\\r\\n

{{\\\"you_are_requesting_booking_for\\\"|translate}} {{spl.speciality}}\\r\\n
\\r\\n {{confirmation.date | date:'fullDate'}} {{\\\"between\\\"|translate}}\\r\\n {{confirmation.startTime | date: 'hh:mm'}} {{\\\"to\\\"|translate}} {{confirmation.endTime | date: 'hh:mm'}}\\r\\n

\\r\\n \\r\\n
{{\\\"we_will_send_you_an_email\\\"|translate}}
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{type}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{mode}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n {{userInfo.payRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
\\r\\n
\\r\\n {{userInfo.ftFpayRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
\\r\\n
\\r\\n {{userInfo.homeVisitPayRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
\\r\\n
\\r\\n {{userInfo.followUpPayRate |\\r\\n currency:'JOD':'symbol-narrow'}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n

\\r\\n \\r\\n {{file.fileName}}\\r\\n 134 kb\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{fts.label}}\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{\\\"terms_conditions\\\"|translate}}\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n You\\r\\n do not have any previous appointment within allowed days..\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

{{\\\"thank_you\\\"|translate}}

\\r\\n

{{\\\"Your_appointment_has_been_successfully_booked_with_us_for\\\"|translate}}
{{spl.speciality}} {{\\\"on\\\"|translate}} {{confirmation.date |\\r\\n date:'fullDate'}} {{\\\"between\\\"|translate}} {{confirmation.startTime}} {{\\\"to\\\"|translate}} {{confirmation.endTime}}.

\\r\\n

{{\\\"Please check your email for further assistance. We will contact you as soon as possible\\\"|translate}}.

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { debug } from \"util\";\r\nimport { state } from \"@angular/animations\";\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { AppointmentModel } from \"./../../platform/modules/scheduling/scheduler/scheduler.model\";\r\n\r\n//import { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { isatty } from \"tty\";\r\nimport { userInfo } from \"os\";\r\nimport { MatSelect, MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatAutocomplete, MatChipInputEvent, MatAutocompleteSelectedEvent } from \"@angular/material\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\nimport { FollowupAppointmentComponent } from './../followup-appointment/followup-appointment.component'\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Inject,\r\n Renderer2,\r\n ViewChild,\r\n ElementRef\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n StaffAward,\r\n StaffQualification,\r\n StaffExperience\r\n} from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format, getHours, getMinutes } from \"date-fns\";\r\nimport { map, startWith, switchMap } from \"rxjs/operators\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { DatePipe, DOCUMENT } from \"@angular/common\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { AddUserDocumentComponent } from \"src/app/platform/modules/agency-portal/users/user-documents/add-user-document/add-user-document.component\";\r\nimport { TermsConditionModalComponent } from \"../../front/terms-conditions/terms-conditions.component\";\r\nimport { SaveDocumentComponent } from \"../../front/save-document/save-document.component\";\r\nimport { ManageFeesRefundsModel } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { SymptomCheckerService } from \"../symptom-checker/symptom-checker.service\";\r\nimport * as getDate from \"date-fns/get_date\";\r\n//import { StripeToken, StripeSource } from \"stripe-angular\";\r\n\r\nconst getDateTimeString = (date: string, time: string): string => {\r\n const y = new Date(date).getFullYear(),\r\n m = new Date(date).getMonth(),\r\n d = new Date(date).getDate(),\r\n splitTime = time.split(\":\"),\r\n hours = parseInt(splitTime[0] || \"0\", 10),\r\n minutes = parseInt(splitTime[1].substring(0, 2) || \"0\", 10),\r\n meridiem = splitTime[1].substring(3, 5) || \"\",\r\n updatedHours =\r\n (meridiem || \"\").toUpperCase() === \"PM\" && hours != 12\r\n ? hours + 12\r\n : hours;\r\n\r\n const startDateTime = new Date(y, m, d, updatedHours, minutes);\r\n\r\n return format(startDateTime, \"YYYY-MM-DDTHH:mm:ss\");\r\n};\r\n@Component({\r\n selector: \"app-staff-appointment\",\r\n templateUrl: \"./staff-appointment.component.html\",\r\n styleUrls: [\"./staff-appointment.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StaffAppointmentComponent implements OnInit {\r\n submitted: boolean = false;\r\n isSelf: boolean = true\r\n disableRadio: boolean = false;\r\n appointment: AppointmentModel;\r\n todayDate: Date = new Date();\r\n selectedOfficeStaffs: Array;\r\n selectedOfficeClients: Array;\r\n selectedProvider: any;\r\n currentNotes: any;\r\n choices: any[] = [{ id: \"1\", label: \"Self\", \"checked\": true }, { id: \"2\", label: \"Referral\", \"checked\": false }];\r\n selectedClient: any;\r\n isShow: boolean = false;\r\n isLinear = false;\r\n payMode: Boolean = false;\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n thirdFormGroup: FormGroup;\r\n userInfo: any;\r\n age: any;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n staffId: number;\r\n providerId: string;\r\n patientId: number;\r\n userRoleName: string;\r\n lastFollowupData: any;\r\n lastFollowup: any;\r\n\r\n // appointmenType: any = [\"New\", \"Followup\", \"Free\"];\r\n //appointmenType: any = [\"New\", \"Free\"];\r\n appointmenType: any = [\"New\", \"Follow-up\"];\r\n appointmentMode: any = [\"Online\", \"Face to Face\"];\r\n confirmation: any = { type: \"New\", mode: \"Online\" };\r\n providerAvailiabilitySlots: any = [];\r\n patientAppointments: any;\r\n staffAvailability: any;\r\n locationId: number;\r\n showLoader: boolean = false;\r\n providerAvailableDates: any = [];\r\n providerNotAvailableDates: any = [];\r\n\r\n masterPatientLocation: Array;\r\n masterStaffs: Array;\r\n masterAddressTypes: Array;\r\n officeAndPatientLocations: Array;\r\n masterAppointmentTypes: Array;\r\n Organization: any;\r\n patientEmail: string;\r\n paymentToken: string = \"\";\r\n Message: any;\r\n IsPreviousFollowup: boolean = false;\r\n isNewAppointment: boolean = false;\r\n isNotBooked: boolean;\r\n isProfileLoaded: boolean = false;\r\n //Notes: string = \"\";\r\n appointmentId: number = 0;\r\n fileList: any = [];\r\n dataURL: any;\r\n officeStaffs: Array;\r\n officeClients: Array;\r\n isClientLogin: boolean;\r\n isAdminLogin: boolean;\r\n newfollowupfees: boolean = false;\r\n feeSettings: ManageFeesRefundsModel;\r\n hasPreviousNewMeeting = false;\r\n userControl = new FormControl();\r\n filteredSymptoms$: Observable;\r\n symptoms: any = [];\r\n @ViewChild('userInput') userInput: ElementRef;\r\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\r\n appointmentModeId: number;\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private _formBuilder: FormBuilder,\r\n private homeService: HomeService,\r\n private commonService: CommonService,\r\n private notifierService: NotifierService,\r\n private usersService: UsersService,\r\n private schedulerService: SchedulerService,\r\n private datePipe: DatePipe,\r\n private renderer2: Renderer2,\r\n private dialogModal: MatDialog,\r\n private userService: UsersService,\r\n private notifier: NotifierService,\r\n private symptomCheckerService: SymptomCheckerService,\r\n private translate: TranslateService,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.officeStaffs = [];\r\n this.selectedOfficeStaffs = [];\r\n this.selectedOfficeClients = [];\r\n this.officeClients = [];\r\n\r\n this.userInfo = data.userInfo;\r\n this.age = data.age;\r\n this.locationId = data.locationId;\r\n this.providerId = data.staffId;\r\n this.staffId = data.staffId;\r\n this.appointmentId = data.appointmentId,\r\n this.patientId = data.patientId\r\n this.currentNotes = data.currentNotes;\r\n\r\n this.isNewAppointment = data.isNewAppointment;\r\n\r\n dialogModalRef.disableClose = true;\r\n this.masterStaffs = [];\r\n this.masterPatientLocation = [];\r\n this.masterAppointmentTypes = [];\r\n this.masterAddressTypes = [];\r\n this.officeAndPatientLocations = [];\r\n this.filteredSymptoms$ = this.userControl.valueChanges\r\n\r\n .pipe(\r\n startWith(''),\r\n // use switch map so as to cancel previous subscribed events, before creating new once\r\n switchMap(value => {\r\n if (value != null && typeof (value) == \"string\") {\r\n if (value.length > 2) {\r\n return this.getPatientSymptoms(value).pipe()\r\n } else {\r\n // if no value is present, return null\r\n return of(null);\r\n }\r\n }\r\n else return of(null);\r\n })\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.Message = null;\r\n this.isNotBooked = true;\r\n this.homeService.getOrganizationDetail().subscribe(response => {\r\n if (response.statusCode == 200) {\r\n this.Organization = response.data;\r\n }\r\n });\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userRoleName =\r\n (user.data.users3 && user.data.users3.userRoles.userType || \"\").toUpperCase();\r\n this.isClientLogin = this.userRoleName === \"CLIENT\";\r\n this.isAdminLogin = this.userRoleName === \"ADMIN\";\r\n\r\n\r\n if (this.userRoleName === \"CLIENT\") {\r\n this.patientEmail = user.patientData.email;\r\n }\r\n }\r\n });\r\n\r\n // this.setAppointmentParameters();\r\n const s = this.renderer2.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n this.firstFormGroup = this._formBuilder.group({\r\n appointmentDate: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: [\"\", Validators.required]\r\n });\r\n this.thirdFormGroup = this._formBuilder.group({\r\n Notes: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n\r\n if (this.providerId != \"\") {\r\n this.getStaffDetail();\r\n this.getLastNewAppointment(this.providerId);\r\n }\r\n else {\r\n this.bindStaffProfile();\r\n }\r\n\r\n this.fetchStaffsAndPatients()\r\n\r\n if (this.isAdminLogin && this.isNewAppointment) {\r\n this.providerId = '0';\r\n this.staffId = 0;\r\n this.patientId = 0;\r\n }\r\n\r\n }\r\n\r\n hideDropDown(value: boolean) {\r\n this.payMode = value;\r\n this.formGroup3.Notes.setValue(this.currentNotes);\r\n }\r\n\r\n /*Stripe Start */\r\n openCheckout() {\r\n\r\n let _amount = 0;\r\n if (this.confirmation.type == 'New' && this.confirmation.mode == 'Online') {\r\n _amount = this.userInfo.payRate;\r\n }\r\n else if (this.confirmation.type == 'New' && this.confirmation.mode == 'Face to Face') {\r\n _amount = this.userInfo.ftFpayRate;\r\n }\r\n else if (this.confirmation.type == 'New' && this.confirmation.mode == 'Home Visit') {\r\n _amount = this.userInfo.homeVisitPayRate;\r\n }\r\n else if (this.confirmation.type.toLowerCase() == 'follow-up') {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (!_amount || _amount === 0 || _amount == 0.00) {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n } else {\r\n\r\n // const handler = (window).StripeCheckout.configure({\r\n // key: this.Organization.stripeKey,\r\n // locale: \"auto\",\r\n // token: function(token: any) {\r\n\r\n // if (token.id != \"\") {\r\n // localStorage.setItem(\"payment_token\", token.id);\r\n\r\n // }\r\n\r\n // }\r\n // });\r\n this.paymentToken = \"\";\r\n localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // {\r\n this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n // }\r\n\r\n // handler.open({\r\n // name: this.Organization.organizationName,\r\n // description: this.Organization.description,\r\n // image: this.Organization.logo,\r\n // amount: _amount * 100,\r\n // email: this.patientEmail,\r\n // closed: () => {\r\n // this.paymentToken = localStorage.getItem(\"payment_token\");\r\n // localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n // }\r\n // });\r\n }\r\n\r\n }\r\n\r\n /*Stripe End */\r\n get formGroup1() {\r\n return this.firstFormGroup.controls;\r\n }\r\n get formGroup3() {\r\n return this.thirdFormGroup.controls;\r\n }\r\n\r\n onSlotSelect(slot: any) {\r\n this.confirmation.type = \"New\";\r\n const index = this.providerAvailiabilitySlots.findIndex(\r\n x => x.isSelected == true\r\n );\r\n if (index != -1) {\r\n this.providerAvailiabilitySlots[index].isSelected = false;\r\n this.providerAvailiabilitySlots[index].isAvailable = true;\r\n }\r\n // this.providerAvailiabilitySlots.forEach(slot => {\r\n // slot.isSelected = false;\r\n\r\n // });\r\n this.confirmation.startTime = slot.startTime;\r\n this.confirmation.endTime = slot.endTime;\r\n slot.isSelected = true;\r\n slot.isAvailable = false;\r\n }\r\n\r\n onDateChange(event: any) {\r\n\r\n const curDate = this.datePipe.transform(new Date(), 'yyyy-MM-dd');\r\n const selDate = this.datePipe.transform(event, 'yyyy-MM-dd');\r\n\r\n if (this.isNewAppointment && (this.userRoleName == \"ADMIN\" || !this.isSelf) && (this.staffId == 0 || this.patientId == 0)) {\r\n\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Please select both provider and patient\"\r\n );\r\n return null;\r\n }\r\n\r\n if (this.isNewAppointment && (this.userRoleName == \"PROVIDER\" || this.userRoleName == \"STAFF\") && this.patientId == 0) {\r\n\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Please select patient.\"\r\n );\r\n return null;\r\n }\r\n\r\n if (selDate < curDate) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Appointment cannot be set for past date\"\r\n );\r\n return null;\r\n }\r\n\r\n this.disableRadio = true;\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n this.firstFormGroup.get('appointmentDate').setValue(event);\r\n //let interval = 30;\r\n let interval = this.userInfo.timeInterval;\r\n const filterModal = {\r\n locationIds: this.locationId,\r\n // fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n // toDate: format(event.value, \"YYYY-MM-DD\"),\r\n fromDate: format(event, \"YYYY-MM-DD\"),\r\n toDate: format(event, \"YYYY-MM-DD\"),\r\n staffIds: this.staffId,\r\n patientIds: (\"\" || []).join(\",\")\r\n };\r\n let clientAppointments: Array = [];\r\n\r\n let currentAvailabilityDay: any;\r\n let currentAvailableDates: Array = [];\r\n let currentUnAvailableDates: Array = [];\r\n let days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\"\r\n ];\r\n // let dayName = days[new Date(event.value).getDay()];\r\n let dayName = days[new Date(event).getDay()];\r\n this.staffAvailability = [];\r\n\r\n switch (this.confirmation.mode.toLowerCase()) {\r\n case 'online':\r\n this.appointmentModeId = 1\r\n break;\r\n case 'face to face':\r\n this.appointmentModeId = 2\r\n break;\r\n case 'home visit':\r\n this.appointmentModeId = 3\r\n break;\r\n\r\n }\r\n\r\n this.usersService\r\n .getStaffAvailabilityByLocation(this.staffId, this.locationId, selDate, this.appointmentModeId)\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n if (response.statusCode == 200) {\r\n this.schedulerService\r\n .getListData(filterModal)\r\n .subscribe((response: any) => {\r\n this.showLoader = false;\r\n if (response.statusCode == 200) {\r\n this.patientAppointments = response.data;\r\n this.patientAppointments.forEach(app => {\r\n let obj = {\r\n startTime: app.startDateTime,\r\n endTime: app.endDateTime\r\n };\r\n let timeObj = this.getStartEndTime(obj),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n if (!app.cancelTypeId || app.cancelTypeId == null && app.cancelTypeId == 0) {\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n clientAppointments.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n statusName: app.statusName\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.staffAvailability = availibiltyResponse.data.days;\r\n this.providerAvailableDates = availibiltyResponse.data.available;\r\n this.providerNotAvailableDates =\r\n availibiltyResponse.data.unavailable;\r\n\r\n //Find day wise availability\r\n currentAvailabilityDay = this.staffAvailability.filter(\r\n x => x.dayName === dayName\r\n );\r\n\r\n //Find date wise availability\r\n if (\r\n this.providerAvailableDates != null &&\r\n this.providerAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates = this.providerAvailableDates.filter(\r\n x =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n );\r\n }\r\n\r\n //find datewise unavailabilty\r\n if (\r\n this.providerNotAvailableDates != null &&\r\n this.providerNotAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates = this.providerNotAvailableDates.filter(\r\n x =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n );\r\n }\r\n let slots: Array = [];\r\n let slotsIntervals: Array = [];\r\n let unAvaiabilityIntervalArr: Array = [];\r\n let availDaySlots: Array = [];\r\n let availDateSlots: Array = [];\r\n let unAvailDateSlots: Array = [];\r\n\r\n //let curentTime = this.parseTime(currentDate);\r\n if (\r\n currentAvailabilityDay != null &&\r\n currentAvailabilityDay.length > 0\r\n ) {\r\n currentAvailabilityDay.forEach(currentDay => {\r\n let timeObj = this.getStartEndTime(currentDay),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n availDaySlots.push(x);\r\n });\r\n });\r\n }\r\n if (\r\n currentAvailableDates != null &&\r\n currentAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates.forEach(avail => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n availDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (\r\n currentUnAvailableDates != null &&\r\n currentUnAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates.forEach(avail => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n unAvailDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (availDateSlots.length == 0) {\r\n if (availDaySlots.length > 0) {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach(slot => {\r\n const foundIndex = availDaySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDaySlots = availDaySlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDaySlots;\r\n }\r\n } else {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach(slot => {\r\n const foundIndex = availDateSlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDateSlots = availDateSlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDateSlots;\r\n }\r\n\r\n if (slots.length > 0) {\r\n slots.forEach(x => {\r\n this.providerAvailiabilitySlots.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n startTimeftm: x.startTime.replace(\":00\", \"\").replace(\"AM\", \"\").replace(\"PM\", \"\"),\r\n endTimeftm: x.endTime.replace(\":00\", \"\"),\r\n location: \"Max Hospital, Mohali\",\r\n isAvailable: true,\r\n isSelected: false,\r\n isPassed: false,\r\n isReserved: false\r\n });\r\n });\r\n }\r\n if (clientAppointments.length > 0) {\r\n clientAppointments.forEach(slot => {\r\n let status = (slot.statusName as string).toLowerCase();\r\n if ((slot.statusName as string).toLowerCase() != \"cancel\") {\r\n const foundIndex = this.providerAvailiabilitySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isAvailable = false;\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isReserved = true;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n let currentDate = new Date();\r\n if (\r\n this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n ) {\r\n let currentStartHr = currentDate.getHours(),\r\n currentStartMin = currentDate.getMinutes(),\r\n currentTime = currentStartHr * 60 + currentStartMin;\r\n this.providerAvailiabilitySlots.forEach(slot => {\r\n if (slot.isAvailable == true) {\r\n let selStart = slot.startTime.split(\" \");\r\n let selStartTime = selStart[0];\r\n let selStartHr = +selStartTime.split(\":\")[0];\r\n let selHrMin =\r\n selStart[1] == \"AM\"\r\n ? selStartHr * 60\r\n : selStartHr == 12\r\n ? selStartHr * 60\r\n : (selStartHr + 12) * 60;\r\n let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n let selEnd = slot.endTime.split(\" \");\r\n let selEndTime = selEnd[0];\r\n let selEndHr = +selEndTime.split(\":\")[0];\r\n let selEndHrMin =\r\n selEnd[1] == \"AM\"\r\n ? selEndHr * 60\r\n : selEndHr == 12 ? selEndHr * 60 : (selEndHr + 12) * 60;\r\n let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n if (\r\n currentTime >= selStartMin &&\r\n (currentTime >= selEndMin || currentTime < selEndMin)\r\n ) {\r\n slot.isPassed = true;\r\n slot.isAvailable = false;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n // this.confirmation.date = event.value;\r\n this.confirmation.date = event;\r\n this.getFollowUpDetail(selDate)\r\n }\r\n getFollowUpDetail(appointmentDate: any) {\r\n // const appointmentDate= this.datePipe.transform(this.firstFormGroup.get('appointmentDate').value, 'MM/dd/yyyy');\r\n this.schedulerService.GetLastPatientFollowupWithCurrentPovider(this.patientId.toString(), this.staffId, appointmentDate, true).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n\r\n this.lastFollowup = res.data;\r\n if (this.lastFollowup) {\r\n const futureDate = new Date(this.lastFollowup.startDateTime);\r\n futureDate.setDate(futureDate.getDate() + this.userInfo.followUpDays);\r\n // futureDate.setDate(futureDate.getDate() + this.userInfo.followUpDays);\r\n if (futureDate >= new Date())\r\n this.notifierService.notify(\"warning\", \"You can book a followup appointment between dates \" + this.datePipe.transform(this.lastFollowup.startDateTime, \"MM/dd/yyyy\") + ' and ' + this.datePipe.transform(futureDate, \"MM/dd/yyyy\") + ' with discounted price ' + this.userInfo.followUpPayRate);\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n getStartEndTime(obj: any) {\r\n let startDate: Date = new Date(obj.startTime),\r\n endDate: Date = new Date(obj.endTime);\r\n\r\n let slotStartHr = startDate.getHours(),\r\n slotStartMin = startDate.getMinutes(),\r\n slotEndHr = endDate.getHours(),\r\n slotEndMin = endDate.getMinutes(),\r\n startTime = this.parseTime(slotStartHr + \":\" + slotStartMin),\r\n endTime = this.parseTime(slotEndHr + \":\" + slotEndMin);\r\n return { startTime: startTime, endTime: endTime };\r\n }\r\n parseTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n convertHours(mins: number) {\r\n let hour = Math.floor(mins / 60);\r\n mins = mins % 60;\r\n let time = \"\";\r\n if (this.pad(hour, 2) < 12) {\r\n time = this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" AM\";\r\n } else {\r\n time =\r\n this.pad(hour, 2) == 12\r\n ? this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" PM\"\r\n : this.pad(hour, 2) - 12 + \":\" + this.pad(mins, 2) + \" PM\";\r\n }\r\n //let converted = this.pad(hour, 2)+':'+this.pad(mins, 2);\r\n return time;\r\n }\r\n\r\n pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? this.pad(\"0\" + str, max) : str;\r\n }\r\n\r\n calculateTimeSlotRange(\r\n start_time: number,\r\n end_time: number,\r\n interval: number = 30\r\n ) {\r\n let i, formattedStarttime, formattedEndtime;\r\n let time_slots: Array = [];\r\n for (let i = start_time; i <= end_time - interval; i = i + interval) {\r\n formattedStarttime = this.convertHours(i);\r\n formattedEndtime = this.convertHours(i + interval);\r\n time_slots.push({\r\n startTime: formattedStarttime,\r\n endTime: formattedEndtime\r\n });\r\n }\r\n return time_slots;\r\n }\r\n\r\n onTypeChange(type: any) {\r\n\r\n this.confirmation.type = type;\r\n this.IsPreviousFollowup = true;\r\n if (type.toLowerCase() == 'follow-up') {\r\n const appointmentDate = this.datePipe.transform(this.firstFormGroup.get('appointmentDate').value, 'MM/dd/yyyy');\r\n this.schedulerService.GetLastPatientFollowupWithCurrentPovider(this.patientId.toString(), this.staffId, appointmentDate, false).subscribe(res => {\r\n\r\n if (res.statusCode == 200) {\r\n this.lastFollowupData = res.data;\r\n if (this.lastFollowupData) {\r\n this.IsPreviousFollowup = true;\r\n }\r\n else {\r\n this.IsPreviousFollowup = false;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n openLastFollowup() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(FollowupAppointmentComponent, {\r\n hasBackdrop: true,\r\n width: '70%',\r\n data: {\r\n id: this.lastFollowupData.id,\r\n lastAppointmentStartTime: this.lastFollowupData.startDateTime,\r\n lastAppointmentEndTime: this.lastFollowupData.endDateTime,\r\n notes: this.lastFollowupData.notes,\r\n bookingMode: this.lastFollowupData.bookingMode\r\n\r\n }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n });\r\n }\r\n onModeChange(mode: any) {\r\n this.confirmation.mode = mode;\r\n }\r\n bindStaffProfile() {\r\n\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 101\r\n }\r\n this.isProfileLoaded = true;\r\n }\r\n getStaffDetail() {\r\n if (this.providerId != \"\") {\r\n\r\n this.homeService.getProviderDetail(this.providerId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n //////;\r\n this.userInfo = res.data;\r\n this.bindStaffProfile();\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n bookNewAppointment(tokenId: string, paymentMode: string): any {\r\n //////;\r\n this.submitted = true;\r\n\r\n const patientId = null;\r\n\r\n let _amount = 0;\r\n if (this.confirmation.type == 'New' && this.confirmation.mode == 'Online') {\r\n _amount = this.userInfo.payRate;\r\n }\r\n else if (this.confirmation.type == 'New' && this.confirmation.mode == 'Face to Face') {\r\n _amount = this.userInfo.ftFpayRate;\r\n }\r\n else if (this.confirmation.type == 'New' && this.confirmation.mode == 'Home Visit') {\r\n _amount = this.userInfo.homeVisitPayRate;\r\n }\r\n else if ((this.confirmation.type.toLowerCase()) == 'follow-up') {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 101\r\n }\r\n const webUrl = window.location.origin;\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: this.patientId,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n //IsTelehealthAppointment: true,\r\n IsTelehealthAppointment: this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n //Notes: this.formGroup3.Notes.value,\r\n Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n //PayRate: this.userInfo.payRate,\r\n PayRate: _amount,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n StatusId: 1,\r\n paymentURL: `${webUrl}/web/new-payment`,\r\n\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n if (this.isNewAppointment) {\r\n this.createAppointmentFromPatientPortal(appointmentData[0]);\r\n } else {\r\n const rescheduleData = [\r\n {\r\n AppointmentId: this.appointmentId,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n )\r\n }]\r\n this.RescheduleAppointment(rescheduleData[0]);\r\n }\r\n }\r\n createAppointmentFromPatientPortal(appointmentData: any) {\r\n\r\n this.schedulerService\r\n .bookNewAppointmentFromPatientPortal(appointmentData)\r\n .subscribe(response => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n RescheduleAppointment(appointmentData: any) {\r\n\r\n this.schedulerService\r\n .RescheduleAppointment(appointmentData)\r\n .subscribe(response => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully Rescheduled, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n bookNewFreeAppointment(tokenId: string, paymentMode: string): any {\r\n\r\n this.submitted = true;\r\n // if (this.appointmentForm.invalid) {\r\n // this.submitted = false;\r\n // return;\r\n // }\r\n\r\n // submit form\r\n // const selectedStaffs = this.appointmentForm.get(\"StaffIDs\").value,\r\n // selectedAppointmentTypeId = this.appointmentForm.get(\"AppointmentTypeID\")\r\n // .value,\r\n // selectedPatientId = this.appointmentForm.get(\"PatientID\").value,\r\n // startDate = this.appointmentForm.get(\"startDate\").value,\r\n // startTime = this.appointmentStartTime, // this.appointmentForm.get('startTime').value,\r\n // endTime = this.appointmentEndTime; // this.appointmentForm.get('endTime').value;\r\n\r\n // let appointmentStaffs = null;\r\n // let staffIds = Array.isArray(selectedStaffs)\r\n // ? selectedStaffs\r\n // : [selectedStaffs];\r\n // appointmentStaffs = (this.appointmentModal.appointmentStaffs || []\r\n // ).map(Obj => {\r\n // return { StaffId: Obj.staffId, IsDeleted: true };\r\n // });\r\n // staffIds.forEach(staffId => {\r\n // // update case for appointment staffs ------\r\n // let staff = appointmentStaffs.find(\r\n // Obj => Obj.StaffId === staffId && Obj.IsDeleted\r\n // );\r\n // if (staff) {\r\n // let index = appointmentStaffs.indexOf(staff);\r\n // appointmentStaffs[index] = { StaffId: staff.StaffId, IsDeleted: false };\r\n // } else {\r\n // appointmentStaffs.push({ StaffId: staffId, IsDeleted: false });\r\n // }\r\n // });\r\n\r\n // let addressesObj = {\r\n // CustomAddressID: null,\r\n // CustomAddress: null,\r\n // PatientAddressID: null,\r\n // OfficeAddressID: null\r\n // };\r\n // if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OTHER\"\r\n // ) {\r\n // addressesObj.CustomAddress = this.appointmentForm.get(\r\n // \"CustomAddress\"\r\n // ).value;\r\n // addressesObj.CustomAddressID = this.appointmentForm.get(\r\n // \"CustomAddressID\"\r\n // ).value;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"PATIENT\"\r\n // ) {\r\n // addressesObj.PatientAddressID = this.selectedServiceLocation.id;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OFFICE\"\r\n // ) {\r\n // addressesObj.OfficeAddressID = this.selectedServiceLocation.id;\r\n // }\r\n\r\n const patientId = null;\r\n // selectedPatientId && typeof selectedPatientId === \"object\"\r\n // ? selectedPatientId.id\r\n // : null;\r\n //this.recurrenceRule = this.appointmentId ? \"\" : this.recurrenceRule;\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 101\r\n }\r\n const webUrl = window.location.origin;\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: this.patientId,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n // IsTelehealthAppointment: true,\r\n IsTelehealthAppointment: this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.formGroup3.Notes.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n // PayRate: this.userInfo.payRate,\r\n // PayRate: this.confirmation.mode==\"Online\"?this.userInfo.payRate:this.userInfo.ftFpayRate ,\r\n PayRate: 0.00,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n paymentURL: `${webUrl}/web/new-payment`,\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n this.createFreeAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n createFreeAppointmentFromPatientPortal(appointmentData: any) {\r\n\r\n this.schedulerService\r\n .bookNewFreeAppointmentFromPatientPortal(appointmentData)\r\n .subscribe(response => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n // this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n openfreeapptCheckout() {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n }\r\n\r\n createModal() {\r\n\r\n let documentModal;\r\n documentModal = this.dialogModal.open(SaveDocumentComponent, { data: 0 })\r\n documentModal.afterClosed().subscribe((result: string) => {\r\n // if (result == 'save')\r\n // this.getUserDocuments();\r\n });\r\n }\r\n\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width: '70%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n });\r\n }\r\n\r\n handleImageChange(e) {\r\n //if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n let fileExtension = e.target.files[0].name.split('.').pop().toLowerCase();\r\n const input = e.target;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.fileList.push({\r\n data: this.dataURL,\r\n ext: fileExtension,\r\n fileName: e.target.files[0].name\r\n });\r\n\r\n (input as HTMLInputElement).value = '';\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n // }\r\n // else\r\n // this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n }\r\n\r\n saveDocuments(apptId: number) {\r\n ///Please chnage this API to avoid loops\r\n\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: \"Document\",\r\n documentTypeIdStaff: 15,\r\n expiration: \"\",\r\n key: \"STAFF\",\r\n otherDocumentType: \"\",\r\n userId: 0,\r\n patientAppointmentId: apptId\r\n }\r\n let dic = [];\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(`\"${element.data.replace(/^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/, '')}\": \"${element.ext}\"`);\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {})\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.userService.uploadUserDocuments(formValues).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n\r\n //this.notifier.notify('success', response.message);\r\n //this.closeDialog(\"save\");\r\n }\r\n else this.notifier.notify('error', response.message);\r\n });\r\n }\r\n else {\r\n //this.notifier.notify('error', \"Please add atleast one file\");\r\n }\r\n }\r\n\r\n // getProvidersFollowUpDaysAllowed(staffId){\r\n // this.schedulerService.getStaffFeeSettings(staffId).subscribe(response => {\r\n // if (response.statusCode === 200) {\r\n // this.feeSettings = response.data as ManageFeesRefundsModel;\r\n // }\r\n // })\r\n // }\r\n\r\n // get checkIfAllowed() {\r\n // if (this.confirmation.type == 'Followup') {\r\n // //////;\r\n // if (this.userInfo && this.userInfo.followUpDays &&\r\n // this.firstFormGroup.controls.appointmentDate.value) {\r\n\r\n // return this.hasPreviousNewMeeting;\r\n // const startDate = new Date(this.firstFormGroup.controls.appointmentDate.value);\r\n // const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds\r\n // const diffDates: any = (this.lastAppointmentDateTime - startDate);\r\n // const diffDays = Math.round(Math.abs((diffDates) / oneDay))\r\n // if (diffDays > -1 && diffDays <= this.userInfo.followUpDays) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n\r\n // } else { return false; }\r\n // } else { return true; }\r\n // }\r\n\r\n\r\n fetchStaffsAndPatients(locationId?: string): void {\r\n\r\n this.schedulerService\r\n .getStaffAndPatientByLocation(this.locationId.toString(), \"SCHEDULING_LIST_VIEW_OTHERSTAFF_SCHEDULES\")\r\n .subscribe((response: any) => {\r\n if (response.statusCode !== 200) {\r\n (this.officeStaffs = []), (this.officeClients = []);\r\n } else {\r\n\r\n this.officeStaffs = response.data.staff || [];\r\n this.officeClients = response.data.patients || [];\r\n\r\n }\r\n });\r\n }\r\n onDropdownSelectionChange(event: any): void {\r\n const source: MatSelect = event.source,\r\n value: any = event.value;\r\n\r\n if (source.id === \"officeStaffs\") {\r\n this.staffId = value;\r\n this.providerId = value;\r\n }\r\n if (source.id === \"officeClients\") {\r\n this.patientId = value;\r\n }\r\n\r\n\r\n\r\n }\r\n getLastNewAppointment(staffId) {\r\n\r\n this.schedulerService.getPreviousAppointment(staffId, this.patientId).subscribe(response => {\r\n if (response.statusCode === 200) {\r\n this.hasPreviousNewMeeting = response.data ? true : false;\r\n // if (lastAppointment) {\r\n // this.lastAppointmentDateTime = new Date(lastAppointment.startDateTime);\r\n // this.hasPreviousNewMeeting = true;\r\n // }\r\n }\r\n });\r\n }\r\n\r\n closeModal() {\r\n this.dialogModal.closeAll();\r\n }\r\n radioChange(id: any) {\r\n this.isSelf = id == 1 ? true : false;\r\n\r\n }\r\n\r\n\r\n\r\n getPatientSymptoms(searchText: string = 'headache'): any {\r\n return this.symptomCheckerService.getPatientSymptoms(searchText, this.age)\r\n .pipe(map(x => {\r\n return x;\r\n }));\r\n\r\n }\r\n add(event: MatChipInputEvent): void {\r\n\r\n // Add fruit only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n if (!this.matAutocomplete.isOpen) {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n // Add our fruit\r\n if ((value || '').trim()) {\r\n this.symptoms.push(value.trim());\r\n }\r\n\r\n // Reset the input value\r\n if (input) {\r\n input.value = '';\r\n }\r\n\r\n this.userControl.setValue(null);\r\n }\r\n }\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n //////;\r\n this.symptoms.push({\r\n id: event.option.value.id,\r\n value: event.option.viewValue,\r\n choice_id: \"present\"\r\n\r\n });\r\n //this.optionChecked=true;\r\n this.userInput.nativeElement.value = event.option.viewValue;\r\n this.userControl.setValue(event.option.viewValue);\r\n\r\n }\r\n\r\n}\r\n","module.exports = \".mailwrap {\\r\\n height: 100%;\\r\\n}\\r\\n.mailwrap .hgt100{\\r\\n padding-top: 0 !important;\\r\\n}\\r\\n.mailcover {\\r\\n display: flex!important;\\r\\n height: 100%;\\r\\n /* overflow: hidden; */\\r\\n}\\r\\n.ng-scrollbar-view{\\r\\n overflow: auto !important;\\r\\n}\\r\\n.leftmailbox {\\r\\n /* position: absolute; */\\r\\n background-color: #fff;\\r\\n width: 200px;\\r\\n z-index: 2;\\r\\n /* height: calc(100% + 15px); */\\r\\n padding: 0;\\r\\n box-shadow: 0px 1px 10px -5px rgba(0,0,0,.2);\\r\\n -webkit-box-shadow: 0px 1px 10px -5px rgba(0,0,0,.2);\\r\\n transition: all .2s ease;\\r\\n -webkit-transition: all .2s ease;\\r\\n}\\r\\n.fa-trash-o{\\r\\n color:#dc3545 !important;\\r\\n}\\r\\n.leftmailbox .composebtn {\\r\\n width: 100%;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n background-color: #666;\\r\\n border-bottom: 2px solid rgba(0, 0, 0, .1);\\r\\n}\\r\\n.leftmailbox .composebtn button {\\r\\n font-size: 15px;\\r\\n font-weight: 500;\\r\\n color: rgba(0, 0, 0, .5);\\r\\n border: 0;\\r\\n cursor: pointer;\\r\\n background-color: transparent;\\r\\n width: 100%;\\r\\n /* padding: 0 10px; */\\r\\n text-align: left;\\r\\n}\\r\\n.leftmailbox .composebtn button i{\\r\\nmargin-right: 5px;\\r\\n}\\r\\n.inbox_label ul {\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n text-align: left;\\r\\n}\\r\\n.inbox_label ul li {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n list-style: none;\\r\\n display: block;\\r\\n}\\r\\n.inbox_label ul li a {\\r\\n display: block;\\r\\n font-size: 15px;\\r\\n font-weight: 500;\\r\\n color: rgba(0,0,0,.6);\\r\\n margin: 10px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.inbox_label ul li.active a, .inbox_label ul li a:hover {\\r\\n color: #17a2b8;\\r\\n}\\r\\n.inbox_label ul li i {\\r\\n padding-right: 10px;\\r\\n}\\r\\n.inbox_label ul li.active span {\\r\\n display: inline;\\r\\n}\\r\\n.mail-text-blk{\\r\\n background-color: #fff;\\r\\n border: 1px solid #efefef;\\r\\n}\\r\\n.mail-text-blk .mailhead{\\r\\n padding:10px;\\r\\n background: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n.mailwrap {\\r\\n /* padding-left: 180px; */\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n.actionsbtns button.mat-raised-button {\\r\\n min-width: 20px;\\r\\n border-right: 1px solid #efefef;\\r\\n border-radius: 0px !important;\\r\\n margin: 0;\\r\\n}\\r\\n.actionsbtns {\\r\\n max-width: 170px;\\r\\n display: flex;\\r\\n}\\r\\n.maillist {\\r\\n padding: 0!important;\\r\\n float: left;\\r\\n border-right: 1px solid #ddd;\\r\\n border-left: 1px solid #ddd;\\r\\n height: 80vh;\\r\\n overflow: auto;\\r\\n}\\r\\n.allmails_head, .maillist_control {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n}\\r\\n.allmails_head {\\r\\n padding: 10px 15px;\\r\\n background-color: #f4f4f4;\\r\\n width: 100%;\\r\\n border: 1px solid #ddd;\\r\\n border-right: 0;\\r\\n}\\r\\n.allmails_head-rigth button {\\r\\n background-color: transparent;\\r\\n padding: 0px;\\r\\n border: 0px;\\r\\n height: 24px;\\r\\n line-height: 24px;\\r\\n}\\r\\n.maillist_control {\\r\\n padding: 10px 15px;\\r\\n background-color: #fafafa;\\r\\n border-bottom: 1px solid #ddd;\\r\\n align-items: center;\\r\\n}\\r\\n.mail_noti {\\r\\n width: 100%;\\r\\n min-height: 72px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n /* border-right: 1px solid #ddd; */\\r\\n padding: 10px 15px;\\r\\n background-color: #fafafa;\\r\\n position: relative;\\r\\n}\\r\\n.mail_noti.readmail {\\r\\n background: #fff;\\r\\n}\\r\\n.check_fav_imp {\\r\\n padding-right: 20px;\\r\\n}\\r\\n.check_fav_imp i {\\r\\n cursor: pointer;\\r\\n font-size: 18px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n.maillist .mat-checkbox-inner-container {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n.mailitem .mailimg {\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 50%;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n overflow: hidden;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n}\\r\\n.mailitem {\\r\\n padding-left: 60px;\\r\\n position: relative;\\r\\n padding-right: 10px;\\r\\n}\\r\\n.mailitem h3 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n color: rgba(0,0,0,.8);\\r\\n margin: 5px 0 0;\\r\\n cursor: pointer;\\r\\n}\\r\\n.mail_noti.readmail h3, .mail_noti.readmail p {\\r\\n font-weight: 500;\\r\\n}\\r\\n.mailitem p {\\r\\n font-size: 13px;\\r\\n line-height: 15px;\\r\\n font-weight: 500;\\r\\n color: rgba(0,0,0,.5);\\r\\n margin: 5px 0 0;\\r\\n}\\r\\n.mail_noti span {\\r\\n font-size: 11px;\\r\\n font-weight: 600;\\r\\n color: rgba(0,0,0,.4);\\r\\n}\\r\\n.actionsbtns button {\\r\\n margin: 0 0 0 15px;\\r\\n color: rgba(0,0,0,.6);\\r\\n cursor: pointer;\\r\\n}\\r\\n.actionsbtns button, .quickdetail {\\r\\n background-color: transparent;\\r\\n border: 0;\\r\\n padding: 0;\\r\\n}\\r\\n.mail_content {\\r\\n width: 100%;\\r\\n height: 200px;\\r\\n margin: 10px 0 0;\\r\\n padding-top: 10px;\\r\\n display: inline-block;\\r\\n font-size: 14px;\\r\\n}\\r\\n.email-reply p {\\r\\n margin: 0;\\r\\n font-size: 13px;\\r\\n}\\r\\n/*No message*/\\r\\n.no-msg{padding:15px;\\r\\n text-align: center !important;\\r\\n font-size: 16px;\\r\\n color: rgba(0, 0, 0, 0.40);\\r\\n font-weight: 500;\\r\\n}\\r\\n.blank-cover {\\r\\n margin: 0px;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n.blank-cover i {\\r\\n font-size: 80px;\\r\\n color: rgba(0, 0, 0, 0.10);\\r\\n}\\r\\n.blank-cover span {\\r\\n margin-top: 5px;\\r\\n font-size: 20px;\\r\\n line-height: 25px;\\r\\n color: rgba(0, 0, 0, 0.40);\\r\\n}\\r\\n/*Mail Open*/\\r\\n.mailhead {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n padding: 10px 0px;\\r\\n\\r\\n}\\r\\n.mailsubject p {\\r\\n margin: 0px;\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n display: block;\\r\\n line-height: 25px;\\r\\n}\\r\\n.mailsubject ul{padding: 0px; margin: 0px;\\r\\n list-style: none;\\r\\n float: left; text-align: center;}\\r\\n.mailsubject ul li{padding:3px 5px; margin: 0px 10px 0px 0px;font-size: 12px; display: inline; background-color: rgba(9, 169, 220, 0.30); }\\r\\n.mailsubject ul li i{cursor: pointer; color: rgba(0, 0, 0, 0.30); margin-left: 10px;}\\r\\n.mailbox_detail{padding:5px 0px;\\r\\n float: left;\\r\\n width:100%;\\r\\n border-top: 1px solid #ddd;\\r\\n border-bottom: 1px solid #ddd;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n cursor: pointer;\\r\\n}\\r\\n.mailperson {\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 50%;\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n overflow: hidden;\\r\\n float: left;\\r\\n margin-right: 10px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n.personname {\\r\\n float: left;\\r\\n font-size: 13px;\\r\\n}\\r\\n.personname h4 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n line-height:16px;\\r\\n margin: 0px 0px 2px;\\r\\n}\\r\\n.personhide_detail p {\\r\\n margin: 0px;\\r\\n font-size: 13px;\\r\\n line-height: 20px;\\r\\n display: block;\\r\\n}\\r\\n.personhide_detail span {\\r\\n font-weight: 500;\\r\\n}\\r\\n.quickdetail {\\r\\n margin: 0px;\\r\\n font-size: 12px;\\r\\n color: #01385f;\\r\\n}\\r\\n.mail_content{width:100%; height: 200px; margin: 10px 0px 0px; padding-top: 10px; display: inline-block; font-size: 14px;}\\r\\n.mail_attach {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n flex-direction: column;\\r\\n font-size: 13px;\\r\\n padding: 20px 0px;\\r\\n border-top: 1px solid #ddd;\\r\\n}\\r\\n.mail_attach .material-icons {\\r\\n font-size: 16px;\\r\\n padding-right: 5px;\\r\\n padding-top: 1px;\\r\\n}\\r\\n.mail_attach a {\\r\\n padding: 0px 5px;\\r\\n color: #01385f;\\r\\n}\\r\\n.email-reply p {\\r\\n margin: 0px;\\r\\n font-size: 13px;\\r\\n color: #757575;\\r\\n}\\r\\n/*Compose mail*/\\r\\n.newmail{width:47.5%; background-color: #fff; position: absolute; z-index: 1;height: 420px;\\r\\n bottom: 10px; right: 0px; box-shadow: 0px 0px 20px 2px #ddd; -webkit-box-shadow: 0px 0px 20px 2px #ddd;}\\r\\n.newmail_head{background-color:#F4F4F4; display: flex; justify-content: space-between; font-size: 14px; color: rgba(0, 0, 0, 0.80);; padding: 10px 15px;}\\r\\n.newmail_head p{margin: 0px;}\\r\\n.newmail_head ul{padding: 0px; margin: 0px; text-align: right;}\\r\\n.newmail_head ul li{margin: 0px; padding: 0px; list-style: none; display: inline-block;}\\r\\n.newmail_head ul li a{display: block; color:rgba(0, 0, 0, 0.40);; padding-left: 10px;}\\r\\n.receipt{display: flex; width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n.select-box{\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n.select-box input{\\r\\n width:84%;\\r\\n}\\r\\n.mailto{color: rgba(0, 0, 0, 0.50); display: block; width:100%; }\\r\\n.mailto label{font-weight: 500; padding-right: 5px; margin: 0px;}\\r\\n.chiplist {\\r\\n margin: 0px 5px 5px 0px !important;\\r\\n border-radius: 0px !important;\\r\\n background-color: #F4F4F4 !important;\\r\\n padding: 0px 5px!important;\\r\\n}\\r\\n.chiplist.mat-chip .mat-chip-remove.mat-icon {\\r\\n font-size: 18px;\\r\\n width: 15px;\\r\\n height: 18px;\\r\\n}\\r\\n.receipt-name > div > div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n.ccbcc a {\\r\\n color: rgba(0, 0, 0, 0.50);\\r\\n padding-left: 10px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.newsubject{\\r\\n padding: 10px 15px !important;\\r\\n border-bottom: 1px solid #ddd;\\r\\n\\r\\n}\\r\\n.newsubject input {\\r\\n font-size: 14px;\\r\\n line-height: 20px;\\r\\n font-weight: 500;\\r\\n border: 0px;\\r\\n width: 100%;\\r\\n}\\r\\n.messagebox{margin:10px 15px 10px;\\r\\n font-size: 14px;\\r\\n border:0px !important;\\r\\n border-radius: 0px !Important; -webkit-border-radius: 0px !Important;\\r\\n font-family: inherit !Important;\\r\\n font-size: 14px !important; position: relative; min-height: 150px;}\\r\\n.msgedit-editor {position: absolute; top: 0px; width: 100%; border:1px solid #ddd; height: 120px; font-size: 13px !important;}\\r\\n.msgedit-editor .public-DraftEditorPlaceholder-root{padding: 0px !important;}\\r\\n.msgedit-editor > div > div > div > div > div{margin: 0px 0px 5px 0px !important;}\\r\\n.attachment_join {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n flex-direction: column;\\r\\n padding: 0px 10px;\\r\\n}\\r\\n.attchmentname {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin: 10px 0px;\\r\\n}\\r\\n.attchmentname span {\\r\\n font-size: 14px;\\r\\n color: #01385f;\\r\\n line-height: 14px;\\r\\n}\\r\\n.attchmentname span small{display: block; color:rgba(0, 0, 0, 0.60);}\\r\\n.attachslider {\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n color: rgba(0, 0, 0, 0.50);\\r\\n font-weight: 500;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n.mailcontrols{display: flex; justify-content: space-between; padding:0px 15px 15px 15px;}\\r\\n.controlbtn {\\r\\n position: absolute;\\r\\n bottom: 0px;\\r\\n padding: 0px !important;\\r\\n margin:0px !important;\\r\\n border: 0px !important;\\r\\n}\\r\\n.controlbtn > div{margin: 0px;}\\r\\n.controlbtn > div button {\\r\\n cursor: pointer;\\r\\n border:0px !important;\\r\\n height: auto !important;\\r\\n line-height: normal!important;\\r\\n padding:0px !important;\\r\\n background: none !important;\\r\\n}\\r\\n.mailsend_btn {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n.mailsend_btn i.fa-trash-o {\\r\\n cursor: pointer;\\r\\n font-size: 25px;\\r\\n padding: 6px 10px;\\r\\n border-radius: 10px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n.mailsend_btn button i.fa {\\r\\n color: #fff;\\r\\n font-size: 18px;\\r\\n}\\r\\n.remove-attach {\\r\\n margin-top: -15px;\\r\\n}\\r\\n.remove-attach i {\\r\\n color: rgba(0, 0, 0, 0.30);\\r\\n padding-left: 10px;\\r\\n font-size: 14px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.attach_btn i.material-icons {\\r\\n font-size: 25px;\\r\\n padding: 6px;\\r\\n border-radius: 10px;\\r\\n /* border: 2px solid #01385f; */\\r\\n color: #01385f;\\r\\n}\\r\\n.attach_btn input[type=file]{\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n bottom: 0px;\\r\\n right: 0px;\\r\\n left: 0px;\\r\\n width: 100%;\\r\\n opacity: 0;\\r\\n}\\r\\n.maileditor{ padding: 10px 15px;}\\r\\n.maileditor .angular-editor-textarea {\\r\\n height: 20vh;\\r\\n}\\r\\n.maileditor .angular-editor-toolbar-set {\\r\\n display: none !important;\\r\\n}\\r\\n.maileditor .angular-editor-toolbar-set:nth-child(2) {\\r\\n display: inline-block !important;\\r\\n margin: 0px !important;\\r\\n border: 0px !important;\\r\\n}\\r\\n.maileditor .angular-editor .angular-editor-toolbar {\\r\\n background-color: transparent;\\r\\n border: 0px;\\r\\n padding: 0px;\\r\\n}\\r\\n.maileditor .angular-editor-toolbar-set button:nth-child(4), .maileditor .angular-editor-toolbar-set button:nth-child(5), .maileditor .angular-editor-toolbar-set button:nth-child(6) {\\r\\n display: none;\\r\\n}\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n@media (max-width: 1199px) { \\r\\n /*mailbox*/\\r\\n\\r\\n.mailwrap{padding-left: 0px;}\\r\\n.mailitem .mailimg{width: 40px; height: 40px;}\\r\\n.mailitem{padding-left: 45px;}\\r\\n\\r\\n.openleftbox .composebtn{text-align: left;}\\r\\n.openleftbox .composebtn{display: flex; justify-content: space-between; align-items: center; padding: 0px 10px;}\\r\\n.composebtn i.material-icons{color: #fff; font-size: 18px;}\\r\\n.collapseleft{width:0px; overflow: hidden;}\\r\\n\\r\\n}\\r\\n@media (max-width: 767px) {\\r\\n/*mailbox*/\\r\\n.mail_noti:last-child{border-bottom: 1px solid #ddd;}\\r\\n.email-reply{padding-bottom: 20px;}\\r\\n.newmail{bottom: inherit; top:0px; width:90%;}\\r\\n.scroll-fix > div {\\r\\n height: 230px !important;\\r\\n}\\r\\n.mail_content{height: 180px;}\\r\\n\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .mailperson {\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n margin-right: 5px;\\r\\n margin-left: 5px;\\r\\n }\\r\\n .personname h4 {\\r\\n font-size: 12px;\\r\\n }\\r\\n .quickdetail {\\r\\n font-size: 10px;\\r\\n }\\r\\n .mail_content.showCont p {\\r\\n font-size: 13px;\\r\\n }\\r\\n}\\r\\n@media(max-width: 480px) {\\r\\n\\r\\n /*Mailbox*/\\r\\n.newmail {\\r\\n top: 52px;\\r\\n width: 100%;\\r\\n}\\r\\n}\\r\\n.hideCont\\r\\n{\\r\\n display:none;\\r\\n}\\r\\n.showCont\\r\\n{\\r\\n display:inline-block;\\r\\n padding: 10px;\\r\\n}\\r\\n.maillist .ng-scrollbar-view{\\r\\n width: 100% !important;\\r\\n}\\r\\n.search__input {\\r\\n border: black 0;\\r\\n background-color: transparent;\\r\\n margin: 8px;\\r\\n font-size: 16px;\\r\\n }\\r\\n.search__input:focus {\\r\\n outline: 0;\\r\\n }\\r\\n.search__container {\\r\\n width: 100%; \\r\\n text-align:right; \\r\\n background-color:white; \\r\\n color: black;\\r\\n border-radius: 3px;\\r\\n }\\r\\n.mat-chip.chiplist.mat-chip.mat-primary.mat-standard-chip{\\r\\n background-color: #1576d1 !important;\\r\\n color: #fff;\\r\\n padding: 5px 10px !important;\\r\\n border-radius: 20px !important;\\r\\n }\\r\\n.mat-radio-group {\\r\\n display: flex;\\r\\n flex-flow: column nowrap;\\r\\n color: #797979;\\r\\n font-size: 15px;\\r\\n \\r\\n }\\r\\n.mat-radio-group .phone-option {\\r\\n padding-bottom: 1.25em;\\r\\n padding: .4375em 0;\\r\\n border-top: .84375em solid transparent;\\r\\n }\\r\\n.mat-radio-button.mat-accent .mat-radio-inner-circle {\\r\\n background-color: #63d891 !important;\\r\\n}\\r\\n.mat-radio-button{\\r\\n padding: 5px 0 0 5px;\\r\\n}\\r\\n.lineheader {\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin: 0;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n padding: 12px 8px 12px 0px;\\r\\n}\\r\\n.lineheader p {\\r\\n color: #01385f;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n line-height: 15px;\\r\\n margin: 0 !important;\\r\\n padding: 0px;\\r\\n position: relative;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n.lineheader p a {\\r\\n color: #01385f;\\r\\n}\\r\\n.lineheader p a:hover {\\r\\n color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n.lineheader span {\\r\\n font-size: 13px;\\r\\n line-height: 13px;\\r\\n}\\r\\n.lineheader i {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 13px;\\r\\n position: absolute;\\r\\n right: 15px;\\r\\n top: 15px;\\r\\n}\\r\\n.disabled{\\r\\n pointer-events: none !important;\\r\\n cursor: not-allowed !important;\\r\\n opacity: 1 !important;\\r\\n background-color: #dbe1e6 !important;\\r\\n \\r\\n}\\r\\n.mb-120{\\r\\n margin-bottom: 115px;\\r\\n}\\r\\n.blue-clr{\\r\\n color: #01385f;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n background-color: rgba(243, 243, 243, .60);;\\r\\n padding: 9px 7px;\\r\\n}\\r\\n.result-blk label{\\r\\n color: #01385f;\\r\\n font-size: 18px;\\r\\n display: block;\\r\\n}\\r\\n.page_title{\\r\\n font-weight: 500;\\r\\n margin: 10px;\\r\\n font-size: 21px;\\r\\n color: #fff;\\r\\n}\\r\\n.mat-autocomplete-panel{\\r\\n max-height: 400px !important;\\r\\n}\\r\\n.screen-text-header h3{\\r\\n font-size: 18px;\\r\\n margin: 20px 0;\\r\\n}\\r\\n.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary{\\r\\n border-radius: 10px;\\r\\n}\\r\\n.result-value{\\r\\n margin-top: 15px;\\r\\n margin-bottom: 70px;\\r\\n}\\r\\n.result-value p{\\r\\n font-size: 16px;\\r\\n line-height: 18px;\\r\\n margin-top:12px;\\r\\n}\\r\\n.radio-label:hover {\\r\\n background-color: #F3F5F7;\\r\\n}\\r\\n.screen-sex label {\\r\\n display: inline-block;\\r\\n width: 132px;\\r\\n margin: 0 10px;\\r\\n font-weight: 500;\\r\\n max-width: 100%;\\r\\n cursor: pointer;\\r\\n}\\r\\n.screen-sex label .placeholder {\\r\\n display: block;\\r\\n padding: 30px 35px 14px 35px;\\r\\n}\\r\\n.screen-sex label.female .placeholder {\\r\\n width: 29px;\\r\\n height: 58px;\\r\\n background-image: url(data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%221.1%22%20viewBox%3D%220%200%2029%2058%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%220%22%20fill%3D%22%23555555%22%20stroke%3D%22%23555555%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M26.55%2032.831l-1.592.438c.595%202.19%201.095%204.211%201.457%205.76.198.85.03%201.748-.462%202.467a3.097%203.097%200%200%201-2.117%201.316c-.742.106-1.622.218-2.604.32.001%201.905-.04%207.404-.53%2010.953-.317%202.306-2.017%203.915-4.13%203.915h-4.143c-2.08%200-3.778-1.603-4.13-3.9-.546-3.552-.553-9.046-.537-10.965a66.883%2066.883%200%200%201-2.62-.323%203.107%203.107%200%200%201-2.11-1.308%203.115%203.115%200%200%201-.472-2.446%20154.47%20154.47%200%200%201%201.43-5.792l-1.596-.58a3.25%203.25%200%200%201-2.067-3.664c.827-4.32%203.238-13.625%208.931-15.957a3.46%203.46%200%200%201-.347-.305c-1.279-1.288-1.263-3.268-1.25-5.013l.003-.498C7.664%203.252%2010.731%200%2014.5%200s6.836%203.252%206.836%207.249c0%20.279.008.565.016.856.045%201.597.096%203.405-1.091%204.625a3.283%203.283%200%200%201-.431.373c5.619%202.406%208.12%2011.652%208.997%2015.956a3.234%203.234%200%200%201-2.276%203.772zm-7.899%2020.971c.452-3.273.506-8.47.509-10.485a64.187%2064.187%200%200%201-3.624.17V55.93h1.035c1.234%200%201.934-1.068%202.08-2.127zm-8.305-.015c.163%201.065.87%202.142%202.083%202.142h1.035V43.488a65.088%2065.088%200%200%201-3.63-.17c-.012%202.008.011%207.203.512%2010.469zm16.451-24.314c-.71-3.491-3.52-14.88-9.811-14.88a1.036%201.036%200%200%201-1.036-1.036v-.722c0-.572.464-1.036%201.036-1.036.856%200%201.459-.173%201.79-.513.576-.593.54-1.879.505-3.122-.008-.311-.017-.618-.017-.915%200-2.807-2.182-5.178-4.764-5.178-2.583%200-4.764%202.371-4.764%205.178l-.003.514c-.01%201.34-.022%202.861.649%203.538.332.335.867.498%201.632.498.572%200%201.036.464%201.036%201.036v.727c0%20.571-.464%201.035-1.036%201.035-6.326%200-8.987%2011.34-9.652%2014.814a1.181%201.181%200%200%200%20.748%201.331l1.437.522c1.056-3.702%202.364-7.632%203.847-10.6a1.036%201.036%200%201%201%201.853.928C7.584%2026.92%205.397%2035.9%204.581%2039.515c-.064.284-.008.573.157.814.164.238.413.392.698.434%202.117.303%205.407.666%209.064.666%203.606%200%206.908-.363%209.044-.667.288-.04.535-.196.699-.435.168-.244.222-.538.154-.827-.83-3.552-3.04-12.409-5.655-17.928a1.036%201.036%200%200%201%201.873-.887c1.438%203.037%202.729%206.94%203.781%2010.59l1.589-.437c.58-.17.936-.759.812-1.365z%22/%3E%3C/svg%3E);\\r\\n background-repeat: no-repeat;\\r\\n border-radius: 0;\\r\\n}\\r\\n.screen-sex label.male .placeholder {\\r\\n width: 28px;\\r\\n height: 58px;\\r\\n background-image: url(data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%221.1%22%20viewBox%3D%220%200%2028%2058%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%220%22%20fill%3D%22%23555555%22%20stroke%3D%22%23555555%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M25.495%2033.559c-.869.929-1.973%201.404-3.272%201.431-.11%2011.19-1.12%2018.452-1.227%2019.185A3.98%203.98%200%200%201%2017%2058h-6a3.979%203.979%200%200%201-3.996-3.823c-.111-.738-1.129-7.86-1.229-19.188-1.219-.028-2.269-.495-3.117-1.406C.142%2030.878.012%2024.8.347%2020.177c.184-2.538%201.686-6.768%209.397-7.888C8.332%2010.981%207.5%209.073%207.5%206.999%207.5%203.14%2010.416%200%2014%200s6.5%203.14%206.5%206.999c0%202.069-.828%203.972-2.234%205.28%207.337%201.028%209.18%204.799%209.387%207.904.47%207.049-.216%2011.299-2.158%2013.376zm.162-13.243c-.247-3.71-3.386-5.805-9.329-6.229a1%201%200%200%201-.928-.997v-.698c0-.37.204-.71.531-.883%201.561-.828%202.569-2.599%202.569-4.51C18.5%204.243%2016.481%202%2014%202S9.5%204.243%209.5%206.999c0%201.911%201.008%203.682%202.569%204.51a.999.999%200%200%201%20.531.883v.702a1%201%200%200%201-.926.997c-4.074.303-8.999%201.63-9.332%206.231-.426%205.887.223%2010.224%201.781%2011.899.465.501.994.741%201.647.768.003-3.456.089-7.24.313-11.344.031-.551.51-.969%201.054-.943.551.03.974.501.943%201.053-1.063%2019.398.889%2032.047.909%2032.172.006.043.01.086.011.129A1.99%201.99%200%200%200%2011%2056h2V34a1%201%200%200%201%202%200v22h2a1.989%201.989%200%200%200%201.999-1.944%201.02%201.02%200%200%201%20.011-.124c.02-.13%201.972-13.186.909-32.176a1%201%200%200%201%201.997-.112c.229%204.081.314%207.872.314%2011.346.736-.026%201.316-.275%201.804-.797%202.255-2.411%201.78-9.536%201.623-11.877z%22/%3E%3C/svg%3E);\\r\\n background-repeat: no-repeat;\\r\\n border-radius: 0;\\r\\n}\\r\\ninput[type=\\\"radio\\\" i] {\\r\\n background-color: initial;\\r\\n cursor: default;\\r\\n -webkit-appearance: auto;\\r\\n -moz-appearance: auto;\\r\\n appearance: auto;\\r\\n border: initial;\\r\\n}\\r\\n.more-load {\\r\\n border: 4px solid #cccccc;\\r\\n border-radius: 50%;\\r\\n border-top: 4px solid #63d891;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n -webkit-animation: spin 1s linear infinite;\\r\\n /* Safari */\\r\\n animation: spin 1s linear infinite;\\r\\n display: inline-block;\\r\\n}\\r\\n/* loader css */\\r\\n.full_loader {\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n right: 0px;\\r\\n top: -6px;\\r\\n background-color: rgba(255, 255, 255, 0.8);\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n z-index: 1001;\\r\\n }\\r\\n.circle_loader {\\r\\n left: 0;\\r\\n right: 0 !important;\\r\\n margin: 0px auto !important;\\r\\n display: block !important;\\r\\n top: 50%;\\r\\n position: fixed !important;\\r\\n text-align: center;\\r\\n }\\r\\n.circle_loader.search_loader {\\r\\n top: 15%;\\r\\n }\\r\\n.top0 {\\r\\n top: 0px;\\r\\n }\\r\\n.circle_loader.page_loader {\\r\\n left: 19%;\\r\\n }\\r\\n.circle_loader.tag_laoder {\\r\\n position: absolute !important;\\r\\n top: 15% !important;\\r\\n }\\r\\n/*select filed*/\\r\\n.cdk-overlay-pane {\\r\\n -webkit-transform: translateX(-0px) !important;\\r\\n transform: translateX(-0px) !important;\\r\\n }\\r\\n/*Fields bottom border*/\\r\\n.mat-form-field-appearance-legacy .mat-form-field-underline {\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n }\\r\\n.mat-select-arrow {\\r\\n color: rgba(0, 0, 0, 0.1);\\r\\n }\\r\\n.mat-datepicker-toggle-default-icon {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n }\\r\\n/*Client list toggle*/\\r\\n.srach-pt[class*=\\\" flaticon-\\\"]:after,\\r\\n .srach-pt[class*=\\\" flaticon-\\\"]:before,\\r\\n .srach-pt[class^=\\\"flaticon-\\\"]:after,\\r\\n .srach-pt[class^=\\\"flaticon-\\\"]:before {\\r\\n line-height: 40px;\\r\\n }\\r\\n.custom-card .mat-card-header{\\r\\n width:100%;\\r\\n background-color:#01385f !important ;\\r\\n }\\r\\n.blue-bg{\\r\\n width:100%;\\r\\n background-color:#01385f !important ;\\r\\n padding: 10px;\\r\\n margin: 0;\\r\\n}\\r\\n.pl-10{\\r\\n padding-left: 10px;\\r\\n}\\r\\n.mat-card label{\\r\\n padding:8px 10px;\\r\\n margin: 0;\\r\\n }\\r\\n.mat-card .result-value label{\\r\\n padding: 0;\\r\\n font-weight: 500;\\r\\n background-color: rgba(243, 243, 243, .80);\\r\\n padding: 7px;\\r\\n }\\r\\n.custom-card,\\r\\n .mat-card{\\r\\n /* font-family: 'Raleway', sans-serif !important; */\\r\\n }\\r\\n.mat-card-content p{\\r\\n font-size: 17px;\\r\\n }\\r\\n.alrmng-symp ul{\\r\\n padding-left: 18px;\\r\\n list-style: circle;\\r\\n font-size: 16px;\\r\\n }\\r\\n#contentToConvert{\\r\\n margin-bottom: 70px;\\r\\n }\\r\\n#contentToConvert ul{\\r\\n padding-left: 10px;\\r\\n list-style: circle;\\r\\n font-size: 16px;\\r\\n }\\r\\n.mat-primary{\\r\\n font-size: 16px;\\r\\n }\\r\\n.mb10{margin-bottom: 10px;}\\r\\n.consult-btn{\\r\\n margin-top: 15px;\\r\\n height: 50px !important;\\r\\n min-width: 270px;\\r\\n margin-bottom: 15px;\\r\\n font-size: 20px;\\r\\n letter-spacing: 1px;\\r\\n font-weight: 500;\\r\\n }\\r\\n.custom-card-header{\\r\\n margin: 0 auto;\\r\\n }\\r\\n.custom-card-header .mat-card{\\r\\n border-left: 4px solid #01385f !important;\\r\\n margin:40px 0;\\r\\n }\\r\\n.custom-card .mat-card{\\r\\n padding:25px 15px;\\r\\n }\\r\\n.mat-raised-button:not([class*=mat-elevation-z]){\\r\\n box-shadow: none;\\r\\n height: 42px;\\r\\n }\\r\\n.btn-group{\\r\\n position: absolute;\\r\\n bottom: 25px;\\r\\n left: 25px;\\r\\n }\\r\\n.covid-consult{\\r\\n padding: 15px;\\r\\n }\\r\\n.covid-consult .col-lg-12 p{\\r\\n font-weight: 500;\\r\\n font-size: 18px;\\r\\n background-color: rgba(243, 243, 243, .80);\\r\\n padding: 6px 10px;\\r\\n margin-top: 15px;\\r\\n }\\r\\n.covid-consult .mat-radio-button{\\r\\n padding:10px 20px 5px 10px;\\r\\n margin-bottom: 4px;\\r\\n \\r\\n }\\r\\n.covid-consult .mat-radio-group{\\r\\n flex-flow: initial;\\r\\n font-size: 16px;\\r\\n text-transform: capitalize;\\r\\n display: block;\\r\\n }\\r\\n.dblock{display: block!Important;}\\r\\n.covid-report h2{\\r\\n background-color: #efefef;\\r\\n padding: 10px;\\r\\n color: #01385f;\\r\\n font-size: 22px;\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n.covid-report h4{\\r\\n font-size: 20px;\\r\\n margin: 20px 0;\\r\\n font-weight: 600;\\r\\n color: #01385f;\\r\\n }\\r\\n@media (max-width: 991px) {\\r\\n .circle_loader.page_loader {\\r\\n left: 0px;\\r\\n right: 0px;\\r\\n }\\r\\n }\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n

{{covidConsulation?covidPageTitle:symptomPageTitle}}\\r\\n

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

{{result.question.text}}

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

{{ result.question.type=='group_multiple'?r.name:result.question.text}}?

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{c.label}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{result.question.text}}?

\\r\\n
\\r\\n
\\r\\n \\r\\n {{c.name}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Your last Covid 19 summary assessment is:-

\\r\\n

{{conclusion.description}}

\\r\\n

{{conclusion.label}}

\\r\\n
Want to take test Again ?
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{spt.value}}\\r\\n cancel\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{fts.label}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{result.question.text}}

\\r\\n \\r\\n {{c.label}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Your Results

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

{{this.observation}}

\\r\\n
\\r\\n
Alarming Symptoms
\\r\\n
    \\r\\n
  • {{c.common_name}}
  • \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{f.common_name}}

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

{{ f.probability |percent }}

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

Summary

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
Reported symptoms
\\r\\n \\r\\n
    \\r\\n
  • {{r}}\\r\\n
  • \\r\\n
\\r\\n \\r\\n
Other symptoms
\\r\\n

0\\\">Present:

\\r\\n
    \\r\\n
  • {{p}}\\r\\n \\r\\n
  • \\r\\n
\\r\\n

0\\\">Absent:

\\r\\n
    \\r\\n
  • {{a}}\\r\\n \\r\\n
  • \\r\\n
\\r\\n

0\\\">Unknown:

\\r\\n
    \\r\\n
  • {{u}}\\r\\n \\r\\n
  • \\r\\n
\\r\\n
Possible Conditions:
\\r\\n

{{c.common_name}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, ViewChild, ElementRef, ChangeDetectorRef } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { Router } from \"@angular/router\";\r\nimport { CommonService } from \"./../../platform/modules/core/services\";\r\nimport { MatAutocomplete, MatAutocompleteSelectedEvent, MatChipInputEvent } from '@angular/material';\r\nimport { Observable, of } from 'rxjs';\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { debounceTime, distinctUntilChanged, filter, map, startWith, switchMap } from \"rxjs/operators\";\r\nimport { FilterModel } from './../../platform/modules/core/modals/common-model';\r\nimport { LoginUser } from './../../platform/modules/core/modals/loginUser.modal';\r\n\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { MediaMatcher } from '@angular/cdk/layout';\r\nimport {SymptomCheckerService} from './symptom-checker.service'\r\nimport { observationEnum } from \"./symptom-checker.model\";\r\nimport {jsPDF} from 'jspdf';\r\nimport html2canvas from 'html2canvas';\r\nimport { debug } from \"console\";\r\nimport { isThisISOWeek } from \"date-fns\";\r\n\r\n@Component({\r\n selector: 'app-symptom-checker',\r\n templateUrl: './symptom-checker.component.html',\r\n styleUrls: ['./symptom-checker.component.css']\r\n})\r\n\r\n\r\nexport class SymptomCheckerComponent implements OnInit {\r\n showQuest:boolean=false;\r\n loading = false;\r\n summarySaved:boolean=false;\r\n keywords:any=[];\r\n reportObject:any;\r\n preliminaryOptions:boolean=true;\r\n covidConsulation:boolean=false;\r\n nextChoices:any[]=[{id:\"1\",label:\"yes\"},{id:\"2\",label:\"no\"}];\r\n loaderImage = \"/assets/loader.gif\";\r\n presentArray:any[]=[];\r\n viewSummary:boolean=false;\r\n absentArray:any[]=[];\r\n unknownArray:any[]=[];\r\n conclusion:any;\r\n observation:any=\"\";\r\n userId: number;\r\n conditions:any;\r\n result:any;\r\n isSelected:any;\r\n optionChecked:boolean=false;\r\n subscription: any;\r\n forStaff: boolean = true;\r\n choice:string=\"present\";\r\n selectedSymptom:string=''\r\n selectedSymptomValue:any=[];\r\n isInitial:boolean=true;\r\n symptomPageTitle: any = \"Symptoms Assessments\";\r\n covidPageTitle:any=\"Covid Assessments\";\r\n currentDate = new Date();\r\n\r\n filterModel: FilterModel;\r\n riskCollection:any;\r\n symptomCollection:any;\r\n conditionCollection:any;\r\n dataURL: any;\r\n fileList: any = [];\r\n mobileQuery: MediaQueryList;\r\n leftMenu: boolean;\r\n _mobileQueryListener: () => void;\r\n\r\n delMessagesArray: number[] = [];\r\n should_stop:boolean=false;\r\n visible = true;\r\n selectable = true;\r\n removable = true;\r\n addOnBlur = true;\r\n patientId:any;\r\n //separatorKeysCodes: number[] = [ENTER, COMMA];\r\n userControl = new FormControl();\r\n filteredSymptoms$: Observable;\r\n symptoms: any = [];\r\n age:any;\r\n gender:any;\r\n expanded: boolean = false;\r\n evidence:Array = [];\r\n @ViewChild('conten') content: ElementRef;\r\n @ViewChild('userInput') userInput: ElementRef;\r\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\r\n\r\n constructor(\r\n\r\n private commonService: CommonService,\r\n private formBuilder: FormBuilder,\r\n private notifier: NotifierService,\r\n private router: Router,\r\n private symptomCheckerService:SymptomCheckerService,\r\n media: MediaMatcher,\r\n changeDetectorRef: ChangeDetectorRef,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n\r\n this.mobileQuery = media.matchMedia('(min-width: 768px)');\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n this.expanded = true;\r\n this.symptoms=[];\r\n this.selectedSymptomValue = [];\r\n this.filterModel = new FilterModel();\r\n this.filterModel.pageSize = 100;\r\n this.getLoginUser();\r\n this.filteredSymptoms$ = this.userControl.valueChanges\r\n\r\n .pipe(\r\n startWith(''),\r\n // use switch map so as to cancel previous subscribed events, before creating new once\r\n switchMap(value => {\r\n if (value != null && typeof (value) == \"string\") {\r\n if (value.length > 2) {\r\n return this.getPatientSymptoms(value).pipe()\r\n } else {\r\n // if no value is present, return null\r\n return of(null);\r\n }\r\n }\r\n else return of(null);\r\n })\r\n );\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n\r\n this.patientId = user.data.id;\r\n this.setParameters(user.data.id);\r\n }\r\n });\r\n\r\n }\r\n setParameters(id:any) {\r\n this.symptomCheckerService\r\n .GetPatientsDetailedInfo(id)\r\n .subscribe((response: any) => {\r\n\r\n if (response != null) {\r\n\r\n var clientModel = response.data;\r\n this.age = clientModel.age;\r\n this.gender = clientModel.gender.toLowerCase();\r\n }\r\n });\r\n }\r\n displayFn(user?: any): string | undefined {\r\n return user ? user.value : undefined;\r\n }\r\n\r\n\r\n getLoginUser() {\r\n this.subscription = this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userId = user.data.userID;\r\n this.forStaff = (user.data.users3 != null && user.data.users3.userRoles.roleName == \"Client\") ? false : true;\r\n }\r\n });\r\n }\r\n\r\n\r\n getPatientSymptoms(searchText: string = 'headache'): any {\r\n return this.symptomCheckerService.getPatientSymptoms( searchText,this.age)\r\n .pipe(map(x => {\r\n return x;\r\n }));\r\n\r\n }\r\n\r\n add(event: MatChipInputEvent): void {\r\n\r\n // Add fruit only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n if (!this.matAutocomplete.isOpen) {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n // Add our fruit\r\n if ((value || '').trim()) {\r\n this.symptoms.push(value.trim());\r\n }\r\n\r\n // Reset the input value\r\n if (input) {\r\n input.value = '';\r\n }\r\n\r\n this.userControl.setValue(null);\r\n }\r\n }\r\n\r\n remove(user: string): void {\r\n const index = this.symptoms.indexOf(user);\r\n if (index >= 0) {\r\n this.symptoms.splice(index, 1);\r\n\r\n }\r\n this.optionChecked=this.symptoms.length==0?false:true;\r\n }\r\n\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n\r\n this.symptoms.push({\r\n id: event.option.value.id,\r\n value: event.option.viewValue,\r\n choice_id:\"present\"\r\n\r\n });\r\n this.optionChecked=true;\r\n this.userInput.nativeElement.value = '';\r\n this.userControl.setValue(null);\r\n\r\n }\r\n radioChange(value:any,symptomId:any)\r\n {\r\n\r\n this.choice=value;\r\n this.optionChecked=true;\r\n\r\n if(symptomId!='' && this.evidence.length>0)\r\n {\r\n var item=this.evidence.find(x=>x.id==symptomId);\r\n if( item!=null && item !=undefined)\r\n {\r\n this.evidence=this.evidence.filter(x=>x!==item);\r\n }\r\n }\r\n this.evidence.push(\r\n {\r\n id: symptomId,\r\n choice_id: value\r\n });\r\n\r\n\r\n }\r\n\r\n setInitialvalues() {\r\n\r\n this.symptoms.forEach((value, index) => {\r\n\r\n this.evidence.push(\r\n {\r\n id: value.id,\r\n source: index == 0 ? \"initial\" : null,\r\n choice_id: \"present\"\r\n });\r\n if (this.isInitial) {\r\n\r\n this.selectedSymptomValue.push(value.value);\r\n }\r\n });\r\n this.isInitial = false;\r\n\r\n }\r\n moveNext() {\r\n\r\n\r\n this.loading = true;\r\n this.conditions = [];\r\n this.optionChecked = false;\r\n if (!this.should_stop) {\r\n\r\n if (this.evidence.length == 0) {\r\n this.setInitialvalues();\r\n }\r\n else {\r\n this.evidence.push(\r\n {\r\n id: this.selectedSymptom,\r\n source: null,\r\n choice_id: this.choice\r\n });\r\n\r\n }\r\n\r\n this.showQuest = true;\r\n var count=this.evidence.length;\r\n\r\n\r\n this.symptomCheckerService.getSymptomQuestions(JSON.stringify(this.evidence),this.age,this.gender).pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n this.loading = false;\r\n this.result = resp;\r\n this.selectedSymptom=resp.question.items[0].id;\r\n\r\n this.should_stop=resp.should_stop;\r\n if(resp.should_stop)\r\n {\r\n this.conditions=resp.conditions;\r\n this.getObservations();\r\n this.getSummary(false);\r\n }\r\n });\r\n }\r\n\r\n this.isSelected=null;\r\n}\r\n getSummary(showSummary:any)\r\n {\r\n\r\n if(this.presentArray.length==0 && this.absentArray.length==0 && this.unknownArray.length==0)\r\n {\r\n this.getSymptoms();\r\n this.getRisks();\r\n this.getConditions();\r\n\r\n }\r\n this.viewSummary=showSummary;\r\n }\r\n CreateSummary(value: any, type: any) {\r\n//////;\r\n if (value != null && value.common_name != null) {\r\n switch (type) {\r\n case 'present':\r\n this.presentArray.push(value.common_name);\r\n break;\r\n case 'absent':\r\n this.absentArray.push(value.common_name);\r\n break;\r\n case 'unknown':\r\n this.unknownArray.push(value.common_name);\r\n break;\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\ngetSymptoms()\r\n{\r\n this.symptomCheckerService.getSummary(\"symptom\").pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n this.symptomCollection=resp;\r\n //////;\r\n this.createArray(resp);\r\n }); }\r\n createArray(array:any)\r\n {\r\n\r\n this.evidence.forEach(element => {\r\n if (element.id != null) {\r\n\r\n var commonSymptom = array.find(x => x.id == element.id);\r\n this.CreateSummary(commonSymptom, element.choice_id);\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\ngetRisks()\r\n{\r\n this.symptomCheckerService.getSummary(\"risk\").pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n\r\n this.riskCollection=resp;\r\n this.createArray(resp);\r\n });\r\n}\r\ngetConditions()\r\n{\r\n this.symptomCheckerService.getSummary(\"condition\").pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n\r\n this.conditionCollection=resp;\r\n this.createArray(resp);\r\n });\r\n}\r\n\r\ngetObservations() {\r\n this.symptomCheckerService.getObservations(JSON.stringify(this.evidence),this.age,this.gender).pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n this.conclusion=resp;\r\n switch (this.conclusion.triage_level) {\r\n case \"consultation\":\r\n this.observation = observationEnum.consultation;\r\n break;\r\n case \"consultation_24\":\r\n this.observation = observationEnum.consultation_24;\r\n break;\r\n case \"emergency\":\r\n this.observation = observationEnum.emergency;\r\n break;\r\n case \"emergency_ambulance\":\r\n this.observation = observationEnum.emergency_ambulance;\r\n break;\r\n case \"self_care\":\r\n this.observation = observationEnum.self_care;\r\n break;\r\n default:\r\n this.observation = observationEnum.consultation;\r\n break;\r\n }\r\n\r\n\r\n });\r\n }\r\n captureScreen()\r\n {\r\n var data = document.getElementById('contentToConvert');\r\n html2canvas(data).then(canvas => {\r\n // Few necessary setting options\r\n var imgWidth = 20;\r\n var pageHeight = 295;\r\n var imgHeight = canvas.height * imgWidth / canvas.width;\r\n var heightLeft = imgHeight;\r\n\r\n const contentDataURL = canvas.toDataURL('image/png')\r\n let pdf = new jsPDF('p', 'pt', [canvas.width, canvas.height]); // A4 size page of PDF\r\n var position = 0;\r\n pdf.addImage(contentDataURL, 'PNG', 0, position, canvas.width, canvas.height)\r\n pdf.save('summary.pdf'); // Generated PDF\r\n });\r\n }\r\nbookAppointment()\r\n{\r\n\r\n let location = this.commonService.encryptValue(101, true);\r\n this.conditions.forEach((value, index) => {\r\n this.keywords.push(value.common_name.toLowerCase());\r\n });\r\n // this.getSummary(false);\r\n this.setReportParameters(true);\r\n localStorage.setItem(\"symptoms\",this.keywords);\r\n this.router.navigate([\"/doctor-list\"], {\r\n queryParams: { loc: location}\r\n });\r\n}\r\n onSearchClicked() {\r\n if (!this.expanded) {\r\n this.expanded = true;\r\n } else {\r\n // console.log('search')\r\n }\r\n }\r\n covidNext()\r\n {\r\n this.getCovidSymptoms(this.evidence);\r\n }\r\ngetCovidSymptoms(evidence:any)\r\n{\r\n this.loading = true;\r\n this.covidConsulation=true;\r\n var obj={\r\n sex:this.gender,\r\n age:this.age,\r\n evidence:evidence\r\n }\r\n\r\n if(!this.should_stop)\r\n {\r\n this.symptomCheckerService.getCovidQuestions(JSON.stringify(obj)).pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n this.loading = false;\r\n\r\n this.result = resp;\r\n this.should_stop=resp.should_stop;\r\n if(resp.should_stop)\r\n {\r\n\r\n this.getCovidSummary();\r\n }\r\n });\r\n}\r\n}\r\ngetCovidSummary()\r\n{\r\n\r\n this.symptomCheckerService.getCovidSummary(JSON.stringify(this.evidence),this.age,this.gender).pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n\r\n this.conclusion=resp;\r\n\r\n });\r\n}\r\n testAgain(value: any) {\r\n if (value == 'no') {\r\n this.router.navigate([\"'web/dashboard'\"]);\r\n }\r\n else {\r\n this.evidence = [];\r\n this.symptoms = [];\r\n this.should_stop = false;\r\n this.preliminaryOptions = true;\r\n this.covidConsulation = false;\r\n\r\n }\r\n }\r\n AddSymptomateReport() {\r\n //////;\r\n if (!this.summarySaved) {\r\n this.setReportParameters(true);\r\n if (this.reportObject != null && this.reportObject != undefined) {\r\n this.symptomCheckerService.AddSymptomateReport(JSON.stringify(this.reportObject)).pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n this.notifier.notify('success', \"Symptom Report has been saved successfully\");\r\n });\r\n };\r\n\r\n }\r\n else {\r\n this.notifier.notify('success', \"Symptom Report is already saved\");\r\n }\r\n this.summarySaved=true;\r\n }\r\n\r\n setReportParameters(storeData: any) {\r\n\r\n var pArray: any[] = [];\r\n var aArray: any[] = [];\r\n var uArray: any[] = [];\r\n var rArray: any[] = [];\r\n var kArray: any[] = [];\r\n\r\n\r\n pArray.push(this.presentArray.join(','));\r\n aArray.push(this.absentArray.join(','));\r\n uArray.push(this.unknownArray.join(','));\r\n rArray.push(this.selectedSymptomValue.join(','));\r\n kArray.push(this.keywords.join(','));\r\n var object = {\r\n PatientabsentSymptoms: aArray,\r\n PatientFinalConditions:kArray,\r\n sex: this.gender,\r\n PatientpresentSymptoms: pArray,\r\n PatientreportedSymptoms: rArray,\r\n prepatientId: this.patientId,\r\n PatientunknownSymptoms: uArray,\r\n age: this.age\r\n }\r\n this.reportObject = object;\r\n if(storeData)\r\n {\r\n localStorage.setItem(\"reportObject\",JSON.stringify(this.reportObject));\r\n }\r\n }\r\n\r\n\r\n}\r\n","export class SymptomCheckerModel {\r\n id: string;\r\n value: string;\r\n}\r\nexport class evidence {\r\n source: string;\r\n id: string;\r\n choice_id: string;\r\n}\r\nexport enum observationEnum {\r\n emergency_ambulance = 'The reported symptoms are very serious and the patient may require emergency care. The patient should call an ambulance right now',\r\n emergency = 'The reported evidence appears serious and the patient should go to an emergency department. If the patient cannot get to the nearest emergency department, he/she should call an ambulance',\r\n consultation_24 = 'You should see a doctor within 24 hours. If the symptoms suddenly get worse, the patient should go to the nearest emergency department',\r\n consultation = 'You may require medical evaluation and may need to schedule an appointment with a doctor. If symptoms get worse, the patient should see a doctor immediately',\r\n self_care = 'A medical consultation is advised but not strictly required; the patient should observe their symptoms and consult a doctor if symptoms worsen within 24 hours'\r\n}","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { CommonService } from \"./../../platform/modules/core/services\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SymptomCheckerService {\r\n private getSymptomsURL = \"patients/GetPatientSymptoms\";\r\n private getQuestionsURL = \"patients/GetSymptomQuestions\";\r\n private getObservationsURL = \"patients/getObservations\";\r\n private getSummaryURL = \"patients/getSummary\";\r\n private getCovidQuestionsURL = \"patients/GetCovidQuestions\";\r\n private getCovidSummaryURL = \"patients/getCovidSummary\";\r\n private GetPatientsDetailedInfoURL = \"Patients/GetPatientsDetailedInfo\";\r\n private AddSymptomateReportURL=\"Payers/AddSymptomateReport\"\r\n\r\n\r\n\r\n\r\n constructor(private commonService: CommonService) { }\r\n\r\n getPatientSymptoms(searchText: string = '',age:any) {\r\n return this.commonService.getAll(this.getSymptomsURL + \"?search=\" + searchText+\"&age=\"+age, {})\r\n .pipe(map(x => {\r\n return x.data;\r\n }));\r\n }\r\n getSymptomQuestions(symptom: any,age:any,gender:any) {\r\n return this.commonService.post(this.getQuestionsURL+\"?age=\"+age+\"&gender=\"+gender, symptom)\r\n .pipe(map(x => {\r\n return x.data;\r\n }));\r\n }\r\n getCovidQuestions(symptom: any) {\r\n return this.commonService.post(this.getCovidQuestionsURL, symptom)\r\n .pipe(map(x => {\r\n return x.data;\r\n }));\r\n }\r\n getObservations(symptom: any,age:any,gender:any) {\r\n return this.commonService.post(this.getObservationsURL+\"?age=\"+age+\"&gender=\"+gender, symptom)\r\n .pipe(map(x => {\r\n return x.data;\r\n }));\r\n }\r\ngetCovidSummary(symptom: any,age:any,gender:any) {\r\n return this.commonService.post(this.getCovidSummaryURL+\"?age=\"+age+\"&gender=\"+gender, symptom)\r\n .pipe(map(x => {\r\n return x.data;\r\n }));\r\n }\r\n getSummary(type: any) {\r\n return this.commonService.getAll(this.getSummaryURL+\"?type=\"+type, {})\r\n .pipe(map(x => {\r\n return x.data;\r\n }));\r\n }\r\n GetPatientsDetailedInfo(id: number) {\r\n return this.commonService.getById(\r\n this.GetPatientsDetailedInfoURL + \"?patientId=\" + id,\r\n {}\r\n );\r\n }\r\n AddSymptomateReport(data:any){\r\n return this.commonService.post(this.AddSymptomateReportURL,data)\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n\"","import { DOCUMENT } from \"@angular/common\";\r\nimport {\r\n Component,\r\n ElementRef,\r\n Inject,\r\n OnInit,\r\n Renderer2,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { SchedulerService } from \"src/app/platform/modules/scheduling/scheduler/scheduler.service\";\r\ndeclare var hpwlPayment: any;\r\n@Component({\r\n selector: \"app-test-payment-flow\",\r\n templateUrl: \"./test-payment-flow.component.html\",\r\n styleUrls: [\"./test-payment-flow.component.css\"],\r\n})\r\nexport class TestPaymentFlowComponent implements OnInit {\r\n @ViewChild(\"paymantForm\") paymantForm0: ElementRef;\r\n Url = \"https://localhost:4200/testPaymentSuccess\"; // staging\r\n UrgentUrl = this.Url + \"?urgentcare=1\";\r\n constructor(\r\n private renderer2: Renderer2,\r\n @Inject(DOCUMENT) private _document,\r\n private schedulerService: SchedulerService,\r\n private elementRef: ElementRef\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.createPaymentForm();\r\n }\r\n createPaymentForm = () => {\r\n this.schedulerService\r\n .checkoutPaymentForAppointment(44 + \"\")\r\n .subscribe((response: any) => {\r\n // console.log(\"payment = > \", response);\r\n const script = document.createElement(\"script\");\r\n script.src = `https://test.oppwa.com/v1/paymentWidgets.js?checkoutId=${response.id}`;\r\n script.async = true;\r\n document.body.appendChild(script);\r\n setTimeout(() => {\r\n this.initializeHyperpay();\r\n }, 2000);\r\n });\r\n };\r\n\r\n initializeHyperpay(): void {\r\n const wholeFormRegistrationCard = this.elementRef.nativeElement;\r\n\r\n const savedCardElement = wholeFormRegistrationCard.querySelector(\r\n \"#wpwl-registrations\"\r\n );\r\n // check If No registered card Is available.\r\n if (savedCardElement == null) {\r\n const createRegistrationHtml =\r\n '
Store payment details?
';\r\n const createRegistrationElement = this.renderer2.createElement(\"div\");\r\n this.renderer2.setProperty(\r\n createRegistrationElement,\r\n \"innerHTML\",\r\n createRegistrationHtml\r\n );\r\n this.renderer2.insertBefore(\r\n this.elementRef.nativeElement.querySelector(\".wpwl-button\").parentNode,\r\n createRegistrationElement,\r\n this.elementRef.nativeElement.querySelector(\".wpwl-button\")\r\n );\r\n\r\n // registration card is Available:\r\n } else {\r\n const cardElement = wholeFormRegistrationCard.children[2];\r\n const createRegistrationHtml = `\r\n
Store payment details?
\r\n
\r\n `;\r\n setTimeout(() => {\r\n const buttonElement = cardElement.querySelector(\".wpwl-button\");\r\n if (buttonElement) {\r\n buttonElement.insertAdjacentHTML(\r\n \"beforebegin\",\r\n createRegistrationHtml\r\n );\r\n }\r\n }, 0);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { from } from \"rxjs\";\r\n\r\n@Pipe({\r\n name: \"textChatUserImage\"\r\n})\r\nexport class TextChatUserImagePipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n var image = \"./assets/img/noimage1.png\";\r\n var userList = from(args);\r\n var index = args.findIndex(x => x.userId == value);\r\n if (index > -1) {\r\n image = args[index].image; //args.find(x => x.userId == value).image;\r\n }\r\n if (image == \"\" || image == null || image == undefined)\r\n image = \"./assets/img/noimage1.png\";\r\n // userList.subscribe((user: any) => {\r\n // if (user.userId == value) {\r\n // image = user.image;\r\n // }\r\n // });\r\n return image;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { from } from \"rxjs\";\r\n\r\n@Pipe({\r\n name: \"userChatName\",\r\n})\r\nexport class TextChatUserNamePipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n // \r\n var name = \"\";\r\n //var userList = from(args);\r\n var index = args.findIndex((x) => x.userId == value);\r\n if (index > -1) {\r\n name = args[index].name; //args.find(x => x.userId == value).image;\r\n }\r\n // userList.subscribe((user: any) => {\r\n // if (user.userId == value) {\r\n // name = user.name;\r\n // console.log(name);\r\n // return name;\r\n // } else return name;\r\n // });\r\n return name;\r\n }\r\n}\r\n","module.exports = \"app-text-chat {\\r\\n /* position: fixed;\\r\\n bottom: 3px; */\\r\\n}\\r\\n.text-chat-app {\\r\\n position: fixed;\\r\\n bottom: 3px;\\r\\n z-index: 1000;\\r\\n}\\r\\n.container-fluid.h-100 {\\r\\n /* left: 190%;\\r\\n float: left !important;\\r\\n position: relative;\\r\\n bottom: 0px; */\\r\\n}\\r\\n.chat {\\r\\n /* margin-top: auto;\\r\\n margin-bottom: auto; */\\r\\n}\\r\\n.card {\\r\\n height: 500px;\\r\\n border-radius: 8px !important;\\r\\n background-color: rgba(0, 0, 0) !important;\\r\\n transition: linear all 300ms;\\r\\n width: 430px;\\r\\n}\\r\\n.contacts_body {\\r\\n padding: 0.75rem 0 !important;\\r\\n overflow-y: auto;\\r\\n white-space: nowrap;\\r\\n}\\r\\n.msg_card_body {\\r\\n overflow-y: auto;\\r\\n}\\r\\n.card-header {\\r\\n border-radius: 15px 15px 0 0 !important;\\r\\n border-bottom: solid 1px #000 !important;\\r\\n}\\r\\n.chat-card .card-footer {\\r\\n padding: 0px !important;\\r\\n}\\r\\n.card-footer {\\r\\n border-radius: 0 0 15px 15px !important;\\r\\n border-top: solid 1px #000 !important;\\r\\n}\\r\\n.container {\\r\\n align-content: center;\\r\\n}\\r\\n.search {\\r\\n border-radius: 15px 0 0 15px !important;\\r\\n background-color: rgba(0, 0, 0, 0.3) !important;\\r\\n border: 0 !important;\\r\\n color: white !important;\\r\\n}\\r\\n.search:focus {\\r\\n box-shadow: none !important;\\r\\n outline: 0px !important;\\r\\n}\\r\\n.type_msg {\\r\\n background-color: rgba(0, 0, 0, 0.3) !important;\\r\\n border: 0 !important;\\r\\n color: white !important;\\r\\n height: 60px !important;\\r\\n overflow-y: auto;\\r\\n}\\r\\n.type_msg:focus {\\r\\n box-shadow: none !important;\\r\\n outline: 0px !important;\\r\\n}\\r\\n.attach_btn {\\r\\n border-radius: 15px 0 0 15px !important;\\r\\n background-color: rgba(0, 0, 0, 0.3) !important;\\r\\n border: 0 !important;\\r\\n color: white !important;\\r\\n cursor: pointer;\\r\\n}\\r\\n.send_btn {\\r\\n border-radius: 0 15px 15px 0 !important;\\r\\n background-color: rgba(0, 0, 0, 0.3) !important;\\r\\n border: 0 !important;\\r\\n color: white !important;\\r\\n cursor: pointer;\\r\\n}\\r\\n.search_btn {\\r\\n border-radius: 0 15px 15px 0 !important;\\r\\n background-color: rgba(0, 0, 0, 0.3) !important;\\r\\n border: 0 !important;\\r\\n color: white !important;\\r\\n cursor: pointer;\\r\\n}\\r\\n.contacts {\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n}\\r\\n.contacts li {\\r\\n width: 100% !important;\\r\\n padding: 5px 10px;\\r\\n margin-bottom: 15px !important;\\r\\n}\\r\\n.contacts li.active {\\r\\n background-color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n.user_img {\\r\\n height: 70px;\\r\\n width: 70px;\\r\\n border: 1.5px solid #f5f6fa;\\r\\n}\\r\\n.user_img_msg {\\r\\n height: 40px;\\r\\n width: 40px;\\r\\n border: 1.5px solid #f5f6fa;\\r\\n}\\r\\n.img_cont {\\r\\n position: relative;\\r\\n height: 70px;\\r\\n width: 70px;\\r\\n}\\r\\n.img_cont_msg {\\r\\n height: 40px;\\r\\n width: 40px;\\r\\n}\\r\\n.online_icon {\\r\\n position: absolute;\\r\\n height: 15px;\\r\\n width: 15px;\\r\\n background-color: #4cd137;\\r\\n border-radius: 50%;\\r\\n bottom: 0.2em;\\r\\n right: 0.4em;\\r\\n border: 1.5px solid white;\\r\\n}\\r\\n.offline {\\r\\n background-color: #c23616 !important;\\r\\n}\\r\\n.user_info {\\r\\n margin-top: auto;\\r\\n margin-bottom: auto;\\r\\n margin-left: 15px;\\r\\n}\\r\\n.user_info span {\\r\\n font-size: 20px;\\r\\n color: white;\\r\\n}\\r\\n.user_info p {\\r\\n font-size: 10px;\\r\\n color: rgba(255, 255, 255, 0.6);\\r\\n}\\r\\n.video_cam {\\r\\n /* margin-left: 50px;\\r\\n margin-top: 5px; */\\r\\n float: right;\\r\\n right: 0;\\r\\n position: absolute;\\r\\n}\\r\\n.video_cam .fa {\\r\\n font-size: 15px;\\r\\n}\\r\\n.video_cam span {\\r\\n color: white;\\r\\n font-size: 20px;\\r\\n cursor: pointer;\\r\\n margin-right: 20px;\\r\\n}\\r\\n.msg_cotainer {\\r\\n margin-top: auto;\\r\\n margin-bottom: auto;\\r\\n margin-left: 10px;\\r\\n border-radius: 4px;\\r\\n background-color: #82ccdd;\\r\\n padding: 10px;\\r\\n position: relative;\\r\\n word-break: break-all;\\r\\n}\\r\\n.msg_cotainer:after {\\r\\n content: \\\" \\\";\\r\\n position: absolute;\\r\\n width: 0;\\r\\n height: 0;\\r\\n left: -8px;\\r\\n right: auto;\\r\\n top: 0px;\\r\\n bottom: auto;\\r\\n border: 8px solid;\\r\\n border-color: #82ccdd transparent transparent transparent;\\r\\n}\\r\\n.msg_cotainer_send {\\r\\n margin-top: auto;\\r\\n margin-bottom: auto;\\r\\n margin-right: 10px;\\r\\n border-radius: 4px;\\r\\n background-color: #78e08f;\\r\\n padding: 10px;\\r\\n position: relative;\\r\\n word-break: break-all;\\r\\n}\\r\\n.msg_cotainer_send:after {\\r\\n content: \\\" \\\";\\r\\n position: absolute;\\r\\n width: 0;\\r\\n height: 0;\\r\\n left: auto;\\r\\n right: -8px;\\r\\n top: 0px;\\r\\n bottom: auto;\\r\\n border: 8px solid;\\r\\n border-color: #78e08f transparent transparent transparent;\\r\\n}\\r\\n.msg_time {\\r\\n position: absolute;\\r\\n left: 3px;\\r\\n bottom: -17px;\\r\\n color: rgba(255, 255, 255, 0.5);\\r\\n font-size: 10px;\\r\\n width: 250px;\\r\\n}\\r\\n.msg_time_send {\\r\\n position: absolute;\\r\\n right: 0px;\\r\\n bottom: -18px;\\r\\n color: rgba(255, 255, 255, 0.5);\\r\\n font-size: 10px;\\r\\n width: 115px;\\r\\n}\\r\\n.msg_head {\\r\\n position: relative;\\r\\n}\\r\\n#action_menu_btn {\\r\\n position: absolute;\\r\\n right: 10px;\\r\\n top: 10px;\\r\\n color: white;\\r\\n cursor: pointer;\\r\\n font-size: 20px;\\r\\n}\\r\\n.action_menu {\\r\\n z-index: 1;\\r\\n position: absolute;\\r\\n padding: 15px 0;\\r\\n background-color: rgba(0, 0, 0, 0.5);\\r\\n color: white;\\r\\n border-radius: 15px;\\r\\n top: 30px;\\r\\n right: 15px;\\r\\n display: none;\\r\\n}\\r\\n.action_menu ul {\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n}\\r\\n.action_menu ul li {\\r\\n width: 100%;\\r\\n padding: 10px 15px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n.action_menu ul li i {\\r\\n padding-right: 10px;\\r\\n}\\r\\n.action_menu ul li:hover {\\r\\n cursor: pointer;\\r\\n background-color: rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n@media (max-width: 576px) {\\r\\n .contacts_card {\\r\\n margin-bottom: 15px !important;\\r\\n }\\r\\n}\\r\\n.text-chat .ng-scrollbar.-vertical .ng-scrollbar-thumb {\\r\\n background: #e5e5e545 !important;\\r\\n}\\r\\n.card.card-minimal {\\r\\n height: 60px;\\r\\n transition: linear all 300ms;\\r\\n}\\r\\n.card.card-minimal .card-header {\\r\\n padding: 9px;\\r\\n}\\r\\n.card.card-minimal .img_cont {\\r\\n height: 40px;\\r\\n width: 40px;\\r\\n}\\r\\n.card.card-minimal .user_img {\\r\\n height: 40px;\\r\\n width: 40px;\\r\\n}\\r\\n.card.card-minimal span.online_icon {\\r\\n bottom: 0px;\\r\\n right: 0px;\\r\\n}\\r\\n.msg-img {\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n}\\r\\n.video-container {\\r\\n position: absolute;\\r\\n z-index: 1010;\\r\\n background: #000;\\r\\n height: 57%;\\r\\n width: 89%;\\r\\n opacity: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n top: 0;\\r\\n margin: auto;\\r\\n}\\r\\n.video-container.active {\\r\\n opacity: 1;\\r\\n transition: linear all 300ms;\\r\\n}\\r\\n.video-container .video-container-header {\\r\\n text-align: right;\\r\\n}\\r\\n.video-container .video-container-header .fa.fa-times {\\r\\n color: #d00;\\r\\n font-size: 14px;\\r\\n cursor: pointer;\\r\\n font-weight: 600;\\r\\n}\\r\\n.video-container .video-container-body {\\r\\n}\\r\\n.video-container .video-container-body video {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n.video-container .video-container-footer {\\r\\n}\\r\\n@media all and (max-width:550px){\\r\\n .chat-card.card{\\r\\n width:400px !important\\r\\n }\\r\\n}\\r\\n@media all and (max-width:400px){\\r\\n .chat-card.card{\\r\\n width:340px !important\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ textChatModel.Callee }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ m.fromUserId | userChatName : userInChatRoom }}, {{\\r\\n m.chatDate | date : \\\"MMM d, y, h:mm a\\\"\\r\\n }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\r\\n m.chatDate | date : \\\"MMM d, y, h:mm a\\\"\\r\\n }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n 0\\\"\\r\\n [roomId]=\\\"currentRoomId\\\" [userId]=\\\"chatInitModel.UserId\\\">\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n  {{\\\"close\\\"|translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { TextChatModel } from \"src/app/shared/text-chat/textChatModel\";\r\n//import { TextChatService } from \"./text-chat.service\";\r\n\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { AppService } from \"./../../app-service.service\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n Inject,\r\n ViewEncapsulation,\r\n ViewChild,\r\n AfterViewInit,\r\n Renderer2,\r\n ElementRef,\r\n QueryList,\r\n ViewChildren,\r\n} from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from \"@angular/material\";\r\nimport { CommonService } from \"../../platform/modules/core/services\";\r\nimport { ChatHistoryModel } from \"../../platform/modules/agency-portal/clients/profile/chat-history.model\";\r\nimport { HubConnection } from \"../../hubconnection.service\";\r\nimport { ScrollbarComponent } from \"ngx-scrollbar\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { ChatInitModel } from \"src/app/shared/models/chatModel\";\r\nimport { $ } from \"protractor\";\r\nimport { DomSanitizer, SafeResourceUrl } from \"@angular/platform-browser\";\r\nimport { TextChatService } from \"./text-chat.service\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { PatientUrgentCareStatusComponent } from \"../patient-urgentcare-status/patient-urgentcare-status.component\";\r\nimport { CallNotificationComponent } from \"../call-notification/call-notification.component\";\r\nimport { CallInitModel, CallStatus } from \"../models/callModel\";\r\nimport { UrgentCareProviderActionComponent } from \"../urgentcare-provideraction/urgentcare-provideraction.component\";\r\n\r\n@Component({\r\n selector: \"app-text-chat\",\r\n templateUrl: \"./text-chat.component.html\",\r\n styleUrls: [\"./text-chat.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class TextChatComponent implements OnInit {\r\n @Input() chatInitModel: ChatInitModel;\r\n @Input() currentRoomId: any;\r\n @Input() allMessageArray: Array = [];\r\n @Input() textChatModel: TextChatModel;\r\n @Input() userInChatRoom: any = [];\r\n message: string;\r\n hubConnection: HubConnection;\r\n isLoading: boolean = false;\r\n loaderImage = \"../../assets/loader.gif\";\r\n @ViewChild(\"scrollbar\") scrollbarRef: ScrollbarComponent;\r\n //@ViewChild(\"scrollMe\") private myScrollContainer: ElementRef;\r\n showChatModal: boolean;\r\n isMinimalView: boolean = false;\r\n isWindowHide: boolean = false;\r\n appointmentDetail: any;\r\n // callerName: string = \"\";\r\n // calleeName: string = \"\";\r\n // callerImage: string = \"\";\r\n // calleeImage: string = \"\";\r\n userRole: string = \"\";\r\n appointmentId: number;\r\n currentLoginUserId: any;\r\n isAdminLogin: boolean;\r\n isClientLogin: boolean;\r\n loginUserId: any;\r\n modalPopupEnd: any;\r\n // @ViewChild(\"scrollMe\") scrollFrame: ElementRef;\r\n // @ViewChildren(\"item\") itemElements: QueryList;\r\n\r\n // private itemContainer: any;\r\n // private scrollContainer: any;\r\n // private items = [];\r\n // private isNearBottom = true;\r\n\r\n constructor(\r\n private renderer2: Renderer2,\r\n @Inject(DOCUMENT) private _document,\r\n private appService: AppService, //private textChatService: TextChatService,\r\n private sanitizer: DomSanitizer,\r\n private commonService: CommonService,\r\n private activateRoute: ActivatedRoute,\r\n private textChatService: TextChatService,\r\n private translate: TranslateService,\r\n private appointmentDailog: MatDialog\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.appointmentId = 0;\r\n this.showChatModal = false;\r\n this.message = \"\";\r\n this.hubConnection = new HubConnection();\r\n this.userInChatRoom = [];\r\n this.allMessageArray = [];\r\n this.currentRoomId = 0;\r\n }\r\n\r\n ngOnInit() {\r\n this.loginUserId = localStorage.getItem(\"UserId\");\r\n\r\n //this.dragElement(document.getElementsByClassName(\"chat-card\")[0]);\r\n if (\r\n this.chatInitModel &&\r\n this.chatInitModel.UserId > 0 &&\r\n this.chatInitModel.AppointmentId > 0\r\n )\r\n this.createHubConnection();\r\n this.appService.loadingState.subscribe((isLoading) => {\r\n this.isLoading = isLoading;\r\n });\r\n if (this.allMessageArray.length > 0) {\r\n //this.scrollToBottom();\r\n this.scrollbarRef.scrollToBottom();\r\n }\r\n\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.currentLoginUserId = user.id;\r\n\r\n if (user.users3 && user.users3.userRoles) {\r\n this.userRole = (user.users3.userRoles.userType || \"\").toUpperCase();\r\n }\r\n\r\n this.isAdminLogin =\r\n user.users3 &&\r\n user.users3.userRoles &&\r\n (user.users3.userRoles.userType || \"\").toUpperCase() == \"ADMIN\";\r\n this.isClientLogin = this.userRole == \"CLIENT\";\r\n }\r\n\r\n // this.cdr.detectChanges(); // added by shubham i.e on 9/11/2021\r\n });\r\n\r\n this.intervalToDestroy = setInterval(() => {\r\n if (this.inProgress)\r\n return;\r\n\r\n this.GetAllMessage()\r\n }, 3000);\r\n\r\n\r\n }\r\n ngOnDestroy() {\r\n if (this.intervalToDestroy) {\r\n clearInterval(this.intervalToDestroy);\r\n }\r\n }\r\n inProgress = false;\r\n intervalToDestroy: any\r\n GetAllMessage() {\r\n this.inProgress = true;\r\n this.appService\r\n .getChatHistory(this.currentRoomId, this.chatInitModel.UserId)\r\n .subscribe((response) => {\r\n this.inProgress = false;\r\n\r\n if (response.statusCode == 200) {\r\n this.allMessageArray = response.data;\r\n this.scrollbarRef.scrollToBottom(1000);\r\n }\r\n else this.allMessageArray = [];\r\n }, () => {\r\n this.inProgress = false;\r\n });\r\n }\r\n\r\n onToggleChatModal() {\r\n this.showChatModal = !this.showChatModal;\r\n }\r\n appendScript(src: string, type: string, tag: string) {\r\n const s = this.renderer2.createElement(tag);\r\n s.type = type;\r\n s.src = src;\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n }\r\n addClassMinimal() {\r\n var card = document.getElementsByClassName(\"chat-card\");\r\n card[0].classList.add(\"card-minimal\");\r\n this.isMinimalView = true;\r\n }\r\n removeClassMinimal() {\r\n var card = document.getElementsByClassName(\"chat-card\");\r\n card[0].classList.remove(\"card-minimal\");\r\n this.isMinimalView = false;\r\n }\r\n hideChatWindow() {\r\n this.isWindowHide = true;\r\n //var chatInitModel1 = new ChatInitModel();\r\n // this.appService.CheckChatActivated(chatInitModel1);\r\n this.appService.CheckChatActivated(null);\r\n //var textChatModel = new TextChatModel();\r\n // this.appService.ChatUserInit(textChatModel);\r\n this.appService.ChatUserInit(null);\r\n this.appService.SetChatRoomDetail(0);\r\n }\r\n dragElement(elmnt) {\r\n var pos1 = 0,\r\n pos2 = 0,\r\n pos3 = 0,\r\n pos4 = 0;\r\n if (document.getElementById(\"chatHeader\")) {\r\n // if present, the header is where you move the DIV from:\r\n document.getElementById(\"chatHeader\").onmousedown = dragMouseDown;\r\n } else {\r\n // otherwise, move the DIV from anywhere inside the DIV:\r\n elmnt.onmousedown = dragMouseDown;\r\n }\r\n\r\n function dragMouseDown(e) {\r\n e = e || window.event;\r\n e.preventDefault();\r\n // get the mouse cursor position at startup:\r\n pos3 = e.clientX;\r\n pos4 = e.clientY;\r\n document.onmouseup = closeDragElement;\r\n // call a function whenever the cursor moves:\r\n document.onmousemove = elementDrag;\r\n }\r\n\r\n function elementDrag(e) {\r\n e = e || window.event;\r\n e.preventDefault();\r\n // calculate the new cursor position:\r\n pos1 = pos3 - e.clientX;\r\n pos2 = pos4 - e.clientY;\r\n pos3 = e.clientX;\r\n pos4 = e.clientY;\r\n // set the element's new position:\r\n elmnt.style.top = elmnt.offsetTop - pos2 + \"px\";\r\n elmnt.style.left = elmnt.offsetLeft - pos1 + \"px\";\r\n }\r\n\r\n function closeDragElement() {\r\n // stop moving when mouse button is released:\r\n document.onmouseup = null;\r\n document.onmousemove = null;\r\n }\r\n }\r\n createHubConnection() {\r\n //////;\r\n if (this.hubConnection) {\r\n var token = localStorage.getItem(\"business_token\");\r\n this.hubConnection.createHubConnection(token).then((response) => {\r\n this.hubConnection.getHubConnection().onclose(() => {\r\n this.ReconnectOnClose(\r\n this.chatInitModel.UserId,\r\n this.chatInitModel.AppointmentId\r\n );\r\n this.getMessageNotifications();\r\n this.getChatRoomUserList();\r\n });\r\n this.hubConnection\r\n .ConnectToServerWithUserId(\r\n this.chatInitModel.UserId,\r\n this.chatInitModel.AppointmentId\r\n )\r\n .then((res) => {\r\n this.getMessageNotifications();\r\n this.getChatRoomUserList();\r\n this.getIncomingCallNotifications();\r\n this.getCallEndNotifications();\r\n this.getIncomingUrgentCareProviderNotifications();\r\n this.getIncomingUrgentCarePatientNotifications();\r\n });\r\n });\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.scrollbarRef.scrollToBottom(2000);\r\n //this.scrollToBottom();\r\n //this.scrollbarRef.scrollState.subscribe(e => console.log(e));\r\n }\r\n sendMessage(event) {\r\n if (!this.message || !this.message.trim()) return false;\r\n this.handleNewUserMessage(this.message);\r\n var currentDate = new Date();\r\n const messageObj: ChatHistoryModel = {\r\n message: this.message,\r\n isRecieved: false,\r\n chatDate: currentDate.toString(),\r\n fromUserId: this.chatInitModel.UserId,\r\n fileType: \"\",\r\n messageType: 0,\r\n };\r\n this.allMessageArray.push(messageObj);\r\n this.message = \"\";\r\n this.scrollbarRef.scrollToBottom();\r\n //this.scrollToBottom();\r\n }\r\n public uploadFinished = (event) => {\r\n if (event.statusCode == 200) {\r\n var currentDate = new Date();\r\n var data = event.data;\r\n data.forEach((element) => {\r\n const messageObj: ChatHistoryModel = {\r\n message: element.message,\r\n isRecieved: false,\r\n chatDate: currentDate.toString(),\r\n fromUserId: this.chatInitModel.UserId,\r\n fileType: element.fileType,\r\n messageType: element.messageType,\r\n };\r\n this.allMessageArray.push(messageObj);\r\n this.scrollbarRef.scrollToBottom(1000);\r\n });\r\n }\r\n // console.log(\"Upload Finish\");\r\n // console.log(event);\r\n };\r\n // private onItemElementsChanged(): void {\r\n // if (this.isNearBottom) {\r\n // this.scrollToBottom();\r\n // }\r\n // }\r\n\r\n // private scrollToBottom(): void {\r\n // this.scrollContainer.scroll({\r\n // top: this.scrollContainer.scrollHeight,\r\n // left: 0,\r\n // behavior: \"smooth\"\r\n // });\r\n // }\r\n\r\n // private isUserNearBottom(): boolean {\r\n // const threshold = 150;\r\n // const position =\r\n // this.scrollContainer.scrollTop + this.scrollContainer.offsetHeight;\r\n // const height = this.scrollContainer.scrollHeight;\r\n // return position > height - threshold;\r\n // }\r\n\r\n // scrolled(event: any): void {\r\n // this.isNearBottom = this.isUserNearBottom();\r\n // }\r\n // scrollToBottom(): void {\r\n // try {\r\n // var scrollHeight = this.myScrollContainer.nativeElement.scrollHeight;\r\n // var scrollTop = this.myScrollContainer.nativeElement.scrollTop;\r\n // this.myScrollContainer.nativeElement.scrollTop = this.myScrollContainer.nativeElement.scrollHeight;\r\n // } catch (err) {}\r\n // }\r\n handleNewUserMessage(message: string = \"\") {\r\n if (this.hubConnection.isConnected()) {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\r\n \"SendMessage\",\r\n message,\r\n this.chatInitModel.UserId,\r\n this.currentRoomId,\r\n this.chatInitModel.AppointmentId\r\n )\r\n // .then(() => {\r\n // this.getMessageNotifications();\r\n // })\r\n .catch((err) =>\r\n // console.error(err, \"ReceiveMessageReceiveMessageerror\")\r\n {});\r\n return message;\r\n } else {\r\n this.hubConnection.restartHubConnection().then(() => {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\r\n \"SendMessage\",\r\n message,\r\n this.chatInitModel.UserId,\r\n this.currentRoomId,\r\n this.chatInitModel.AppointmentId\r\n )\r\n // .then(() => {\r\n // this.getMessageNotifications();\r\n // })\r\n .catch((err) =>\r\n // console.error(err, \"ReceiveMessageReceiveMessageerror\")\r\n {});\r\n return message;\r\n });\r\n }\r\n }\r\n openChatRoom(appointmentId: number) {\r\n //////;\r\n this.commonService.loginUser.subscribe((response: any) => {\r\n if (response.access_token) {\r\n var chatInitModel = new ChatInitModel();\r\n chatInitModel.isActive = true;\r\n chatInitModel.AppointmentId = appointmentId;\r\n chatInitModel.UserId = response.data.userID;\r\n\r\n if (this.isClientLogin) {\r\n chatInitModel.UserRole = response.data.users3.userRoles.userType;\r\n } else {\r\n chatInitModel.UserRole = response.data.userRoles.userType;\r\n }\r\n\r\n // chatInitModel.UserRole = response.data.userRoles.userType;\r\n // chatInitModel.UserRole = response.data.users3.userRoles.userType;\r\n this.appService.CheckChatActivated(chatInitModel);\r\n //\r\n this.textChatService.setAppointmentDetail(\r\n chatInitModel.AppointmentId,\r\n chatInitModel.UserRole\r\n );\r\n //\r\n this.textChatService.setRoomDetail(\r\n chatInitModel.UserId,\r\n chatInitModel.AppointmentId\r\n );\r\n }\r\n });\r\n }\r\n getMessageNotifications() {\r\n //////;\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\"ReceiveMessage\", (result, UserId, currentRoomId, appointmentId) => {\r\n // console.log(\"message from server\", result, currentRoomId);\r\n //text chat component // if call is in progress and if send msg then automaticaly open chat window\r\n if (appointmentId > 0) {\r\n this.appointmentId = appointmentId;\r\n this.openChatRoom(this.appointmentId);\r\n }\r\n //\r\n if (\r\n //UserId == this.chatInitModel.UserId &&\r\n currentRoomId == this.currentRoomId\r\n ) {\r\n // result.forEach((element) => {\r\n // var currentDate = new Date();\r\n // const messageObj: ChatHistoryModel = {\r\n // message: element.message,\r\n // isRecieved:\r\n // element.isRecieved != undefined ? element.isRecieved : true,\r\n // chatDate: currentDate.toString(),\r\n // fromUserId: UserId,\r\n // fileType: element.fileType,\r\n // messageType: element.messageType,\r\n // };\r\n // this.allMessageArray.push(messageObj);\r\n // this.scrollbarRef.scrollToBottom(1000);\r\n // console.log(this.allMessageArray);\r\n // });\r\n\r\n this.appService\r\n .getChatHistory(currentRoomId, UserId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.allMessageArray = response.data;\r\n } else this.allMessageArray = [];\r\n });\r\n this.scrollbarRef.scrollToBottom(1000);\r\n }\r\n });\r\n }\r\n ReconnectOnClose(userId, roomId) {\r\n setTimeout(() => {\r\n this.hubConnection.restartHubConnection().then(() => {\r\n this.hubConnection\r\n .ConnectToServerWithUserId(userId, roomId)\r\n .then((roomId) => {\r\n // console.log('Restart Connection: user id sent to server : ' + fromUserId);\r\n });\r\n });\r\n }, 5000);\r\n }\r\n\r\n getChatRoomUserList() {\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\"UserConnected\", (userId, room) => {\r\n // console.log(\"New User Connected : \", userId);\r\n var index = this.userInChatRoom.findIndex((x) => x.userId == userId);\r\n if (index == -1) {\r\n this.appService\r\n .getUserInChatRoom(this.currentRoomId, false)\r\n .subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.userInChatRoom = res.data;\r\n }\r\n });\r\n //console.log(this.allMessageArray);\r\n }\r\n });\r\n }\r\n fileToUpload: any;\r\n url: any;\r\n files: Array = [];\r\n onSelectFile(files: FileList) {\r\n if (files.length === 0) return;\r\n\r\n this.fileToUpload = files.item(0);\r\n\r\n const fileReader: FileReader = new FileReader();\r\n fileReader.readAsDataURL(this.fileToUpload);\r\n\r\n fileReader.onload = (event: any) => {\r\n this.url = event.target.result;\r\n };\r\n\r\n this.files.push({\r\n data: this.fileToUpload,\r\n fileName: this.fileToUpload.name,\r\n });\r\n this.handleNewChatFile(this.files[0]);\r\n }\r\n handleNewChatFile(file: any) {\r\n if (this.hubConnection.isConnected()) {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\r\n \"SendFileInMessage\",\r\n file,\r\n this.chatInitModel.UserId,\r\n this.currentRoomId\r\n )\r\n // .then(() => {\r\n // this.getMessageNotifications();\r\n // })\r\n .catch((err) =>\r\n // console.error(err, \"ReceiveMessageReceiveMessageerror\")\r\n {});\r\n return file;\r\n } else {\r\n this.hubConnection.restartHubConnection().then(() => {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\r\n \"SendFileInMessage\",\r\n file,\r\n this.chatInitModel.UserId,\r\n this.currentRoomId\r\n )\r\n // .then(() => {\r\n // this.getMessageNotifications();\r\n // })\r\n .catch((err) =>\r\n // console.error(err, \"ReceiveMessageReceiveMessageerror\")\r\n {});\r\n return file;\r\n });\r\n }\r\n }\r\n videoUrl: string = \"\";\r\n isPlay: boolean = false;\r\n videoRecordPlayback($event: any) {\r\n this.videoUrl = \"\";\r\n //var iframe = document.getElementById(\"iframeVideo\");\r\n this.isPlay = false;\r\n if ($event != null) {\r\n //iframe.attributes.(\"src\").set $event.url;);\r\n this.videoUrl = $event.url; //this.sanitizer.bypassSecurityTrustResourceUrl($event.url);\r\n this.isPlay = true;\r\n }\r\n }\r\n getIncomingCallNotifications() {\r\n // console.log(\"28 getincomingcallnotification is called from hub service \");\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\r\n \"CallInitiated\",\r\n (\r\n appointmentId: number,\r\n fromUserId: number,\r\n toUserId: number,\r\n callerName: string\r\n ) => {\r\n //this.dialogModalRef.close();\r\n ////;\r\n this.appointmentDailog.closeAll();\r\n this.modalPopupEnd = undefined;\r\n let previousCallModel: CallInitModel = new CallInitModel();\r\n this.appService.call.subscribe((callInitModel: CallInitModel) => {\r\n previousCallModel = callInitModel;\r\n });\r\n // console.log(\r\n // \"Previous Call Initiated For Appointment Id : \",\r\n // previousCallModel.AppointmentId\r\n // );\r\n let callInitModel = new CallInitModel();\r\n callInitModel.CallStatus = CallStatus.Started;\r\n callInitModel.AppointmentId = appointmentId;\r\n callInitModel.CallerName = callerName;\r\n if (previousCallModel.AppointmentId != appointmentId) {\r\n // console.log(\"Call MOdel Changed : \", callInitModel);\r\n this.appService.CheckCallStarted(callInitModel);\r\n }\r\n // console.log(\"Call Initiated For Appointment : \", appointmentId);\r\n //var callButton = document.getElementById(\"divCallButton\");\r\n //callButton.classList.add(\"active\");\r\n }\r\n );\r\n }\r\n getCallEndNotifications() {\r\n // console.log(\"28 getendcallnotification is called from hub service \");\r\n\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\r\n \"CallEnd\",\r\n (\r\n appointmentId: number,\r\n fromUserId: number,\r\n toUserId: number,\r\n callerName: string,\r\n userType: string\r\n ) => {\r\n // this.appointmentDailog.closeAll();\r\n // let previousCallModel: CallInitModel = new CallInitModel();\r\n // this.appService.call.subscribe((callInitModel: CallInitModel) => {\r\n // previousCallModel = callInitModel;\r\n // });\r\n // console.log(\"CALL Ended in hub service : \");\r\n this.openEndCallActionDialog(callerName, userType);\r\n }\r\n );\r\n }\r\n handleIncomingCall(appointmentId: number, userId: number) {\r\n\r\n // console.log(\"29 handleincomingcall is called from hub service \");\r\n if (this.hubConnection.isConnected()) {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\"CallInitiate\", appointmentId, userId)\r\n // .then(() => {\r\n // this.getMessageNotifications();\r\n // })\r\n .catch((err) => \r\n // console.error(err, \"Receive Incoming Call\")\r\n {});\r\n return appointmentId;\r\n } else {\r\n this.hubConnection.restartHubConnection().then(() => {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\"CallInitiate\", appointmentId, userId)\r\n // .then(() => {\r\n // this.getMessageNotifications();\r\n // })\r\n .catch((err) => \r\n // console.error(err, \"Receive Incoming Call\")\r\n {}\r\n );\r\n return appointmentId;\r\n });\r\n }\r\n }\r\n openEndCallActionDialog(callerName: string, userType: string) {\r\n // console.log(\"29 openendcallactiondialog is called from hub service \");\r\n // console.log(this.userRole);\r\n if (this.modalPopupEnd == undefined) {\r\n this.modalPopupEnd = this.appointmentDailog.open(\r\n CallNotificationComponent,\r\n {\r\n hasBackdrop: true,\r\n data: { callerName: callerName, userType: userType },\r\n width: \"60%\",\r\n }\r\n );\r\n\r\n // console.log(this.modalPopupEnd);\r\n\r\n this.modalPopupEnd.afterClosed().subscribe((result) => {\r\n // if (result === \"SAVE\") this.fetchEvents();\r\n });\r\n }\r\n }\r\n\r\n openPatientActionDialog() {\r\n // console.log(\"30 openpatientactiondialog is called from hub service \");\r\n const modalPopup = this.appointmentDailog.open(\r\n PatientUrgentCareStatusComponent,\r\n {\r\n hasBackdrop: true,\r\n //data: ,\r\n width: \"60%\",\r\n }\r\n );\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n // if (result === \"SAVE\") this.fetchEvents();\r\n });\r\n }\r\n getIncomingUrgentCareProviderNotifications() {\r\n // console.log(\"31 getincomingurgentcakk is called from hub service \");\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\r\n \"CallProviderUrgentCare\",\r\n (appointmentId: number, fromUserId: number, toUserId: number) => {\r\n //////;\r\n this.openProviderActionDialog(appointmentId);\r\n // let previousCallModel: UrgentCareProviderActionInitModel = new UrgentCareProviderActionInitModel();\r\n // this.appService.ProviderActioncall.subscribe((callInitModel: UrgentCareProviderActionInitModel) => {\r\n // previousCallModel = callInitModel;\r\n // });\r\n // console.log(\r\n // \"Previous Urgent Call Initiated For Appointment Id : \",\r\n // previousCallModel.AppointmentId\r\n // );\r\n // let callInitModel = new UrgentCareProviderActionInitModel();\r\n // // callInitModel.CallStatus = CallStatus.Started;\r\n // callInitModel.AppointmentId = appointmentId;\r\n\r\n // console.log(\"Call UrgentCare Model Changed : \", callInitModel);\r\n // this.appService.ProviderActioncallStarted(callInitModel);\r\n\r\n // console.log(\"Urgebt care Call Initiated For Appointment : \", appointmentId);\r\n\r\n //var callButton = document.getElementById(\"divCallButton\");\r\n //callButton.classList.add(\"active\");\r\n }\r\n );\r\n }\r\n\r\n getIncomingUrgentCarePatientNotifications() {\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\r\n \"CallPatientUrgentCare\",\r\n (appointmentId: number, fromUserId: number, toUserId: number) => {\r\n this.openPatientActionDialog();\r\n }\r\n );\r\n }\r\n openProviderActionDialog(appointmentId: number) {\r\n // console.log(\"29 openprovideractiondialog is called from hub service \");\r\n const modalPopup = this.appointmentDailog.open(\r\n UrgentCareProviderActionComponent,\r\n {\r\n hasBackdrop: true,\r\n data: appointmentId,\r\n width: \"60%\",\r\n }\r\n );\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n // if (result === \"SAVE\") this.fetchEvents();\r\n });\r\n }\r\n}\r\n","import { environment } from \"src/environments/environment\";\r\nimport { HttpHeaders, HttpClient } from \"@angular/common/http\";\r\nimport { TextChatModel } from \"./textChatModel\";\r\nimport { AppService } from \"./../../app-service.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { CommonService } from \"./../../super-admin-portal/core/services/common.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class TextChatService {\r\n textChatModel: TextChatModel;\r\n\r\n private getAppointmentDetailURL = \"Home/GetAppointmentDetail?appointmentId=\";\r\n private getChatRoomURL = \"Home/GetChatRoomId\";\r\n constructor(\r\n private schedulerService: SchedulerService,\r\n private appService: AppService,\r\n private http: HttpClient\r\n ) {\r\n this.textChatModel = new TextChatModel();\r\n }\r\n setAppointmentDetail(appointmentId: number, userRole: string = \"\") {\r\n this.getAppointmentDetail(appointmentId).subscribe(response => {\r\n var appointmentDetail = response.data;\r\n if (response.statusCode == 200) {\r\n var staff = appointmentDetail.appointmentStaffs[0];\r\n if (\r\n userRole.toUpperCase() == \"CLIENT\" ||\r\n userRole.toUpperCase() == \"INVITED\"\r\n ) {\r\n this.textChatModel.Callee = \"Dr. \" + staff.staffName;\r\n this.textChatModel.CalleeImage = staff.photoThumbnail;\r\n this.textChatModel.Caller = appointmentDetail.patientName;\r\n this.textChatModel.CallerImage =\r\n appointmentDetail.patientPhotoThumbnailPath;\r\n } else {\r\n this.textChatModel.Caller = \"Dr. \" + staff.staffName;\r\n this.textChatModel.CallerImage = staff.photoThumbnail;\r\n this.textChatModel.Callee = appointmentDetail.patientName;\r\n this.textChatModel.CalleeImage =\r\n appointmentDetail.patientPhotoThumbnailPath;\r\n }\r\n }\r\n this.appService.ChatUserInit(this.textChatModel);\r\n });\r\n }\r\n getAppointmentDetail(\r\n appointmentId: number,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.appService.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this\r\n .getAppointmentDetailURL}${appointmentId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(res => {\r\n isLoading && this.appService.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n setRoomDetail(\r\n userId: number,\r\n appointmentId: number,\r\n isLoading: boolean = true\r\n ) {\r\n this.getRoomDetail(userId, appointmentId, isLoading).subscribe(response => {\r\n var roomId = 0;\r\n if (response.statusCode == 200) {\r\n roomId = response.data;\r\n this.appService.SetChatRoomDetail(roomId);\r\n }\r\n });\r\n }\r\n getRoomDetail(\r\n userId: number,\r\n appointmentId: number,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.appService.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this\r\n .getChatRoomURL}?userId=${userId}&appointmentId=${appointmentId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(res => {\r\n isLoading && this.appService.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n // getAppointmentInfo(appointmentId: number, userRole: string) {\r\n // this.schedulerService\r\n // .getAppointmentDetails(appointmentId)\r\n // .subscribe(response => {\r\n // var appointmentDetail = response.data;\r\n // if (response.statusCode == 200) {\r\n // var staff = appointmentDetail.appointmentStaffs[0];\r\n // if (userRole.toUpperCase() == \"CLIENT\") {\r\n // this.textChatModel.Callee = \"Dr. \" + staff.staffName;\r\n // this.textChatModel.CalleeImage = staff.photoThumbnail;\r\n // this.textChatModel.Caller = appointmentDetail.patientName;\r\n // this.textChatModel.CallerImage =\r\n // appointmentDetail.patientPhotoThumbnailPath;\r\n // } else {\r\n // this.textChatModel.Caller = \"Dr. \" + staff.staffName;\r\n // this.textChatModel.CallerImage = staff.photoThumbnail;\r\n // this.textChatModel.Callee = appointmentDetail.patientName;\r\n // this.textChatModel.CalleeImage =\r\n // appointmentDetail.patientPhotoThumbnailPath;\r\n // }\r\n // }\r\n // this.appService.ChatUserInit(this.textChatModel);\r\n // });\r\n // }\r\n}\r\n","module.exports = \".msg-icon {\\r\\n font-size: 20px;\\r\\n}\\r\\n.msg-icon.fa-file-pdf-o {\\r\\n color: rgb(189, 78, 78);\\r\\n}\\r\\n.msg-icon.fa-file-excel-o {\\r\\n color: #155d15;\\r\\n}\\r\\n.msg-icon.fa-file-text-o {\\r\\n color: #2a2a6f;\\r\\n}\\r\\n.msg-icon .msg-file-text {\\r\\n font-size: 16px;\\r\\n margin-left: 7px;\\r\\n color: #051819;\\r\\n font-weight: 500;\\r\\n}\\r\\n.a-recording-play {\\r\\n cursor: pointer;\\r\\n}\\r\\n\"","module.exports = \"{{ msg.message }}\\r\\n\\r\\n -1\\\"\\r\\n >\\r\\n -1\\\"\\r\\n >{{ msg.fileName }}\\r\\n -1\\\"\\r\\n >{{ msg.fileName }}\\r\\n -1\\\"\\r\\n >{{ msg.fileName }}\\r\\n -1\\\"\\r\\n >\\r\\n Call Recording\\r\\n \\r\\n \\r\\n\\r\\n\"","import {\r\n Component,\r\n ViewEncapsulation,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { VideoRecordModel } from \"../../models/videoRecordModel\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-text-message-format\",\r\n templateUrl: \"./text-message-format.component.html\",\r\n styleUrls: [\"./text-message-format.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class TextMessageFormatComponent implements OnInit {\r\n @Input(\"message\") msg: any;\r\n imageExtension = [\".jpg\", \".JPG\", \".png\", \".PNG\", \".jpeg\", \".JPEG\"];\r\n docExtension = [\".doc\", \".DOC\", \".docx\", \".DOCX\"];\r\n pdfExtension = [\".pdf\", \".PDF\"];\r\n excelExtension = [\".xls\", \".XLS\", \".xlsx\", \".XLSX\"];\r\n recExtension = [\".rec\", \".ROC\"];\r\n archiveId: string = \"\";\r\n videoUrl: string = \"\";\r\n //isVideoStarted: boolean = false;\r\n @Output() videoRecordPlayback = new EventEmitter();\r\n constructor(\r\n private homeService: HomeService,private translate:TranslateService //private appService: AppService\r\n ) {\r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.videoUrl = \"\";\r\n //this.isVideoStarted = false;\r\n }\r\n ngOnInit() {}\r\n playRecording(msg: any) {\r\n // console.log(msg);\r\n \r\n this.homeService.getVideoArchiveDetail(msg.fileName).subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.videoUrl = res.data.url;\r\n //this.isVideoStarted = true;\r\n this.videoRecordPlayback.emit(res.data);\r\n } else {\r\n this.videoUrl = \"\";\r\n this.videoRecordPlayback.emit(null);\r\n //this.isVideoStarted = false;\r\n }\r\n });\r\n }\r\n}\r\n","export class TextChatModel {\r\n Callee: string = \"\";\r\n CalleeImage: string = \"\";\r\n Caller: string = \"\";\r\n CallerImage: string = \"\";\r\n AppointmentDate: string = \"\";\r\n AppointmentTime: string = \"\";\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n 0\\\"> {{ progress }}% \\r\\n \\r\\n {{ message }}\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import {\r\n OnInit,\r\n ViewEncapsulation,\r\n Component,\r\n EventEmitter,\r\n Output,\r\n Input,\r\n} from \"@angular/core\";\r\nimport {\r\n HttpClient,\r\n HttpEventType,\r\n HttpBackend,\r\n HttpHeaders,\r\n} from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Component({\r\n selector: \"app-upload-file\",\r\n templateUrl: \"./upload-file.component.html\",\r\n styleUrls: [\"./upload-file.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UploadFileComponent implements OnInit {\r\n public progress: number;\r\n public message: string;\r\n @Input(\"roomId\") roomId: number;\r\n @Input(\"userId\") userId: number;\r\n @Output() public onUploadFinished = new EventEmitter();\r\n\r\n constructor(private http: HttpClient, handler: HttpBackend) {\r\n this.http = new HttpClient(handler);\r\n }\r\n\r\n ngOnInit() {}\r\n public uploadFile = (files) => {\r\n if (files.length === 0) {\r\n return;\r\n }\r\n\r\n let filesToUpload: File[] = files;\r\n const formData = new FormData();\r\n\r\n Array.from(filesToUpload).map((file, index) => {\r\n return formData.append(\"file\" + index, file, file.name);\r\n });\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n\r\n let token = localStorage.getItem(\"access_token\");\r\n if (token) {\r\n headers[\"Authorization\"] = `Bearer ${JSON.parse(token)}`;\r\n }\r\n \r\n this.http\r\n .post(\r\n `${environment.api_url}/Chat/SendImage/${this.userId}/${this.roomId}`,\r\n formData,\r\n { headers: headers, reportProgress: true, observe: \"events\" }\r\n )\r\n .subscribe((event) => {\r\n if (event.type === HttpEventType.UploadProgress)\r\n this.progress = Math.round((100 * event.loaded) / event.total);\r\n else if (event.type === HttpEventType.Response) {\r\n this.message = \"Upload success.\";\r\n this.onUploadFinished.emit(event.body);\r\n }\r\n });\r\n };\r\n // public uploadFile = files => {\r\n // \r\n // if (files.length === 0) {\r\n // return;\r\n // }\r\n\r\n // let fileToUpload = files[0];\r\n // const formData = new FormData();\r\n // formData.append(\"file\", fileToUpload, fileToUpload.name);\r\n // // const header = {\r\n // // \"Content-Type\": \"application/json\"\r\n // // };\r\n // this.http\r\n // .post(\r\n // `${environment.api_url}/Chat/SendImage/${this.userId}/${this.roomId}`,\r\n // formData,\r\n // {\r\n // // headers: header,\r\n // reportProgress: true,\r\n // observe: \"events\"\r\n // }\r\n // )\r\n // .subscribe(event => {\r\n // if (event.type === HttpEventType.UploadProgress)\r\n // this.progress = Math.round((100 * event.loaded) / event.total);\r\n // else if (event.type === HttpEventType.Response) {\r\n // this.message = \"Upload success.\";\r\n // //this.onUploadFinished.emit(event.body);\r\n // }\r\n // });\r\n // };\r\n}\r\n","module.exports = \"main {\\r\\n padding: 1em;\\r\\n font-family: Arial, Helvetica, sans-serif;\\r\\n text-align: center;\\r\\n margin-top: 50px;\\r\\n display: block;\\r\\n color: greenyellow;\\r\\n}\\r\\n\\r\\nlabel {\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.upload-drop-zone {\\r\\n height: 200px;\\r\\n border-width: 2px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n/* skin.css Style*/\\r\\n\\r\\n.upload-drop-zone {\\r\\n color: #ccc;\\r\\n border-style: dashed;\\r\\n border-color: #ccc;\\r\\n line-height: 200px;\\r\\n text-align: center\\r\\n}\\r\\n\\r\\n.upload-drop-zone.drop {\\r\\n color: #222;\\r\\n border-color: #222;\\r\\n}\\r\\n\\r\\n.browse-doc {\\r\\n border-radius: 0px;\\r\\n}\\r\\n\\r\\n.browse-doc .browse {\\r\\n line-height: normal;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding: 10px 0px;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n padding-right: 15px;\\r\\n filter: grayscale(100%);\\r\\n -webkit-filter: grayscale(100%);\\r\\n opacity: 0.8;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.uploading-data p {\\r\\n width: 90%;\\r\\n font-size: 14px;\\r\\n color: rgba( 0, 0, 0, 0.80);\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n/* .custom_modal {\\r\\n height: 400vh;\\r\\n} */\\r\\n\\r\\n.mat-dialog-actions {\\r\\n padding: 15px 18px !important;\\r\\n}\\r\\n\\r\\n.uplaod_pic i {\\r\\n font-size: 24px;\\r\\n}\\r\\n\\r\\n.cancel-btn {\\r\\n background-color: #fff;\\r\\n color: #01385f !important;\\r\\n min-width: 80px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #01385f;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.ml-auto,\\r\\n.mat-dialog-actions .mat-primary {\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n.tbactionbtn .fa {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #2f2660;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 0px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions {\\r\\n display: block !important;\\r\\n}\\r\\n\\r\\n.txt-css {\\r\\n font-size: 22px;\\r\\n font-weight: 500;\\r\\n color: #2f2660;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n

Urgent Care Requirement

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

Hi, patient has requested for urgent care requirement

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, Inject, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { CallInitModel, CallStatus, UrgentCareProviderActionInitModel } from \"../models/callModel\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { SchedulerService } from \"src/app/platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-urgentcare-provideraction\",\r\n templateUrl: \"./urgentcare-provideraction.component.html\",\r\n styleUrls: [\"./urgentcare-provideraction.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UrgentCareProviderActionComponent implements OnInit {\r\n userId: number = null;\r\n appointmentId: number;\r\n masterDocumentTypes: any = []\r\n //addDocumentForm: FormGroup;\r\n fileList: any = [];\r\n dataURL: any;\r\n submitted: boolean = false;\r\n todayDate = new Date();\r\n constructor(private dialogModalRef: MatDialogRef,\r\n private router: Router, private translate: TranslateService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService, private schedulerService: SchedulerService, private commonService: CommonService, private appService: AppService) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.appointmentId = this.data;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userId = user.data.userID;\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n onAccept() {\r\n //this.router.navigate([\"/web/waiting-room/\"+this.appointmentId]);\r\n this.router.navigate([\"/web/encounter/soap\"], {\r\n queryParams: {\r\n apptId: this.appointmentId,\r\n encId: 0\r\n },\r\n });\r\n //this.router.navigate([\"/web/waiting-room/\"+this.appointmentId]);\r\n this.dialogModalRef.close();\r\n }\r\n\r\n onReject() {\r\n\r\n this.schedulerService\r\n .urgentCareRefundAppointmentFee(this.appointmentId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n //////;\r\n //this.callPatientInformProviderAvailability(this.appointmentId);\r\n } else {\r\n\r\n }\r\n });\r\n this.dialogModalRef.close();\r\n }\r\n\r\n\r\n callPatientInformProviderAvailability(pateintapptid: number) {\r\n //////;\r\n if (pateintapptid > 0 && this.userId > 0) {\r\n this.appService\r\n .getcallPatientInformProviderAvailability(pateintapptid, this.userId)\r\n .subscribe((res) => {\r\n // console.log(res);\r\n });\r\n }\r\n // let callInitModel: UrgentCareProviderActionInitModel = new UrgentCareProviderActionInitModel();\r\n // callInitModel.AppointmentId = pateintapptid;\r\n // //callInitModel.CallStatus = CallStatus.Picked;\r\n // this.appService.ProviderActioncallStarted(callInitModel);\r\n }\r\n\r\n}\r\n","module.exports = \".cstm-cross {\\r\\n position: absolute;\\r\\n color: #fff;\\r\\n top: 12px;\\r\\n right: 10px;\\r\\n cursor: pointer;\\r\\n}\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n 0}\\\" stickyHeader=\\\"true\\\" [inputColumns]=\\\"allAppointmentsDisplayedColumns\\\"\\r\\n [inputSource]=\\\"allAppointmentsList\\\" [inputMeta]=\\\"allAppointmentsMeta\\\" (onChange)=\\\"onUpcomingAptPageOrSortChange($event)\\\">\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","\r\nimport { Component, Inject, Input, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport * as format from 'date-fns/format';\r\nimport { Metadata, ResponseModel } from 'src/app/platform/modules/core/modals/common-model';\r\nimport { CommonService } from 'src/app/platform/modules/core/services/common.service';\r\n\r\nimport { AppointmentGraphService } from '../appointment-graph/appointment-graph.service';\r\n//import { Metadata } from '../client-profile.model';\r\n\r\n@Component({\r\n selector: 'appurgentcarelistingdialog',\r\n templateUrl: './urgentcarelisting-dialog.component.html',\r\n styleUrls: ['./urgentcarelisting-dialog.component.css']\r\n})\r\nexport class UrgentCareListingdialogComponent implements OnInit {\r\n upcomingAptfilterModel: any;\r\n allAppointmentsMeta: Metadata;\r\n headerText: string = \"UrgentCare Appointments\";\r\n allAppointmentsList: Array = [];\r\n allAppointmentsDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n class: \"\",\r\n width: \"150px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n class: \"\",\r\n width: \"150px\",\r\n type: \"link\",\r\n //url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n // {\r\n // displayName: \"Appt. Type\",\r\n // key: \"appointmentType\",\r\n // width: \"130px\"\r\n // },\r\n // {\r\n // displayName: \"Appt. Mode\",\r\n // key: \"appointmentMode\",\r\n // width: \"130px\"\r\n // },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"300px\",\r\n type: \"link\",\r\n //url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"210px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n // {\r\n // displayName: \"Rating\",\r\n // key: \"rating\",\r\n // width: \"110px\",\r\n // type: \"rating\"\r\n // },\r\n // {\r\n // displayName: \"Review\",\r\n // key: \"review\",\r\n // width: \"150px\",\r\n // type: \"50\"\r\n // },\r\n // { displayName: \"Status\", key: \"statusName\", width: \"80px\" },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"50px\" }\r\n ];\r\n \r\n upcomingAppointmentsActionButtons = [\r\n {\r\n displayName: \"Select\",\r\n key: \"toWaitingRoom\",\r\n class: \"fa fa-arrow-right\"\r\n }\r\n ];\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private dialogModalRef: MatDialogRef, private route: Router, private appointmentGraphService: AppointmentGraphService,private commonService: CommonService) {\r\n \r\n this.allAppointmentsList = this.data.popmodel == null ? [] : this.data.popmodel;\r\n //this.allAppointmentsMeta = this.data.popmeta == null ? [] : this.data.popmeta;\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action); \r\n }\r\n ngOnInit() {\r\n this.getAllPatientAppointmentList();\r\n }\r\n// onUpcomingTableActionClick(actionObj?: any) {\r\n \r\n// switch ((actionObj.action || '').toUpperCase()) {\r\n// case 'TOWAITINGROOM':\r\n// this.closeDialog(\"close\");\r\n// this.route.navigate([`/web/waiting-room/reshedule/${actionObj.data.patientAppointmentId}/`]);\r\n// break;\r\n\r\n\r\n// default:\r\n// break;\r\n// }\r\n// }\r\n\r\n// onUpcomingAptPageOrSortChange(event: any) {\r\n\r\n// }\r\n\r\n// setUpcomingPaginatorModel(\r\n// pageNumber: number,\r\n// pageSize: number,\r\n// sortColumn: string,\r\n// sortOrder: string\r\n// ) {\r\n// this.upcomingAptfilterModel.pageNumber = pageNumber;\r\n// this.upcomingAptfilterModel.pageSize = pageSize;\r\n// this.upcomingAptfilterModel.sortOrder = sortOrder;\r\n// this.upcomingAptfilterModel.sortColumn = sortColumn;\r\n// }\r\ngetAllPatientAppointmentList(pageNumber: number = 1, pageSize: number = 5) {\r\n const filters = {\r\n // locationIds: this.currentLocationId,\r\n // staffIds: (this.userRoleName || '').toUpperCase() == 'ADMIN' ? \"\" : this.currentLoginUserId,\r\n //fromDate: format(new Date(), \"YYYY-MM-DD\"),\r\n //toDate: format(addDays(new Date(), 720), \"YYYY-MM-DD\"),\r\n // status: 'Approved',\r\n pageNumber,\r\n pageSize\r\n };\r\n this.appointmentGraphService\r\n .getUrgentcareAppointmentList(filters)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n\r\n this.allAppointmentsList =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.allAppointmentsList = (this.allAppointmentsList || []).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n // console.log(this.allAppointmentsList)\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, 'DD/MM/YYYY')\r\n });\r\n x.dateTimeOfService =\r\n format(x.startDateTime, 'DD/MM/YYYY') +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n return x;\r\n });\r\n this.allAppointmentsMeta = response.meta;\r\n }\r\n this.allAppointmentsMeta.pageSizeOptions = [5,10,25,50,100];\r\n });\r\n }\r\n\r\n onUpcomingAptPageOrSortChange(changeState?: any) {\r\n //////;\r\n // this.setUpcomingPaginatorModel(\r\n // changeState.pageNumber,\r\n // changeState.pageSize,\r\n // changeState.sort,\r\n // changeState.order\r\n // );\r\n this.getAllPatientAppointmentList(changeState.pageNumber, changeState.pageSize);\r\n }\r\n// setUpcomingPaginatorModel(\r\n// pageNumber: number,\r\n// pageSize: number,\r\n// sortColumn: string,\r\n// sortOrder: string\r\n// ) {\r\n// //////;\r\n// this.upcomingAptfilterModel.pageNumber = pageNumber;\r\n// this.upcomingAptfilterModel.pageSize = pageSize;\r\n// this.upcomingAptfilterModel.sortOrder = sortOrder;\r\n// this.upcomingAptfilterModel.sortColumn = sortColumn;\r\n// }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n

{{'Bank Details'|translate}}

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ \\\"Please Enter Account Holder Name\\\" | translate }}\\r\\n \\r\\n \\r\\n {{\\r\\n formControls.accountHolderName.value\\r\\n }}' {{\\\"not valid, allowed only alphanumeric characters.\\\"|translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\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, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { ProviderPaymentTransactionComponentInput } from '../../models';\r\nimport { AddUpdateUserBankDetailsModal } from '../../models/callModel';\r\nimport { SharedService } from '../../shared.service';\r\n\r\n@Component({\r\n selector: 'app-add-update-bank-details',\r\n templateUrl: './add-update-bank-details.component.html',\r\n styleUrls: ['./add-update-bank-details.component.css']\r\n})\r\nexport class AddUpdateBankDetailsComponent implements OnInit {\r\n\r\n UserBankDetailsForm: FormGroup = new FormGroup({\r\n userBankDetailsId: new FormControl(0),\r\n userId: new FormControl(),\r\n accountHolderName: new FormControl(\"\", Validators.required),\r\n accountId: new FormControl(\"\", Validators.required),\r\n bankIdBIC: new FormControl(\"\", Validators.required),\r\n })\r\n get formControls() {\r\n return this.UserBankDetailsForm.controls\r\n }\r\n constructor(\r\n private _dialogModal: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public InputData: AddUpdateUserBankDetailsModal,\r\n private _sharedService: SharedService,\r\n private _notifier: NotifierService) { }\r\n\r\n ngOnInit() {\r\n this.UserBankDetailsForm.controls.userId.setValue(this.InputData.userId)\r\n this.UserBankDetailsForm.controls.userBankDetailsId.setValue(this.InputData.userBankDetailsId)\r\n this.UserBankDetailsForm.controls.accountId.setValue(this.InputData.accountId)\r\n this.UserBankDetailsForm.controls.accountHolderName.setValue(this.InputData.accountHolderName)\r\n this.UserBankDetailsForm.controls.bankIdBIC.setValue(this.InputData.bankIdBIC)\r\n //this.AddBankDetails()\r\n }\r\n AddBankDetails() {\r\n if (this.UserBankDetailsForm.invalid){\r\n return\r\n }\r\n this._sharedService.AddUpdateUserBankDetails(this.UserBankDetailsForm.value).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.closeDialog('Save')\r\n }else{\r\n this._notifier.notify(\"warning\",res.message)\r\n }\r\n })\r\n }\r\n closeDialog(data: any) {\r\n this._dialogModal.close(data)\r\n }\r\n\r\n}\r\n","module.exports = \"@media screen and (max-width:575px) {\\r\\n h5 {\\r\\n font-size: 17px;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
{{'Bank Details'|translate}}
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { Metadata } from 'src/app/super-admin-portal/core/modals/common-model';\r\nimport { AddUpdateUserBankDetailsModal, GetAllUserBankDetails, GetUserDetailsRequest } from '../models/callModel';\r\nimport { SharedService } from '../shared.service';\r\nimport { AddUpdateBankDetailsComponent } from './add-update-bank-details/add-update-bank-details.component';\r\n\r\n@Component({\r\n selector: 'app-user-bank-details',\r\n templateUrl: './user-bank-details.component.html',\r\n styleUrls: ['./user-bank-details.component.css']\r\n})\r\nexport class UserBankDetailsComponent implements OnInit {\r\n @Input() staffId: any = 0\r\n @Input() clientId: any = 0\r\n UserId: any\r\n filterModel: GetAllUserBankDetails = new GetAllUserBankDetails()\r\n displayedColumns: Array = [\r\n { displayName: \"Account Holder Name\", key: \"accountHolderName\", class: \"\", isSort: false, },\r\n { displayName: \"AccountId\", key: \"accountId\", class: \"\", isSort: false, },\r\n { displayName: \"BankIdBIC\", key: \"bankIdBIC\", class: \"\", isSort: false, },\r\n { displayName: \"Is DefultBank\", key: \"isDefualtBank\", class: \"\", width: \"45%\", type: 'togglespan', action: 'TOGGLE', permission: true },\r\n { displayName: \"actions\", key: \"Actions\", class: \"\", width: \"15%\", }\r\n ];\r\n metaData: any;\r\n payments: Array = [];\r\n actionButtons = [\r\n { displayName: \"Edit\", key: \"Edit\", class: \"fa fa-edit\" },\r\n // { displayName: \"View\", key: \"view\", class: \"fa fa-eye\" },\r\n { displayName: \"Delete\", key: \"delete\", class: \"fa fa-trash\" },\r\n ];\r\n\r\n constructor(private _sharedService: SharedService,\r\n private _dialogModal: MatDialog, private _notification: NotifierService) { }\r\n\r\n ngOnInit() {\r\n var data = new GetUserDetailsRequest()\r\n if (this.staffId) {\r\n data.StaffId = this.staffId\r\n } \r\n if (this.clientId) {\r\n data.PatientId = this.clientId\r\n }\r\n\r\n this._sharedService.GetUserDetails(data).subscribe(res => {\r\n console.log(res);\r\n if (res.statusCode == 200) {\r\n this.UserId = res.data.userId\r\n this.getAllBankDetails(this.UserId)\r\n }\r\n })\r\n }\r\n\r\n getAllBankDetails(UserId: any) {\r\n this.filterModel.UserId = UserId\r\n this._sharedService.GetAllUserBankDetails(this.filterModel).subscribe(response => {\r\n if (response != null && response.statusCode == 200) {\r\n this.metaData = response.meta\r\n this.payments = response.data;\r\n } else {\r\n this.payments = [];\r\n this.metaData = new Metadata();\r\n }\r\n this.metaData.pageSizeOptions = [5, 10, 25, 50, 100];\r\n })\r\n }\r\n\r\n onPageOrSortChange(changeState?: any) {\r\n this.setPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getAllBankDetails(this.filterModel);\r\n }\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n }\r\n onTableActionClick(actionObj?: any) {\r\n if (typeof (actionObj.action || \"\") === typeof (\"\")) {\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"EDIT\":\r\n this.AddBank(actionObj.data)\r\n\r\n break;\r\n case \"DELETE\":\r\n if (!actionObj.data.isDefualtBank) {\r\n this._sharedService.DeleteBank(actionObj.data.userBankDetailsId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.getAllBankDetails(this.UserId)\r\n this._notification.notify(\"success\", res.message)\r\n } else {\r\n this._notification.notify(\"warning\", res.message)\r\n }\r\n })\r\n }\r\n else {\r\n this._notification.notify(\"warning\", \"Default Bank can not be deleted\")\r\n }\r\n break\r\n\r\n case \"TOGGLE\":\r\n // console.log(actionObj.data.isActive);\r\n if (actionObj.state == true) {\r\n this._sharedService.ChangeDefultBank(actionObj.data.userBankDetailsId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.getAllBankDetails(this.UserId)\r\n this._notification.notify(\"success\", res.message)\r\n }\r\n });\r\n }\r\n else {\r\n this._notification.notify(\"warning\", \"At list one bank should be set to default\")\r\n this.getAllBankDetails(this.UserId)\r\n }\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n }\r\n\r\n AddBank(UserBankDetails: any = undefined) {\r\n var data: AddUpdateUserBankDetailsModal = new AddUpdateUserBankDetailsModal()\r\n if (UserBankDetails == undefined) {\r\n data = {\r\n userId: this.UserId,\r\n userBankDetailsId: 0,\r\n accountHolderName: \"\",\r\n accountId: \"\",\r\n bankIdBIC: \"\",\r\n IsViewOnly:false\r\n }\r\n } else {\r\n data = {\r\n userId: this.UserId,\r\n userBankDetailsId: UserBankDetails.userBankDetailsId,\r\n accountHolderName: UserBankDetails.accountHolderName,\r\n accountId: UserBankDetails.accountId,\r\n bankIdBIC: UserBankDetails.bankIdBIC,\r\n IsViewOnly:false\r\n }\r\n }\r\n var modal = this._dialogModal.open(AddUpdateBankDetailsComponent, {\r\n // hasBackdrop: true,\r\n width: \"70%\",\r\n data: data,\r\n });\r\n modal.afterClosed().subscribe((result: string) => {\r\n if (result === \"Save\") {\r\n this.getAllBankDetails(this.UserId)\r\n }\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \".dash-table {\\r\\n background-color: white;\\r\\n border-radius: 0 0 10px 10px;\\r\\n box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.2);\\r\\n}\"","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { AddNewCallerService } from '../add-new-caller/add-new-caller.service';\r\n\r\nimport { FilterModel } from 'src/app/super-admin-portal/core/modals/common-model';\r\nimport { format } from 'date-fns';\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-video-call-invitation-shared',\r\n templateUrl: './video-call-invitation-shared.component.html',\r\n styleUrls: ['./video-call-invitation-shared.component.css']\r\n})\r\nexport class VideoCallInvitationSharedComponent implements OnInit {\r\n\r\n\r\n @Input() appointmentId: number = 0;\r\n @Input() encryptedPatientId;\r\n metaData: any;\r\n invitedAptfilterModel: FilterModel;\r\n\r\n invitedDisplayedColumns = [\r\n {\r\n displayName: \"provider\",\r\n key: \"staffName\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"patient\",\r\n key: \"fullName\",\r\n type: \"link\",\r\n // url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"Invitation Receiver\",\r\n key: \"inviteReceiverName\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"Invitation Email\",\r\n key: \"inviteReceiverEmail\",\r\n sticky: true,\r\n },\r\n {\r\n displayName: \"appointment_type\",\r\n key: \"appointmentType\",\r\n },\r\n {\r\n displayName: \"appointment_mode\",\r\n key: \"appointmentMode\",\r\n },\r\n {\r\n displayName: \"date_time\",\r\n key: \"dateTimeOfService\",\r\n type: \"link\",\r\n // url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\",\r\n },\r\n // {\r\n // displayName: \"Symptom/Ailment\",\r\n // key: \"notes\",\r\n // type: \"50\",\r\n // isInfo: true,\r\n // },\r\n // {\r\n // displayName: \"Actions\",\r\n // key: \"Actions\",\r\n // sticky: true,\r\n // },\r\n ];\r\n invitedPatientAppointment: any;\r\n invitedAppointmentMeta: any;\r\n patientId: any;\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private addNewCallerService: AddNewCallerService,\r\n private commonService: CommonService\r\n ) {\r\n this.invitedAppointmentMeta = null;\r\n this.invitedAptfilterModel = new FilterModel();\r\n }\r\n\r\n\r\n ngOnInit() {\r\n \r\n if (this.encryptedPatientId == undefined) {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get(\"id\");\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.patientId =\r\n params.id == undefined\r\n ? this.commonService.encryptValue(apptId, false)\r\n : this.commonService.encryptValue(params.id, false);\r\n });\r\n } else {\r\n this.patientId = this.commonService.encryptValue(\r\n this.encryptedPatientId,\r\n false\r\n );\r\n }\r\n this.getInvitedPatientAppointmentList();\r\n }\r\n\r\n getInvitedPatientAppointmentList() {\r\n\r\n let sendData = {\r\n pageNumber: this.invitedAptfilterModel.pageNumber,\r\n pageSize: this.invitedAptfilterModel.pageSize,\r\n sortColumn: this.invitedAptfilterModel.sortColumn,\r\n sortOrder: this.invitedAptfilterModel.sortOrder,\r\n searchText: this.invitedAptfilterModel.searchText,\r\n patientId:parseInt(this.patientId) ,\r\n };\r\n\r\n this.addNewCallerService\r\n .getInvitedMemberList(sendData)\r\n .subscribe((response: any) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedPatientAppointment = (\r\n this.invitedPatientAppointment || []\r\n ).map((x) => {\r\n x.dateTimeOfService =\r\n format(x.startDateTime, 'DD/MM/YYYY') +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n return x;\r\n });\r\n this.invitedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedPatientAppointment = [];\r\n this.invitedAppointmentMeta = null;\r\n }\r\n this.invitedAppointmentMeta.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n\r\n onPendingInvitationPageOrSortChange(changeState?: any) {\r\n this.setInvitePendingPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getInvitedPatientAppointmentList();\r\n }\r\n setInvitePendingPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.invitedAptfilterModel.pageNumber = pageNumber;\r\n this.invitedAptfilterModel.pageSize = pageSize;\r\n this.invitedAptfilterModel.sortOrder = sortOrder;\r\n this.invitedAptfilterModel.sortColumn = sortColumn;\r\n }\r\n\r\n onPendingInvitationTableActionClick=(actObj)=>{\r\n // console.log(actObj);\r\n \r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport RecordRTC from 'recordrtc';\r\nimport * as moment from \"moment\"\r\n\r\ninterface RecordedAudioOutput {\r\n blob: Blob;\r\n title: string;\r\n}\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AudioRecordingService {\r\n\r\n private stream;\r\n private recorder;\r\n private interval;\r\n private startTime;\r\n private _recorded = new Subject();\r\n private _recordingTime = new Subject();\r\n private _recordingFailed = new Subject();\r\n constructor() { }\r\n\r\n\r\n getRecordedBlob(): Observable {\r\n return this._recorded.asObservable();\r\n }\r\n\r\n getRecordedTime(): Observable {\r\n return this._recordingTime.asObservable();\r\n }\r\n\r\n recordingFailed(): Observable {\r\n return this._recordingFailed.asObservable();\r\n }\r\n\r\n\r\n startRecording() {\r\n if (this.recorder) {\r\n return;\r\n }\r\n\r\n this._recordingTime.next('00:00');\r\n navigator.mediaDevices.getUserMedia({ audio: true })\r\n .then(s => {\r\n this.stream = s;\r\n this.record();\r\n }).catch(error => {\r\n this._recordingFailed.next();\r\n });\r\n\r\n }\r\n\r\n abortRecording() {\r\n this.stopMedia();\r\n }\r\n\r\n private record() {\r\n\r\n this.recorder = new RecordRTC.StereoAudioRecorder(this.stream, {\r\n type: 'audio',\r\n mimeType: 'audio/mp3'\r\n });\r\n\r\n this.recorder.record();\r\n this.startTime = moment();\r\n this.interval = setInterval(\r\n () => {\r\n const currentTime = moment();\r\n const diffTime = moment.duration(currentTime.diff(this.startTime));\r\n const time = this.toString(diffTime.minutes()) + ':' + this.toString(diffTime.seconds());\r\n this._recordingTime.next(time);\r\n },\r\n 5000\r\n );\r\n }\r\n\r\n private toString(value) {\r\n let val = value;\r\n if (!value) {\r\n val = '00';\r\n }\r\n if (value <= 5) {\r\n val = '0' + value;\r\n }\r\n return val;\r\n }\r\n\r\n stopRecording() {\r\n if (this.recorder) {\r\n this.recorder.stop((blob) => {\r\n if (this.startTime) {\r\n const mp3Name = encodeURIComponent('audio_' + new Date().getTime() + '.mp3');\r\n this.stopMedia();\r\n this._recorded.next({ blob: blob, title: mp3Name });\r\n }\r\n }, () => {\r\n this.stopMedia();\r\n this._recordingFailed.next();\r\n });\r\n }\r\n }\r\n\r\n private stopMedia() {\r\n if (this.recorder) {\r\n this.recorder = null;\r\n clearInterval(this.interval);\r\n this.startTime = null;\r\n if (this.stream) {\r\n this.stream.getAudioTracks().forEach(track => track.stop());\r\n this.stream = null;\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

{{'Please verify video settings before continuing'|translate}}

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

{{'Before conducting a video'|translate}}

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","module.exports = \".schedule-modal {\\n padding: 24px; }\\n\\n.schedule-modal .mat-dialog-content {\\n margin-bottom: 10px; }\\n\\n.schedule-modal .mat-dialog-actions,\\n.schedule-modal .mat-dialog-content {\\n margin-left: -24px !important;\\n margin-right: -24px !important; }\\n\\n.mat-dialog-actions {\\n padding: 18px 24px 0 !important; }\\n\\n.btn {\\n border: 1px solid #FE7F2D;\\n padding: 5px 15px;\\n text-transform: uppercase;\\n border-radius: 2px;\\n color: #fff;\\n background-color: #FE7F2D;\\n margin-bottom: 1rem;\\n float: right; }\\n\\n.dialog_head h4 {\\n font-weight: 500;\\n font-size: 20px; }\\n\\n@media screen and (max-width: 575px) {\\n .dialog_head h4 {\\n font-size: 16px; }\\n p {\\n font-size: 13px; } }\\n\"","\r\nimport { ChangeDetectorRef, Component, ElementRef, Inject, OnInit, Optional, PLATFORM_ID, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { AudioRecordingService } from './audio-recording.service';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n\r\ndeclare var MediaRecorder: any;\r\n\r\n@Component({\r\n selector: 'app-video-consultation-test-modal',\r\n templateUrl: './video-consultation-test-modal.component.html',\r\n styleUrls: ['./video-consultation-test-modal.component.scss']\r\n})\r\nexport class VideoConsultationTestModalComponent implements OnInit {\r\n @ViewChild('videoElement') videoElement: ElementRef;\r\n @ViewChild('audioElement') audioElement: ElementRef;\r\n @ViewChild('all_pids') pids: ElementRef;\r\n constraints: any;\r\n audioInputSelect: any;\r\n audioOutputSelect: any;\r\n videoSelect: any;\r\n selectors: any;\r\n window: any;\r\n isCameraInit: boolean = false;\r\n videoTrack: any;\r\n decibals: number = 0;\r\n isAudioInit: boolean = false;\r\n audioTrack: any;\r\n meter: any;\r\n mediaRecorder: any;\r\n chunks = [];\r\n audioFiles = [];\r\n isAudioRecording: boolean = false;\r\n audioRecordedTime: any;\r\n audioBlob: any;\r\n audioName: any;\r\n audioBlobUrl: any;\r\n isVideoError: boolean = false;\r\n audioConf = { audio: true }\r\n constructor(@Optional() @Inject(MAT_DIALOG_DATA) public data: any, @Inject(PLATFORM_ID) private _platform: Object,\r\n public notifier: NotifierService, public dialogPopup: MatDialogRef, private ref: ChangeDetectorRef, private sanitizer: DomSanitizer,\r\n private audioRecordingService: AudioRecordingService, private translate: TranslateService\r\n ) {\r\n translate.setDefaultLang(localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n }\r\n\r\n //videoElement:any;\r\n ngOnInit() {\r\n\r\n this.audioRecordingService.recordingFailed().subscribe(() => {\r\n this.isAudioRecording = false;\r\n this.notifier.notify(\"error\", \"Audio does not work\")\r\n this.ref.detectChanges();\r\n });\r\n\r\n this.audioRecordingService.getRecordedTime().subscribe((time) => {\r\n this.audioRecordedTime = time;\r\n this.ref.detectChanges();\r\n });\r\n\r\n this.audioRecordingService.getRecordedBlob().subscribe((data) => {\r\n this.audioBlob = data.blob;\r\n this.audioName = data.title;\r\n this.audioBlobUrl = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(data.blob));\r\n this.ref.detectChanges();\r\n });\r\n }\r\n\r\n\r\n\r\n handleError(error: any) {\r\n\r\n this.notifier.notify(\"error\", error)\r\n }\r\n\r\n playWithSound() {\r\n this.initCamera({ video: true, audio: true })\r\n }\r\n\r\n initCamera(config: any) {\r\n var browser = navigator;\r\n browser.getUserMedia = (browser.getUserMedia ||\r\n browser.webkitGetUserMedia || browser.mozGetUserMedia\r\n || browser.msGetUserMedia);\r\n //this.isCameraInit = true;\r\n browser.mediaDevices.getUserMedia(config).then(stream => {\r\n this.isCameraInit = true;\r\n if (config.audio) {\r\n this.videoTrack.forEach(function (tracks) {\r\n tracks.stop();\r\n });\r\n }\r\n this.videoElement.nativeElement.srcObject = stream;\r\n this.videoElement.nativeElement.play();\r\n this.videoTrack = stream.getTracks();\r\n\r\n }).catch(error => {\r\n this.isVideoError = true\r\n this.handleError(\"Video does not work\")\r\n });\r\n\r\n }\r\n\r\n stopVideo() {\r\n this.videoTrack.forEach(function (tracks) {\r\n tracks.stop();\r\n });\r\n this.videoElement.nativeElement.srcObject = null;\r\n this.isCameraInit = false;\r\n }\r\n\r\n initaudio(config: any) {\r\n if (this.isCameraInit) {\r\n this.stopVideo();\r\n }\r\n var browser = navigator;\r\n browser.getUserMedia = (browser.getUserMedia ||\r\n browser.webkitGetUserMedia || browser.mozGetUserMedia\r\n || browser.msGetUserMedia);\r\n\r\n browser.mediaDevices.getUserMedia(config).then(stream => {\r\n this.isAudioInit = true;\r\n this.audioElement.nativeElement.srcObject = stream;\r\n this.audioElement.nativeElement.play();\r\n this.audioTrack = stream.getTracks();\r\n }).catch(error => {\r\n this.handleError(\"Audio does not work\")\r\n });\r\n }\r\n\r\n\r\n stopAudio() {\r\n this.audioTrack.forEach(function (tracks) {\r\n tracks.stop();\r\n });\r\n this.audioElement.nativeElement.srcObject = null;\r\n this.isAudioInit = false;\r\n }\r\n\r\n handleClick(value: any) {\r\n\r\n switch (value.toLowerCase()) {\r\n case 'videotest':\r\n //this.dialogPopup.close(value);\r\n this.isAudioInit = false;\r\n this.initCamera({ video: true })\r\n break;\r\n\r\n case 'audiotest':\r\n // this.initaudio({ audio: true })\r\n this.isAudioInit = true;\r\n this.isVideoError = false;\r\n break;\r\n\r\n case 'microphonetest':\r\n this.dialogPopup.close(value);\r\n break;\r\n\r\n default:\r\n this.dialogPopup.close(value);\r\n break;\r\n }\r\n }\r\n\r\n pauseVideo() {\r\n this.videoElement.nativeElement.pause();\r\n }\r\n\r\n resumeVideo() {\r\n this.videoElement.nativeElement.play();\r\n }\r\n\r\n continue() {\r\n if (this.isCameraInit) {\r\n this.stopVideo()\r\n }\r\n else if (this.isAudioRecording) {\r\n //this.stopAudio();\r\n this.abortAudioRecording()\r\n }\r\n else if (this.isCameraInit && this.isAudioRecording) {\r\n //this.stopAudio();\r\n this.abortAudioRecording()\r\n this.stopVideo();\r\n }\r\n this.dialogPopup.close();\r\n }\r\n\r\n\r\n startAudioRecording() {\r\n\r\n if (!this.isAudioRecording) {\r\n this.isAudioRecording = true;\r\n this.audioRecordingService.startRecording();\r\n }\r\n }\r\n\r\n abortAudioRecording() {\r\n if (this.isAudioRecording) {\r\n this.isAudioRecording = false;\r\n this.audioRecordingService.abortRecording();\r\n }\r\n }\r\n\r\n stopAudioRecording() {\r\n if (this.isAudioRecording) {\r\n this.audioRecordingService.stopRecording();\r\n this.isAudioRecording = false;\r\n }\r\n }\r\n\r\n clearAudioRecordedData() {\r\n this.isAudioInit = false;\r\n this.audioBlobUrl = null;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.abortAudioRecording();\r\n }\r\n\r\n}\r\n","module.exports = \".mailwrap {\\r\\n height: 100%;\\r\\n}\\r\\n.mailwrap .hgt100{\\r\\n padding-top: 0 !important;\\r\\n}\\r\\n.mailcover {\\r\\n display: flex!important;\\r\\n height: 100%;\\r\\n /* overflow: hidden; */\\r\\n}\\r\\n.ng-scrollbar-view{\\r\\n overflow: auto !important;\\r\\n}\\r\\n.leftmailbox {\\r\\n /* position: absolute; */\\r\\n background-color: #fff;\\r\\n width: 200px;\\r\\n z-index: 2;\\r\\n /* height: calc(100% + 15px); */\\r\\n padding: 0;\\r\\n box-shadow: 0px 1px 10px -5px rgba(0,0,0,.2);\\r\\n -webkit-box-shadow: 0px 1px 10px -5px rgba(0,0,0,.2);\\r\\n transition: all .2s ease;\\r\\n -webkit-transition: all .2s ease;\\r\\n}\\r\\n.fa-trash-o{\\r\\n color:#dc3545 !important;\\r\\n}\\r\\n.leftmailbox .composebtn {\\r\\n width: 100%;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n background-color: #666;\\r\\n border-bottom: 2px solid rgba(0, 0, 0, .1);\\r\\n}\\r\\n.leftmailbox .composebtn button {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n color: rgba(0, 0, 0, .5);\\r\\n border: 0;\\r\\n cursor: pointer;\\r\\n background-color: transparent;\\r\\n width: 100%;\\r\\n /* padding: 0 10px; */\\r\\n text-align: left;\\r\\n}\\r\\n.leftmailbox .composebtn button i{\\r\\nmargin-right: 5px;\\r\\n}\\r\\n.inbox_label ul {\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n text-align: left;\\r\\n}\\r\\n.inbox_label ul li {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n list-style: none;\\r\\n display: block;\\r\\n}\\r\\n.inbox_label ul li a {\\r\\n display: block;\\r\\n font-size: 15px;\\r\\n font-weight: 500;\\r\\n color: rgba(0,0,0,.6);\\r\\n margin: 10px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.inbox_label ul li.active a, .inbox_label ul li a:hover {\\r\\n color: #17a2b8;\\r\\n}\\r\\n.inbox_label ul li i {\\r\\n padding-right: 10px;\\r\\n}\\r\\n.inbox_label ul li.active span {\\r\\n display: inline;\\r\\n}\\r\\n.mail-text-blk{\\r\\n background-color: #fff;\\r\\n border: 1px solid #efefef;\\r\\n}\\r\\n.mail-text-blk .mailhead{\\r\\n padding:10px;\\r\\n background: #01385f;\\r\\n color: #fff;\\r\\n}\\r\\n.mailwrap {\\r\\n /* padding-left: 180px; */\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n.actionsbtns button.mat-raised-button {\\r\\n min-width: 20px;\\r\\n border-right: 1px solid #efefef;\\r\\n border-radius: 0px !important;\\r\\n margin: 0;\\r\\n}\\r\\n.actionsbtns {\\r\\n max-width: 170px;\\r\\n display: flex;\\r\\n}\\r\\n.maillist {\\r\\n padding: 0!important;\\r\\n float: left;\\r\\n border-right: 1px solid #ddd;\\r\\n border-left: 1px solid #ddd;\\r\\n height: 80vh;\\r\\n overflow: auto;\\r\\n}\\r\\n.allmails_head, .maillist_control {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n}\\r\\n.allmails_head {\\r\\n padding: 10px 15px;\\r\\n background-color: #f4f4f4;\\r\\n width: 100%;\\r\\n border: 1px solid #ddd;\\r\\n border-right: 0;\\r\\n}\\r\\n.allmails_head-rigth button {\\r\\n background-color: transparent;\\r\\n padding: 0px;\\r\\n border: 0px;\\r\\n height: 24px; \\r\\n line-height: 0;\\r\\n}\\r\\n.maillist_control {\\r\\n padding: 10px 15px;\\r\\n background-color: #fafafa;\\r\\n border-bottom: 1px solid #ddd;\\r\\n align-items: center;\\r\\n}\\r\\n.mail_noti {\\r\\n width: 100%;\\r\\n min-height: 72px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n /* border-right: 1px solid #ddd; */\\r\\n padding: 10px 15px;\\r\\n background-color: #fafafa;\\r\\n position: relative;\\r\\n}\\r\\n.mail_noti.readmail {\\r\\n background: #fff;\\r\\n}\\r\\n.check_fav_imp {\\r\\n padding-right: 20px;\\r\\n}\\r\\n.check_fav_imp i {\\r\\n cursor: pointer;\\r\\n font-size: 18px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n.maillist .mat-checkbox-inner-container {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n.mailitem .mailimg {\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 50%;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n overflow: hidden;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n}\\r\\n.mailitem {\\r\\n padding-left: 60px;\\r\\n position: relative;\\r\\n padding-right: 10px;\\r\\n}\\r\\n.mailitem h3 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n color: rgba(0,0,0,.8);\\r\\n margin: 5px 0 0;\\r\\n cursor: pointer;\\r\\n}\\r\\n.mail_noti.readmail h3, .mail_noti.readmail p {\\r\\n font-weight: 500;\\r\\n}\\r\\n.mailitem p {\\r\\n font-size: 13px;\\r\\n line-height: 15px;\\r\\n font-weight: 500;\\r\\n color: rgba(0,0,0,.5);\\r\\n margin: 5px 0 0;\\r\\n}\\r\\n.mail_noti span {\\r\\n font-size: 11px;\\r\\n font-weight: 600;\\r\\n color: rgba(0,0,0,.4);\\r\\n}\\r\\n.actionsbtns button {\\r\\n margin: 0 0 0 15px;\\r\\n color: rgba(0,0,0,.6);\\r\\n cursor: pointer;\\r\\n}\\r\\n.actionsbtns button, .quickdetail {\\r\\n background-color: transparent;\\r\\n border: 0;\\r\\n padding: 0;\\r\\n}\\r\\n.mail_content {\\r\\n width: 100%;\\r\\n height: 200px;\\r\\n margin: 10px 0 0;\\r\\n padding-top: 10px;\\r\\n display: inline-block;\\r\\n font-size: 14px;\\r\\n}\\r\\n.email-reply p {\\r\\n margin: 0;\\r\\n font-size: 13px;\\r\\n}\\r\\n/*No message*/\\r\\n.no-msg{padding:15px;\\r\\n text-align: center !important;\\r\\n font-size: 16px;\\r\\n color: rgba(0, 0, 0, 0.40);\\r\\n font-weight: 500;\\r\\n}\\r\\n.blank-cover {\\r\\n margin: 0px;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n.blank-cover i {\\r\\n font-size: 80px;\\r\\n color: rgba(0, 0, 0, 0.10);\\r\\n}\\r\\n.blank-cover span {\\r\\n margin-top: 5px;\\r\\n font-size: 20px;\\r\\n line-height: 25px;\\r\\n color: rgba(0, 0, 0, 0.40);\\r\\n}\\r\\n/*Mail Open*/\\r\\n.mailhead {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n padding: 10px 0px;\\r\\n\\r\\n}\\r\\n.mailsubject p {\\r\\n margin: 0px;\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n display: block;\\r\\n line-height: 25px;\\r\\n}\\r\\n.mailsubject ul{padding: 0px; margin: 0px;\\r\\n list-style: none;\\r\\n float: left; text-align: center;}\\r\\n.mailsubject ul li{padding:3px 5px; margin: 0px 10px 0px 0px;font-size: 12px; display: inline; background-color: rgba(9, 169, 220, 0.30); }\\r\\n.mailsubject ul li i{cursor: pointer; color: rgba(0, 0, 0, 0.30); margin-left: 10px;}\\r\\n.mailbox_detail{padding:5px 0px;\\r\\n float: left;\\r\\n width:100%;\\r\\n border-top: 1px solid #ddd;\\r\\n border-bottom: 1px solid #ddd;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n cursor: pointer;\\r\\n}\\r\\n.mailperson {\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 50%;\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n overflow: hidden;\\r\\n float: left;\\r\\n margin-right: 10px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n.personname {\\r\\n float: left;\\r\\n font-size: 13px;\\r\\n}\\r\\n.personname h4 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n line-height:16px;\\r\\n margin: 0px 0px 2px;\\r\\n}\\r\\n.personhide_detail p {\\r\\n margin: 0px;\\r\\n font-size: 13px;\\r\\n line-height: 20px;\\r\\n display: block;\\r\\n}\\r\\n.personhide_detail span {\\r\\n font-weight: 500;\\r\\n}\\r\\n.quickdetail {\\r\\n margin: 0px;\\r\\n font-size: 12px;\\r\\n color: #01385f;\\r\\n}\\r\\n.mail_content{width:100%; height: 200px; margin: 10px 0px 0px; padding-top: 10px; display: inline-block; font-size: 14px;}\\r\\n.mail_attach {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n flex-direction: column;\\r\\n font-size: 13px;\\r\\n padding: 20px 0px;\\r\\n border-top: 1px solid #ddd;\\r\\n}\\r\\n.mail_attach .material-icons {\\r\\n font-size: 16px;\\r\\n padding-right: 5px;\\r\\n padding-top: 1px;\\r\\n}\\r\\n.mail_attach a {\\r\\n padding: 0px 5px;\\r\\n color: #01385f;\\r\\n}\\r\\n.email-reply p {\\r\\n margin: 0px;\\r\\n font-size: 13px;\\r\\n color: #757575;\\r\\n}\\r\\n/*Compose mail*/\\r\\n.newmail{width:47.5%; background-color: #fff; position: absolute; z-index: 1;height: 420px;\\r\\n bottom: 10px; right: 0px; box-shadow: 0px 0px 20px 2px #ddd; -webkit-box-shadow: 0px 0px 20px 2px #ddd;}\\r\\n.newmail_head{background-color:#F4F4F4; display: flex; justify-content: space-between; font-size: 14px; color: rgba(0, 0, 0, 0.80);; padding: 10px 15px;}\\r\\n.newmail_head p{margin: 0px;}\\r\\n.newmail_head ul{padding: 0px; margin: 0px; text-align: right;}\\r\\n.newmail_head ul li{margin: 0px; padding: 0px; list-style: none; display: inline-block;}\\r\\n.newmail_head ul li a{display: block; color:rgba(0, 0, 0, 0.40);; padding-left: 10px;}\\r\\n.receipt{display: flex; width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n.select-box{\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n.select-box input{\\r\\n width:84%;\\r\\n}\\r\\n.mailto{color: rgba(0, 0, 0, 0.50); display: block; width:100%; }\\r\\n.mailto label{font-weight: 500; padding-right: 5px; margin: 0px;}\\r\\n.chiplist {\\r\\n margin: 0px 5px 5px 0px !important;\\r\\n border-radius: 0px !important;\\r\\n background-color: #F4F4F4 !important;\\r\\n padding: 0px 5px!important;\\r\\n}\\r\\n.chiplist.mat-chip .mat-chip-remove.mat-icon {\\r\\n font-size: 18px;\\r\\n width: 15px;\\r\\n height: 18px;\\r\\n}\\r\\n.receipt-name > div > div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n.ccbcc a {\\r\\n color: rgba(0, 0, 0, 0.50);\\r\\n padding-left: 10px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.newsubject{\\r\\n padding: 10px 15px !important;\\r\\n border-bottom: 1px solid #ddd;\\r\\n\\r\\n}\\r\\n.newsubject input {\\r\\n font-size: 14px;\\r\\n line-height: 20px;\\r\\n font-weight: 500;\\r\\n border: 0px;\\r\\n width: 100%;\\r\\n}\\r\\n.messagebox{margin:10px 15px 10px;\\r\\n font-size: 14px;\\r\\n border:0px !important;\\r\\n border-radius: 0px !Important; -webkit-border-radius: 0px !Important;\\r\\n font-family: inherit !Important;\\r\\n font-size: 14px !important; position: relative; min-height: 150px;}\\r\\n.msgedit-editor {position: absolute; top: 0px; width: 100%; border:1px solid #ddd; height: 120px; font-size: 13px !important;}\\r\\n.msgedit-editor .public-DraftEditorPlaceholder-root{padding: 0px !important;}\\r\\n.msgedit-editor > div > div > div > div > div{margin: 0px 0px 5px 0px !important;}\\r\\n.attachment_join {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n flex-direction: column;\\r\\n padding: 0px 10px;\\r\\n}\\r\\n.attchmentname {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin: 10px 0px;\\r\\n}\\r\\n.attchmentname span {\\r\\n font-size: 14px;\\r\\n color: #01385f;\\r\\n line-height: 14px;\\r\\n}\\r\\n.attchmentname span small{display: block; color:rgba(0, 0, 0, 0.60);}\\r\\n.attachslider {\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n color: rgba(0, 0, 0, 0.50);\\r\\n font-weight: 500;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n.mailcontrols{display: flex; justify-content: space-between; padding:0px 15px 15px 15px;}\\r\\n.controlbtn {\\r\\n position: absolute;\\r\\n bottom: 0px;\\r\\n padding: 0px !important;\\r\\n margin:0px !important;\\r\\n border: 0px !important;\\r\\n}\\r\\n.controlbtn > div{margin: 0px;}\\r\\n.controlbtn > div button {\\r\\n cursor: pointer;\\r\\n border:0px !important;\\r\\n height: auto !important;\\r\\n line-height: normal!important;\\r\\n padding:0px !important;\\r\\n background: none !important;\\r\\n}\\r\\n.mailsend_btn {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n.mailsend_btn i.fa-trash-o {\\r\\n cursor: pointer;\\r\\n font-size: 25px;\\r\\n padding: 6px 10px;\\r\\n border-radius: 10px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n.mailsend_btn button i.fa {\\r\\n color: #fff;\\r\\n font-size: 18px;\\r\\n}\\r\\n.remove-attach {\\r\\n margin-top: -15px;\\r\\n}\\r\\n.remove-attach i {\\r\\n color: rgba(0, 0, 0, 0.30);\\r\\n padding-left: 10px;\\r\\n font-size: 14px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.attach_btn i.material-icons {\\r\\n font-size: 25px;\\r\\n padding: 6px;\\r\\n border-radius: 10px;\\r\\n /* border: 2px solid #01385f; */\\r\\n color: #01385f;\\r\\n}\\r\\n.attach_btn input[type=file]{\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n bottom: 0px;\\r\\n right: 0px;\\r\\n left: 0px;\\r\\n width: 100%;\\r\\n opacity: 0;\\r\\n}\\r\\n.maileditor{ padding: 10px 15px;}\\r\\n.maileditor .angular-editor-textarea {\\r\\n height: 20vh;\\r\\n}\\r\\n.maileditor .angular-editor-toolbar-set {\\r\\n display: none !important;\\r\\n}\\r\\n.maileditor .angular-editor-toolbar-set:nth-child(2) {\\r\\n display: inline-block !important;\\r\\n margin: 0px !important;\\r\\n border: 0px !important;\\r\\n}\\r\\n.maileditor .angular-editor .angular-editor-toolbar {\\r\\n background-color: transparent;\\r\\n border: 0px;\\r\\n padding: 0px;\\r\\n}\\r\\n.maileditor .angular-editor-toolbar-set button:nth-child(4), .maileditor .angular-editor-toolbar-set button:nth-child(5), .maileditor .angular-editor-toolbar-set button:nth-child(6) {\\r\\n display: none;\\r\\n}\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n@media (max-width: 1199px) { \\r\\n /*mailbox*/\\r\\n\\r\\n.mailwrap{padding-left: 0px;}\\r\\n.mailitem .mailimg{width: 40px; height: 40px;}\\r\\n.mailitem{padding-left: 45px;}\\r\\n\\r\\n.openleftbox .composebtn{text-align: left;}\\r\\n.openleftbox .composebtn{display: flex; justify-content: space-between; align-items: center; padding: 0px 10px;}\\r\\n.composebtn i.material-icons{color: #fff; font-size: 18px;}\\r\\n.collapseleft{width:0px; overflow: hidden;}\\r\\n\\r\\n}\\r\\n@media (max-width: 767px) {\\r\\n/*mailbox*/\\r\\n.mail_noti:last-child{border-bottom: 1px solid #ddd;}\\r\\n.email-reply{padding-bottom: 20px;}\\r\\n.newmail{bottom: inherit; top:0px; width:90%;}\\r\\n.scroll-fix > div {\\r\\n height: 230px !important;\\r\\n}\\r\\n.mail_content{height: 180px;}\\r\\n\\r\\n}\\r\\n@media screen and (max-width:575px) {\\r\\n .mailperson {\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n margin-right: 5px;\\r\\n margin-left: 5px;\\r\\n }\\r\\n .personname h4 {\\r\\n font-size: 12px;\\r\\n }\\r\\n .quickdetail {\\r\\n font-size: 10px;\\r\\n }\\r\\n .mail_content.showCont p {\\r\\n font-size: 13px;\\r\\n }\\r\\n}\\r\\n@media(max-width: 480px) {\\r\\n\\r\\n /*Mailbox*/\\r\\n.newmail {\\r\\n top: 52px;\\r\\n width: 100%;\\r\\n}\\r\\n}\\r\\n.hideCont\\r\\n{\\r\\n display:none;\\r\\n}\\r\\n.showCont\\r\\n{\\r\\n display:inline-block;\\r\\n padding: 10px;\\r\\n}\\r\\n.maillist .ng-scrollbar-view{\\r\\n width: 100% !important;\\r\\n}\\r\\n.search__input {\\r\\n border: black 0;\\r\\n background-color: transparent;\\r\\n margin: 8px;\\r\\n font-size: 16px;\\r\\n }\\r\\n.search__input:focus {\\r\\n outline: 0;\\r\\n }\\r\\n.search__container {\\r\\n width: 100%; \\r\\n text-align:right; \\r\\n background-color:white; \\r\\n color: black;\\r\\n border-radius: 3px;\\r\\n }\\r\\n.mat-chip.chiplist.mat-chip.mat-primary.mat-standard-chip{\\r\\n background-color: #1576d1 !important;\\r\\n color: #fff;\\r\\n padding: 5px 10px !important;\\r\\n border-radius: 20px !important;\\r\\n }\\r\\n.mat-radio-group {\\r\\n display: flex;\\r\\n flex-flow: column nowrap;\\r\\n color: #797979;\\r\\n font-size: 15px;\\r\\n \\r\\n }\\r\\n.mat-radio-group .phone-option {\\r\\n padding-bottom: 1.25em;\\r\\n padding: .4375em 0;\\r\\n border-top: .84375em solid transparent;\\r\\n }\\r\\n.mat-radio-button.mat-accent .mat-radio-inner-circle {\\r\\n background-color: #63d891 !important;\\r\\n}\\r\\n.mat-radio-button{\\r\\n padding: 5px 0 0 5px;\\r\\n}\\r\\n.lineheader {\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin: 0;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n padding: 12px 8px 12px 0px;\\r\\n}\\r\\n.lineheader p {\\r\\n color: #01385f;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n line-height: 15px;\\r\\n margin: 0 !important;\\r\\n padding: 0px;\\r\\n position: relative;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n.lineheader p a {\\r\\n color: #01385f;\\r\\n}\\r\\n.lineheader p a:hover {\\r\\n color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n.lineheader span {\\r\\n font-size: 13px;\\r\\n line-height: 13px;\\r\\n}\\r\\n.lineheader i {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 13px;\\r\\n position: absolute;\\r\\n right: 15px;\\r\\n top: 15px;\\r\\n}\\r\\n.disabled{\\r\\n pointer-events: none !important;\\r\\n cursor: not-allowed !important;\\r\\n opacity: 1 !important;\\r\\n background-color: #dbe1e6 !important;\\r\\n \\r\\n}\\r\\n.mb-120{\\r\\n margin-bottom: 115px;\\r\\n}\\r\\n.blue-clr{\\r\\n color: #01385f;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n background-color: rgba(243, 243, 243, .80);;\\r\\n padding: 9px 7px;\\r\\n}\\r\\n.result-blk label{\\r\\n color: #01385f;\\r\\n font-size: 18px;\\r\\n display: block;\\r\\n}\\r\\n.page_title{\\r\\n font-weight: 500;\\r\\n margin:10px;\\r\\n font-size: 21px;\\r\\n color: #fff;\\r\\n}\\r\\n.mat-autocomplete-panel{\\r\\n max-height: 400px !important;\\r\\n}\\r\\n.screen-text-header h3{\\r\\n font-size: 18px;\\r\\n margin: 20px 0;\\r\\n}\\r\\n.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary{\\r\\n border-radius: 10px;\\r\\n}\\r\\n.result-value{\\r\\n margin-top: 15px;\\r\\n margin-bottom: 70px;\\r\\n}\\r\\n.result-value p{\\r\\n font-size: 16px;\\r\\n line-height: 18px;\\r\\n margin-top:12px;\\r\\n}\\r\\n.radio-label:hover {\\r\\n background-color: #F3F5F7;\\r\\n}\\r\\n.screen-sex label {\\r\\n display: inline-block;\\r\\n width: 132px;\\r\\n margin: 0 10px;\\r\\n font-weight: 500;\\r\\n max-width: 100%;\\r\\n cursor: pointer;\\r\\n}\\r\\n.screen-sex label .placeholder {\\r\\n display: block;\\r\\n padding: 30px 35px 14px 35px;\\r\\n}\\r\\n.screen-sex label.female .placeholder {\\r\\n width: 29px;\\r\\n height: 58px;\\r\\n background-image: url(data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%221.1%22%20viewBox%3D%220%200%2029%2058%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%220%22%20fill%3D%22%23555555%22%20stroke%3D%22%23555555%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M26.55%2032.831l-1.592.438c.595%202.19%201.095%204.211%201.457%205.76.198.85.03%201.748-.462%202.467a3.097%203.097%200%200%201-2.117%201.316c-.742.106-1.622.218-2.604.32.001%201.905-.04%207.404-.53%2010.953-.317%202.306-2.017%203.915-4.13%203.915h-4.143c-2.08%200-3.778-1.603-4.13-3.9-.546-3.552-.553-9.046-.537-10.965a66.883%2066.883%200%200%201-2.62-.323%203.107%203.107%200%200%201-2.11-1.308%203.115%203.115%200%200%201-.472-2.446%20154.47%20154.47%200%200%201%201.43-5.792l-1.596-.58a3.25%203.25%200%200%201-2.067-3.664c.827-4.32%203.238-13.625%208.931-15.957a3.46%203.46%200%200%201-.347-.305c-1.279-1.288-1.263-3.268-1.25-5.013l.003-.498C7.664%203.252%2010.731%200%2014.5%200s6.836%203.252%206.836%207.249c0%20.279.008.565.016.856.045%201.597.096%203.405-1.091%204.625a3.283%203.283%200%200%201-.431.373c5.619%202.406%208.12%2011.652%208.997%2015.956a3.234%203.234%200%200%201-2.276%203.772zm-7.899%2020.971c.452-3.273.506-8.47.509-10.485a64.187%2064.187%200%200%201-3.624.17V55.93h1.035c1.234%200%201.934-1.068%202.08-2.127zm-8.305-.015c.163%201.065.87%202.142%202.083%202.142h1.035V43.488a65.088%2065.088%200%200%201-3.63-.17c-.012%202.008.011%207.203.512%2010.469zm16.451-24.314c-.71-3.491-3.52-14.88-9.811-14.88a1.036%201.036%200%200%201-1.036-1.036v-.722c0-.572.464-1.036%201.036-1.036.856%200%201.459-.173%201.79-.513.576-.593.54-1.879.505-3.122-.008-.311-.017-.618-.017-.915%200-2.807-2.182-5.178-4.764-5.178-2.583%200-4.764%202.371-4.764%205.178l-.003.514c-.01%201.34-.022%202.861.649%203.538.332.335.867.498%201.632.498.572%200%201.036.464%201.036%201.036v.727c0%20.571-.464%201.035-1.036%201.035-6.326%200-8.987%2011.34-9.652%2014.814a1.181%201.181%200%200%200%20.748%201.331l1.437.522c1.056-3.702%202.364-7.632%203.847-10.6a1.036%201.036%200%201%201%201.853.928C7.584%2026.92%205.397%2035.9%204.581%2039.515c-.064.284-.008.573.157.814.164.238.413.392.698.434%202.117.303%205.407.666%209.064.666%203.606%200%206.908-.363%209.044-.667.288-.04.535-.196.699-.435.168-.244.222-.538.154-.827-.83-3.552-3.04-12.409-5.655-17.928a1.036%201.036%200%200%201%201.873-.887c1.438%203.037%202.729%206.94%203.781%2010.59l1.589-.437c.58-.17.936-.759.812-1.365z%22/%3E%3C/svg%3E);\\r\\n background-repeat: no-repeat;\\r\\n border-radius: 0;\\r\\n}\\r\\n.screen-sex label.male .placeholder {\\r\\n width: 28px;\\r\\n height: 58px;\\r\\n background-image: url(data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%221.1%22%20viewBox%3D%220%200%2028%2058%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%220%22%20fill%3D%22%23555555%22%20stroke%3D%22%23555555%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M25.495%2033.559c-.869.929-1.973%201.404-3.272%201.431-.11%2011.19-1.12%2018.452-1.227%2019.185A3.98%203.98%200%200%201%2017%2058h-6a3.979%203.979%200%200%201-3.996-3.823c-.111-.738-1.129-7.86-1.229-19.188-1.219-.028-2.269-.495-3.117-1.406C.142%2030.878.012%2024.8.347%2020.177c.184-2.538%201.686-6.768%209.397-7.888C8.332%2010.981%207.5%209.073%207.5%206.999%207.5%203.14%2010.416%200%2014%200s6.5%203.14%206.5%206.999c0%202.069-.828%203.972-2.234%205.28%207.337%201.028%209.18%204.799%209.387%207.904.47%207.049-.216%2011.299-2.158%2013.376zm.162-13.243c-.247-3.71-3.386-5.805-9.329-6.229a1%201%200%200%201-.928-.997v-.698c0-.37.204-.71.531-.883%201.561-.828%202.569-2.599%202.569-4.51C18.5%204.243%2016.481%202%2014%202S9.5%204.243%209.5%206.999c0%201.911%201.008%203.682%202.569%204.51a.999.999%200%200%201%20.531.883v.702a1%201%200%200%201-.926.997c-4.074.303-8.999%201.63-9.332%206.231-.426%205.887.223%2010.224%201.781%2011.899.465.501.994.741%201.647.768.003-3.456.089-7.24.313-11.344.031-.551.51-.969%201.054-.943.551.03.974.501.943%201.053-1.063%2019.398.889%2032.047.909%2032.172.006.043.01.086.011.129A1.99%201.99%200%200%200%2011%2056h2V34a1%201%200%200%201%202%200v22h2a1.989%201.989%200%200%200%201.999-1.944%201.02%201.02%200%200%201%20.011-.124c.02-.13%201.972-13.186.909-32.176a1%201%200%200%201%201.997-.112c.229%204.081.314%207.872.314%2011.346.736-.026%201.316-.275%201.804-.797%202.255-2.411%201.78-9.536%201.623-11.877z%22/%3E%3C/svg%3E);\\r\\n background-repeat: no-repeat;\\r\\n border-radius: 0;\\r\\n}\\r\\ninput[type=\\\"radio\\\" i] {\\r\\n background-color: initial;\\r\\n cursor: default;\\r\\n -webkit-appearance: auto;\\r\\n -moz-appearance: auto;\\r\\n appearance: auto;\\r\\n border: initial;\\r\\n}\\r\\n.more-load {\\r\\n border: 4px solid #cccccc;\\r\\n border-radius: 50%;\\r\\n border-top: 4px solid #63d891;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n -webkit-animation: spin 1s linear infinite;\\r\\n /* Safari */\\r\\n animation: spin 1s linear infinite;\\r\\n display: inline-block;\\r\\n}\\r\\n/* loader css */\\r\\n.full_loader {\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n right: 0px;\\r\\n top: -6px;\\r\\n background-color: rgba(255, 255, 255, 0.8);\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n z-index: 1001;\\r\\n }\\r\\n.circle_loader {\\r\\n left: 0;\\r\\n right: 0 !important;\\r\\n margin: 0px auto !important;\\r\\n display: block !important;\\r\\n top: 50%;\\r\\n position: fixed !important;\\r\\n text-align: center;\\r\\n }\\r\\n.circle_loader.search_loader {\\r\\n top: 15%;\\r\\n }\\r\\n.top0 {\\r\\n top: 0px;\\r\\n }\\r\\n.circle_loader.page_loader {\\r\\n left: 19%;\\r\\n }\\r\\n.circle_loader.tag_laoder {\\r\\n position: absolute !important;\\r\\n top: 15% !important;\\r\\n }\\r\\n/*select filed*/\\r\\n.cdk-overlay-pane {\\r\\n -webkit-transform: translateX(-0px) !important;\\r\\n transform: translateX(-0px) !important;\\r\\n }\\r\\n/*Fields bottom border*/\\r\\n.mat-form-field-appearance-legacy .mat-form-field-underline {\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n }\\r\\n.mat-select-arrow {\\r\\n color: rgba(0, 0, 0, 0.1);\\r\\n }\\r\\n.mat-datepicker-toggle-default-icon {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n }\\r\\n/*Client list toggle*/\\r\\n.srach-pt[class*=\\\" flaticon-\\\"]:after,\\r\\n .srach-pt[class*=\\\" flaticon-\\\"]:before,\\r\\n .srach-pt[class^=\\\"flaticon-\\\"]:after,\\r\\n .srach-pt[class^=\\\"flaticon-\\\"]:before {\\r\\n line-height: 40px;\\r\\n }\\r\\n.custom-card .mat-card-header{\\r\\n width:100%;\\r\\n background-color:#01385f !important ;\\r\\n }\\r\\n.blue-bg{\\r\\n width:100%;\\r\\n background-color:#01385f !important ;\\r\\n padding: 10px;\\r\\n margin: 0;\\r\\n}\\r\\n.pl-10{\\r\\n padding-left: 10px;\\r\\n}\\r\\n.mat-card label{\\r\\n padding:8px 10px;\\r\\n margin: 0;\\r\\n }\\r\\n.mat-card .result-value label{\\r\\n padding: 0;\\r\\n font-weight: 500;\\r\\n background-color: rgba(243, 243, 243, .80);\\r\\n padding: 7px;\\r\\n }\\r\\n.custom-card,\\r\\n .mat-card{\\r\\n /* font-family: 'Raleway', sans-serif !important; */\\r\\n }\\r\\n.mat-card-content p{\\r\\n font-size: 17px;\\r\\n }\\r\\n.alrmng-symp ul{\\r\\n padding-left: 18px;\\r\\n list-style: circle;\\r\\n font-size: 16px;\\r\\n }\\r\\n#contentToConvert{\\r\\n margin-bottom: 70px;\\r\\n }\\r\\n#contentToConvert ul{\\r\\n padding-left: 10px;\\r\\n list-style: circle;\\r\\n font-size: 16px;\\r\\n }\\r\\n.mat-primary{\\r\\n font-size: 16px;\\r\\n }\\r\\n.mb10{margin-bottom: 10px;}\\r\\n.consult-btn{\\r\\n margin-top: 15px;\\r\\n height: 50px !important;\\r\\n min-width: 270px;\\r\\n margin-bottom: 15px;\\r\\n font-size: 20px;\\r\\n letter-spacing: 1px;\\r\\n font-weight: 500;\\r\\n }\\r\\n.custom-card-header{\\r\\n margin: 0 auto;\\r\\n }\\r\\n.custom-card-header .mat-card{\\r\\n border-left: 4px solid #01385f !important;\\r\\n margin:40px 0;\\r\\n }\\r\\n.custom-card .mat-card{\\r\\n padding:25px 15px;\\r\\n }\\r\\n.mat-raised-button:not([class*=mat-elevation-z]){\\r\\n box-shadow: none;\\r\\n height: 42px;\\r\\n }\\r\\n.btn-group{\\r\\n position: absolute;\\r\\n bottom: 25px;\\r\\n left: 25px;\\r\\n }\\r\\n.covid-consult{\\r\\n padding: 15px;\\r\\n }\\r\\n.covid-consult .col-lg-12 p{\\r\\n font-weight: 500;\\r\\n font-size: 18px;\\r\\n background-color: rgba(243, 243, 243, .80);\\r\\n padding: 6px 10px;\\r\\n margin-top: 15px;\\r\\n }\\r\\n.covid-consult .mat-radio-button{\\r\\n padding:10px 20px 5px 10px;\\r\\n margin-bottom: 4px;\\r\\n \\r\\n }\\r\\n.covid-consult .mat-radio-group{\\r\\n flex-flow: initial;\\r\\n font-size: 16px;\\r\\n text-transform: capitalize;\\r\\n display: block;\\r\\n }\\r\\n.dblock{display: block!Important;}\\r\\n.covid-report h2{\\r\\n background-color: #efefef;\\r\\n padding: 10px;\\r\\n color: #01385f;\\r\\n font-size: 22px;\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n.covid-report h4{\\r\\n font-size: 20px;\\r\\n margin: 20px 0;\\r\\n font-weight: 600;\\r\\n color: #01385f;\\r\\n }\\r\\n.symptom-report{\\r\\n display: block;\\r\\n height: 70vh;\\r\\n overflow: auto;\\r\\n padding: 0 15px;\\r\\n }\\r\\n.symptom-report p, .symptom-report ul li{\\r\\n font-size: 17px;\\r\\n }\\r\\n.fw-600{\\r\\n font-weight: 600;\\r\\n }\\r\\n.fw-500{\\r\\n font-weight: 500;\\r\\n }\\r\\n.pd-cstm{\\r\\n padding: 12px 15px;\\r\\n font-weight: 600;\\r\\n }\\r\\n.custom_modal .pd-0{\\r\\n padding: 0 !important;\\r\\n }\\r\\n@media (max-width: 991px) {\\r\\n .circle_loader.page_loader {\\r\\n left: 0px;\\r\\n right: 0px;\\r\\n }\\r\\n }\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Symptom Checker Report

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
Reported symptoms
\\r\\n \\r\\n
    \\r\\n
  • {{r}}\\r\\n
  • \\r\\n
\\r\\n \\r\\n
Other symptoms
\\r\\n

0\\\">Present:

\\r\\n
    \\r\\n
  • {{p}}\\r\\n\\r\\n
  • \\r\\n
\\r\\n

0\\\">Absent:

\\r\\n
    \\r\\n
  • {{a}}\\r\\n\\r\\n
  • \\r\\n
\\r\\n

0\\\">Unknown:

\\r\\n
    \\r\\n
  • {{u}}\\r\\n\\r\\n
  • \\r\\n
\\r\\n
Possible Conditions:
\\r\\n

{{c}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit,Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { map } from 'rxjs/operators';\r\nimport { CommonService } from \"./../../platform/modules/core/services\";\r\nimport {ViewReportService} from './view-report.service'\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: 'app-view-report',\r\n templateUrl: './view-report.component.html',\r\n styleUrls: ['./view-report.component.css']\r\n})\r\nexport class ViewReportComponent implements OnInit {\r\nreportId:any;\r\nresult:any;\r\n constructor(\r\n public dialogPopup: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private commonService: CommonService,\r\n private viewReportService :ViewReportService,\r\n private translate:TranslateService\r\n ) { \r\n translate.setDefaultLang( localStorage.getItem(\"language\"));\r\n translate.use(localStorage.getItem(\"language\"));\r\n this.reportId = data;\r\n \r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.getReport();\r\n }\r\n \r\n onClose() {\r\n this.dialogPopup.close();\r\n }\r\n\r\n getReport()\r\n {\r\n \r\n this.viewReportService.getReport(this.reportId).pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n //////;\r\n this.result=resp;\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { CommonService } from \"./../../platform/modules/core/services\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ViewReportService {\r\n private GetSymptomateReportByIdURl = \"payers/GetSymptomateReportById\";\r\n\r\n\r\n\r\n\r\n\r\n constructor(private commonService: CommonService) { }\r\n getReport(id: any) {\r\n let url = `${this.GetSymptomateReportByIdURl}/${id}`;\r\n return this.commonService.getAll(url, {})\r\n .pipe(map(x => {\r\n return x.data;\r\n }));\r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { SubDomainService } from './subDomain.service';\r\n\r\n@Injectable()\r\nexport class SubDomainGuard implements CanActivate {\r\n constructor(private router: Router,\r\n private subDomainService: SubDomainService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n if (this.subDomainService.getSubDomainUrl()) {\r\n return true;\r\n }\r\n \r\n this.router.navigate(['/webadmin']);\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable, Subject, ReplaySubject, BehaviorSubject } from \"rxjs\";\r\nimport { environment } from \"../environments/environment\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class SubDomainService {\r\n private subject = new BehaviorSubject(null);\r\n subjectlogo = new BehaviorSubject(false);\r\n constructor(private http: HttpClient) {}\r\n\r\n // getSubDomainUrl() {\r\n // let hostName = window.location.host;\r\n // let subdomain = null;\r\n // // @if running on localhost or (34.211.31.84:8017) server\r\n\r\n // if (\r\n // hostName === \"localhost:4200\" ||\r\n // hostName === \"mscore.stagingsdei.com:9608\" || hostName === \"www.corvushealthrec.com\"\r\n // ) {\r\n // hostName = \"Vedus\";\r\n // }\r\n\r\n\r\n // subdomain = hostName;\r\n\r\n // return subdomain;\r\n // }\r\n // Use this for local\r\n getSubDomainUrl() {\r\n let hostName = window.location.host;\r\n let fullUrlName = window.location.href;\r\n let subdomain = null;\r\n // // @if running on localhost or (34.211.31.84:8017) server\r\n if (hostName === 'localhost:4200' || hostName === '34.211.31.84:8092' || hostName === '34.211.31.84:8093') {\r\n\r\n if (fullUrlName.includes('localhost:4200/webadmin') || fullUrlName.includes('34.211.31.84:8092/webadmin') || fullUrlName.includes('34.211.31.84:8093/webadmin'))\r\n hostName = '';\r\n else\r\n // hostName = 'lnc.smarthealth.net.in'; \r\n hostName = 'mscore.stagingsdei.com:9610';\r\n // hostName = 'staging-beacon.smarthealth.net.in';\r\n }\r\n const splitHostName = hostName.split('.');\r\n if (splitHostName.length >= 3) {\r\n subdomain = splitHostName[0];\r\n }\r\n // return subdomain;\r\n return \"myhealthygate\";\r\n }\r\n //Use this for staging\r\n //getSubDomainUrl() {\r\n // let hostName = window.location.host;\r\n // let fullUrlName = window.location.href;\r\n // let subdomain = null;\r\n // const splitHostName = hostName.split('.');\r\n // if (splitHostName.length >= 3) {\r\n // subdomain = splitHostName[0];\r\n // if (subdomain == 'staging-app')\r\n // subdomain = '';\r\n // }\r\n // return subdomain;\r\n //}\r\n ///Use this for production\r\n // getSubDomainUrl() {\r\n // let hostName = window.location.host;\r\n // let fullUrlName = window.location.href;\r\n // let subdomain = null;\r\n // const splitHostName = hostName.split('.');\r\n // if (splitHostName.length >= 3) {\r\n // subdomain = splitHostName[0];\r\n // if (subdomain == 'app')\r\n // subdomain = '';\r\n // }\r\n // return subdomain;\r\n // }\r\n\r\n getSubDomainInfo(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n\r\n setupVerifyBusinessResponse(response:any){\r\n if (response.statusCode === 200) {\r\n localStorage.setItem(\"business_token\", response.data.businessToken);\r\n sessionStorage.setItem(\"logo\",\"data:image/png;base64,\" +response.data.organization.logoBase64)\r\n sessionStorage.setItem(\"businessName\",response.data.organization.businessName)\r\n\r\n \r\n setTimeout(() => {\r\n this.subjectlogo.next(true);\r\n }, 500);\r\n \r\n this.subject.next({ ...response.data });\r\n \r\n } else {\r\n localStorage.removeItem(\"business_token\");\r\n this.subject.next(null);\r\n }\r\n }\r\n verifyBusinessName(domainName: string) {\r\n return this.http\r\n .get(\r\n `${environment.api_url}/VerifyBusinessName?BusinessName=${domainName}`\r\n )\r\n .pipe(\r\n map(response => {\r\n if (response.statusCode === 200) {\r\n localStorage.setItem(\"business_token\", response.data.businessToken);\r\n sessionStorage.setItem(\"logo\",\"data:image/png;base64,\" +response.data.organization.logoBase64)\r\n sessionStorage.setItem(\"businessName\",response.data.organization.businessName)\r\n\r\n \r\n setTimeout(() => {\r\n this.subjectlogo.next(true);\r\n }, 500);\r\n \r\n this.subject.next({ ...response.data });\r\n \r\n } else {\r\n localStorage.removeItem(\"business_token\");\r\n this.subject.next(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n updateFavicon(faviconUrl: string) {\r\n let link: any =\r\n document.querySelector(\"link[rel*='icon']\") ||\r\n document.createElement(\"link\");\r\n link.type = \"image/x-icon\";\r\n link.rel = \"shortcut icon\";\r\n link.href = faviconUrl;\r\n document.getElementsByTagName(\"head\")[0].appendChild(link);\r\n }\r\n}\r\n","export class FilterModel\r\n{\r\n pageNumber:number=1;\r\n pageSize:number=5;\r\n sortColumn:string='';\r\n sortOrder:string='';\r\n searchText:string=''\r\n\r\n}\r\n\r\nexport class SuperAdminGetPatientsRequest extends FilterModel{\r\n isFromSuperAdmin:boolean=false;\r\n}\r\n\r\nexport class GetTicketRequestModel extends FilterModel {\r\n fromDate?: string;\r\n toDate?: string;\r\n}\r\nexport class ResponseModel\r\n{\r\n data:any=[];\r\n statusCode:number;\r\n message:string=''\r\n appError:string=''\r\n meta : Metadata\r\n}\r\nexport class Metadata\r\n{\r\n totalRecords:number\r\n currentPage:number\r\n pageSize :number\r\n defaultPageSize :number\r\n totalPages :number\r\n pageSizeOptions:number[] = []\r\n}\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { BehaviorSubject, ReplaySubject, Observable, throwError } from \"rxjs\";\r\nimport { catchError, distinctUntilChanged, map } from \"rxjs/operators\";\r\nimport { LoginUser } from \"../modals/loginUser.modal\";\r\nimport { environment } from \"../../../../environments/environment\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\n@Injectable()\r\nexport class CommonService {\r\n private SytemInfoSubject = new BehaviorSubject({});\r\n public sytemInfo = this.SytemInfoSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n public loginUserSubject = new BehaviorSubject({} as LoginUser);\r\n public loginUser = this.loginUserSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n public loginSecuritySubject = new BehaviorSubject({} as object);\r\n public loginSecurity = this.loginSecuritySubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n private isAuthenticatedSubject = new ReplaySubject(1);\r\n public isAuthenticated = this.isAuthenticatedSubject.asObservable();\r\n\r\n private loadingStateSubject = new BehaviorSubject(false);\r\n public loadingState = this.loadingStateSubject.asObservable();\r\n\r\n // for update the client side navigations ...\r\n private updateClientNavigationSubject = new BehaviorSubject<\r\n any\r\n >(null as number);\r\n public updateClientNavigation = this.updateClientNavigationSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n constructor(private http: HttpClient, private SpinnerService: NgxSpinnerService) {\r\n SystemIpAddress.then(value => {\r\n this.SytemInfoSubject.next({ ipAddress: value });\r\n }).catch(e =>\r\n // console.error(e)\r\n {});\r\n }\r\n setLoadinState(isLoading: boolean = false) {\r\n this.loadingStateSubject.next(isLoading);\r\n }\r\n initializeAuthData() {\r\n if (localStorage.getItem(\"super-user-token\")) {\r\n return this.http\r\n .get(`${environment.api_url}/GetUserByToken`)\r\n .subscribe(response => {\r\n // login successful if there's a jwt token in the response\r\n if (response && response.access_token) {\r\n this.setAuth(response);\r\n } else {\r\n // this.purgeAuth();\r\n }\r\n return response;\r\n });\r\n }\r\n }\r\n isValidFileType(fileName, fileType): boolean {\r\n // Create an object for all extension lists\r\n let extentionLists = { video: [], image: [], pdf: [], excel: [], xml: [] };\r\n let isValidType = false;\r\n extentionLists.video = [\"m4v\", \"avi\", \"mpg\", \"mp4\"];\r\n extentionLists.image = [\"jpg\", \"jpeg\", \"bmp\", \"png\", \"ico\"];\r\n extentionLists.pdf = [\"pdf\"];\r\n extentionLists.excel = [\"excel\"];\r\n extentionLists.xml = [\"xml\"];\r\n //get the extension of the selected file.\r\n let fileExtension = fileName\r\n .split(\".\")\r\n .pop()\r\n .toLowerCase();\r\n isValidType = extentionLists[fileType].indexOf(fileExtension) > -1;\r\n return isValidType;\r\n }\r\n logout() {\r\n // remove user from local storage to log user out\r\n this.purgeAuth();\r\n }\r\n\r\n setAuth(user: LoginUser) {\r\n localStorage.setItem(\"super-user-token\", JSON.stringify(user.access_token));\r\n if(user.refresh_token){\r\n localStorage.setItem(\"super-refresh-token\", JSON.stringify(user.refresh_token));\r\n }\r\n // console.log(\"setAuth\", user)\r\n // Set current user data into observable\r\n this.loginUserSubject.next(user);\r\n // Set isAuthenticated to true\r\n this.isAuthenticatedSubject.next(true);\r\n }\r\n\r\n purgeAuth() {\r\n localStorage.removeItem(\"super-user-token\");\r\n localStorage.removeItem(\"super-refresh-token\");\r\n // Set current user to an empty object\r\n this.loginUserSubject.next({} as LoginUser);\r\n // Set auth status to false\r\n this.isAuthenticatedSubject.next(false);\r\n localStorage.clear();\r\n }\r\n\r\n getLoginUserInfo(): LoginUser {\r\n return this.loginUserSubject.value;\r\n }\r\n\r\n getCurrentLoginLocationId(): string {\r\n let locationId: string = \"\";\r\n const loginData: LoginUser = this.loginUserSubject.value;\r\n if (loginData && loginData.data) {\r\n locationId =\r\n loginData.data.staffLocation[0] &&\r\n loginData.data.staffLocation[0].locationID;\r\n }\r\n return locationId.toString();\r\n }\r\n\r\n getSystemIpAddress(): string {\r\n return this.SytemInfoSubject.value && this.SytemInfoSubject.value.ipAddress;\r\n }\r\n\r\n updateClientNaviagations(clientId: number) {\r\n this.updateClientNavigationSubject.next(clientId);\r\n }\r\n\r\n get getAdditionalHeaders(): string {\r\n // const additionalHeaders = JSON.stringify({\r\n // Offset: new Date().getTimezoneOffset().toString(),\r\n // Timezone: calculateTimeZone(),\r\n // IPAddress: this.getSystemIpAddress()\r\n // });\r\n const additionalHeaders = JSON.stringify({\r\n Offset: new Date().getTimezoneOffset().toString(),\r\n Timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\r\n IPAddress: this.getSystemIpAddress()\r\n });\r\n return additionalHeaders;\r\n }\r\n\r\n post(url, data): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders\r\n });\r\n return this.http.post(`${environment.api_url}/${url}`, data, {\r\n headers: headers\r\n });\r\n }\r\n\r\n put(url, data): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders\r\n });\r\n return this.http.put(`${environment.api_url}/${url}`, data, {\r\n headers: headers\r\n });\r\n }\r\n\r\n getById(url, data): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders\r\n });\r\n this.SpinnerService.show();\r\n this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(`${environment.api_url}/${url}`, { headers: headers })\r\n .pipe(\r\n map(res => {\r\n this.loadingStateSubject.next(false);\r\n this.SpinnerService.hide();\r\n\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getAll(url, data): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders\r\n });\r\n this.SpinnerService.show();\r\n this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(`${environment.api_url}/${url}`, { headers: headers })\r\n .pipe(\r\n map(res => {\r\n this.loadingStateSubject.next(false);\r\n this.SpinnerService.hide();\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getAllNotification(url, data, isLoading: boolean = true): Observable {\r\n // this.SpinnerService.show();\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(`${environment.api_url}/${url}`, { headers: headers })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n // this.SpinnerService.hide();\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n postWithNoLoader(url, data, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n /*if(isLoading){\r\n this.SpinnerService.show();\r\n isLoading && this.loadingStateSubject.next(true);\r\n }*/\r\n\r\n return this.http\r\n .post(`${environment.api_url}/${url}`, data, { headers: headers })\r\n .pipe(\r\n map((res) => {\r\n /* if(isLoading){\r\n isLoading && this.loadingStateSubject.next(false);\r\n this.SpinnerService.hide();\r\n }*/\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n // delete(url, data): Observable {\r\n // const headers = new HttpHeaders({\r\n // additionalHeaders: this.getAdditionalHeaders\r\n // });\r\n // return this.http.delete(`${environment.api_url}/${url}`, {\r\n // headers: headers\r\n // });\r\n // }\r\n // patch(url, data): Observable {\r\n // const headers = new HttpHeaders({\r\n // additionalHeaders: this.getAdditionalHeaders\r\n // });\r\n // this.SpinnerService.show();\r\n // this.loadingStateSubject.next(true);\r\n // return this.http\r\n // .patch(`${environment.api_url}/${url}`, data, { headers: headers })\r\n // .pipe(\r\n // map(res => {\r\n // this.loadingStateSubject.next(false);\r\n // this.SpinnerService.hide();\r\n // return res;\r\n // })\r\n // );\r\n // }\r\n\r\n download(url, headers): Observable {\r\n return this.http.get(`${environment.api_url}/${url}`, {\r\n headers: headers,\r\n responseType: \"blob\"\r\n });\r\n }\r\n\r\n downloadWithPost(url, data, headers): Observable {\r\n return this.http.post(`${environment.api_url}/${url}`, data, {\r\n headers: headers,\r\n responseType: \"blob\",\r\n })\r\n .pipe(\r\n catchError(error => {\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n \r\n downLoadFile(blob: Blob, filetype: string, filename: string) {\r\n var newBlob = new Blob([blob], { type: filetype });\r\n const nav = (window.navigator as any)\r\n if (nav && nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement('a');\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(function () {\r\n\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n\r\n}\r\n\r\nconst SystemIpAddress = new Promise(r => {\r\n const w: any = window,\r\n a = new (w.RTCPeerConnection ||\r\n w.mozRTCPeerConnection ||\r\n w.webkitRTCPeerConnection)({ iceServers: [] }),\r\n b = () => { };\r\n a.createDataChannel(\"\");\r\n a.createOffer(c => a.setLocalDescription(c, b, b), b);\r\n a.onicecandidate = c => {\r\n try {\r\n c.candidate.candidate\r\n .match(\r\n /([0-9]{1,3}(\\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g\r\n )\r\n .forEach(r);\r\n } catch (e) { }\r\n };\r\n});\r\n\r\nfunction calculateTimeZone(dateInput?: Date): string {\r\n var dateObject = dateInput || new Date(),\r\n dateString = dateObject + \"\",\r\n tzAbbr: any =\r\n // Works for the majority of modern browsers\r\n dateString.match(/\\(([^\\)]+)\\)$/) ||\r\n // IE outputs date strings in a different format:\r\n dateString.match(/([A-Z]+) [\\d]{4}$/);\r\n\r\n if (tzAbbr) {\r\n // Old Firefox uses the long timezone name (e.g., \"Central\r\n // Daylight Time\" instead of \"CDT\")\r\n tzAbbr = tzAbbr[1];\r\n }\r\n return tzAbbr;\r\n}","export * from './common.service';\r\nexport * from './layout.service';\r\n","import { Injectable } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material';\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n private sidenav: MatSidenav;\r\n private clientDrawer: MatSidenav;\r\n\r\n\r\n public setSidenav(sidenav: MatSidenav) {\r\n this.sidenav = sidenav;\r\n }\r\n\r\n public setClientDrawer(clientDrawer: MatSidenav) {\r\n this.clientDrawer = clientDrawer;\r\n }\r\n\r\n public toggleClientDrawer(toggle?: boolean) {\r\n this.clientDrawer.toggle(toggle);\r\n }\r\n\r\n public open() {\r\n return this.sidenav.open();\r\n }\r\n\r\n\r\n public close() {\r\n return this.sidenav.close();\r\n }\r\n\r\n public toggle(): void {\r\n this.sidenav.toggle();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { FilterModel } from \"../core/modals/common-model\";\r\nimport { CommonService } from \"../core/services/common.service\";\r\nimport { ProviderModel, StaffApproveStatusModel } from \"./provider-model.model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ManageProvidersService {\r\n getAllURL: string = \"Staffs/GetAllProviders\";\r\n getTopProviderURL: string = \"Staffs/GetTopProviders\";\r\n updateStatusURL: string = \"Staffs/UpdateProviderIsApproveStatus\";\r\n updateProviderURL: string = \"Staffs/UpdateTopProvider\";\r\n SuperAdminActionURL: string = \"Staffs/SuperAdminAction\";\r\n constructor(private commonService: CommonService) {}\r\n getAllProviders(filterModel: FilterModel,isApprove:any, isBlock:any,isActive:any) {\r\n let url: string = `${this.getAllURL}?pageNumber=${filterModel.pageNumber}&pageSize=${filterModel.pageSize}&sortColumn=${filterModel.sortColumn}&sortOrder=${filterModel.sortOrder}&searchText=${filterModel.searchText}&isAprove=${isApprove}&isBlock=${isBlock}&isActive=${isActive}`;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getTopProviders(filterModel: FilterModel) {\r\n let url: string = `${this.getTopProviderURL}?pageNumber=${filterModel.pageNumber}&pageSize=${filterModel.pageSize}&sortColumn=${filterModel.sortColumn}&sortOrder=${filterModel.sortOrder}&searchText=${filterModel.searchText}`;\r\n return this.commonService.getAll(url, {});\r\n }\r\n updateProviderIsApproveStatus(providerModel: StaffApproveStatusModel) {\r\n return this.commonService.post(this.updateStatusURL, providerModel);\r\n }\r\n updateTopProviders(providerModel: any) {\r\n return this.commonService.post(this.updateProviderURL, providerModel);\r\n }\r\n\r\n superAdminActionOnUser=(data)=>{\r\n return this.commonService.post(this.SuperAdminActionURL,data);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from '../../core/services/common.service';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class SuperadminRaiseticketService {\r\n constructor(private commonService: CommonService) {}\r\n\r\n \r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{\\\"Status\\\"|translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n {{\\\"Pending\\\"|translate}}\\r\\n {{\\\"In Progress\\\"|translate}}\\r\\n {{\\\"Resolved\\\"|translate}}\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\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, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { GetRaisedTicketByIdResponceModel, Ticket } from 'src/app/platform/modules/client-portal/client-profile.model';\r\nimport { UpdateTicketComponent } from 'src/app/shared/raise-ticket/update-ticket/update-ticket.component';\r\n\r\n@Component({\r\n selector: 'app-superadminupdateraiseticket',\r\n templateUrl: './superadminupdateraiseticket.component.html',\r\n styleUrls: ['./superadminupdateraiseticket.component.css']\r\n})\r\nexport class SuperadminupdateraiseticketComponent implements OnInit {\r\n\r\n ticketForm: FormGroup;\r\n\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n @Inject(MAT_DIALOG_DATA) public data: { Ticket: GetRaisedTicketByIdResponceModel },\r\n private ref: MatDialogRef,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.initializeForm(this.data.Ticket);\r\n \r\n }\r\n\r\n initializeForm(ticket: GetRaisedTicketByIdResponceModel): void {\r\n this.ticketForm = this.fb.group({\r\n id: [ticket.ticketId],\r\n \r\n remarks: [ticket.remarks],\r\n status: [ticket.status],\r\n \r\n });\r\n }\r\n onSubmit(event: Event): void {\r\n if (this.ticketForm.valid) {\r\n const updatedTicket: GetRaisedTicketByIdResponceModel = { ...this.data.Ticket, ...this.ticketForm.value };\r\n \r\n // console.log('Updated Ticket:', updatedTicket);\r\n this.ref.close(updatedTicket);\r\n } else {\r\n alert('Form is invalid.');\r\n }\r\n }\r\n\r\n \r\n closeDialog(type) {\r\n\r\n this.ref.close();\r\n }\r\n\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: true,\r\n // Change API uRL\r\n // api_url: \"https://ms.stagingsdei.com:9255\" //local\r\n // api_url:\"http://localhost:51269\"\r\n api_url: \"https://myhealthygate.com:4433\" //production\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\r\n"],"sourceRoot":""}